优惠券制作和分配

一、制作:

import java.math.BigDecimal;
import java.util.Date;/*** 优惠券详细信息* @author hzh**/
public class CouponDetail {//优惠券类型IDprivate int typeId;//优惠劵面值private BigDecimal faceValue ;//优惠券名称private String couponName ;//数据库时间歘private Date timestamp ;public int getTypeId() {return typeId;}public void setTypeId(int typeId) {this.typeId = typeId;}public BigDecimal getFaceValue() {return faceValue;}public void setFaceValue(BigDecimal faceValue) {this.faceValue = faceValue;}public String getCouponName() {return couponName;}public void setCouponName(String couponName) {this.couponName = couponName;}public Date getTimestamp() {return timestamp;}public void setTimestamp(Date timestamp) {this.timestamp = timestamp;}}
/*** 优惠券* @author hzh**/public class Coupon {//优惠劵IDprivate Long couponId;//优惠劵面值private BigDecimal faceValue ;//制作人IDprivate Long founderId ;//分配人IDprivate Long assignerId ;//用户IDprivate Long userId ;//优惠劵类型private int couponType ;//制作时间private Date createDate ; //分配时间private Date assignDate ;//状态private int status ;//使用此优惠劵的交易IDprivate long employId ;//使用时间private Date employDate ;//数据库时间戳private Date timestamp ;/*** 后台到页面* *///制作人用户名private String createUserName ;//分配人用户名private String assignUserName;//被分配用户名private String userName ;//优惠劵名称private String couponName ;//数量private long number ;//可抵消总金额private BigDecimal totalFee ;public BigDecimal getTotalFee() {return faceValue.multiply(BigDecimal.valueOf(number));}public void setTotalFee(BigDecimal totalFee) {this.totalFee = totalFee;}public Long getCouponId() {return couponId;}public void setCouponId(Long couponId) {this.couponId = couponId;}public BigDecimal getFaceValue() {return faceValue;}public void setFaceValue(BigDecimal faceValue) {this.faceValue = faceValue;}public Long getFounderId() {return founderId;}public void setFounderId(Long founderId) {this.founderId = founderId;}public Long getAssignerId() {return assignerId;}public void setAssignerId(Long assignerId) {this.assignerId = assignerId;}public Long getUserId() {return userId;}public void setUserId(Long userId) {this.userId = userId;}public int getCouponType() {return couponType;}public void setCouponType(int couponType) {this.couponType = couponType;}public Date getCreateDate() {return createDate;}public void setCreateDate(Date createDate) {this.createDate = createDate;}public Date getAssignDate() {return assignDate;}public void setAssignDate(Date assignDate) {this.assignDate = assignDate;}public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}public Date getTimestamp() {return timestamp;}public void setTimestamp(Date timestamp) {this.timestamp = timestamp;}public String getCreateUserName() {return createUserName;}public void setCreateUserName(String createUserName) {this.createUserName = createUserName;}public String getAssignUserName() {return assignUserName;}public void setAssignUserName(String assignUserName) {this.assignUserName = assignUserName;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getCouponName() {return couponName;}public void setCouponName(String couponName) {this.couponName = couponName;}public long getNumber() {return number;}public void setNumber(long number) {this.number = number;}public long getEmployId() {return employId;}public void setEmployId(long employId) {this.employId = employId;}public Date getEmployDate() {return employDate;}public void setEmployDate(Date employDate) {this.employDate = employDate;}}
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;import cn.company.bbd.account.model.Coupon;
import cn.company.bbd.account.model.CouponDetail;
import cn.company.bbd.account.model.BasicUser;@Controller("CreateCouponBean")
@Scope("session")
public class CreateCouponController implements Serializable {/*** */private static final Logger log = Logger.getLogger(CreateCouponController.class);//管理员private BasicUser user ;// 优惠劵所有类型private List<CouponDetail> list;// 选择的优惠劵private Coupon coupon = new Coupon();//需制作的优惠劵private List<Coupon> couponList = new ArrayList<Coupon>();// 制作张数private int number;@Autowired(required = true)@Qualifier("UserAuthenticationService")private UserAuthenticationService UserAuthenticationService;@Autowired(required = true)@Qualifier("AccountService")private AccountService accountService;@Autowired(required = true)@Qualifier("IdService")private IdService idService;public CreateCouponController() {log.debug("CreateCouponController constructed!");}public String submit() {if(validate()){if(null != getList()){for(CouponDetail cd : list){if(cd.getTypeId() == coupon.getCouponType()){for (int i = 0; i < number; i++) {Coupon c = new Coupon();c.setCouponId(IdKit.generateCouponId());c.setFaceValue(cd.getFaceValue());c.setFounderId(getUser().getUserId());c.setCouponType(coupon.getCouponType());c.setCreateDate(new Date());c.setStatus(AccountConstant.COUPON_STATUS_CREATED);couponList.add(c);}}}accountService.createCoupon(couponList);number = 0 ;couponList = new ArrayList<Coupon>();return PageConstant.PG_COUPON_MANAGE;}}return "";}private boolean validate() {if (0 == number) {FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, MessageKit.getMessage("error_coupon_numberNull"), ""));return false;}else if(!RegexKit.patternTest(SecurityConstant.REGEX_PROFILE_NUMBER, String.valueOf(number))){FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, MessageKit.getMessage("error_coupon_number"), ""));return false;}return true ;}public List<CouponDetail> getList() {list = null ;if(null == list){list = accountService.queryAllCouponDetail(); }return list ;}public BasicUser getUser() {if(null == user){user = UserAuthenticationService.getCurrentUser();}return user;}public void setCoupon(Coupon coupon) {this.coupon = coupon;}public Coupon getCoupon() {return coupon;}public void setNumber(int number) {this.number = number;}public int getNumber() {return number;}}


优惠券制作和分配(含代码)相关推荐

  1. 无人机航拍图像匹配——SIFT算法实践(含代码)

    无人机航拍图像匹配--SIFT算法实践(含代码) 一.摘要 二.SIFT算法的原理 1.尺度空间极值检测 &关键点定位 尺度不变性&尺度空间 高斯金字塔 2.方向分配 3.特征描述 4 ...

  2. 50种Matplotlib科研论文绘图合集,含代码实现

    本文分享了50个令人眼前一亮的Matplotlib可视化项图表,每个图表都有其相应的生成代码,并将它们分为了关联.偏差.排序.分布.组成.变化.分组等7个类别,是科研作图时很好的参考. 本文由lqy上 ...

  3. uniapp、uniCloud实现微信公众号自动查询淘宝京东优惠券制作过程

    uniapp.uniCloud实现微信公众号自动查询淘宝京东优惠券制作过程 微信公众号自动查询淘宝京东优惠券机器人制作教程.服务器通过uniapp提供的uniCloud云服务搭建,建议使用阿里云,不要 ...

  4. FPGA——SPI总线控制flash(3)含代码

    前面几篇详细 介绍了SPI的原理,并且实现了对flash芯片的写使能,读状态,擦除,页读,页写 ​​​​​​FPGA--SPI总线详解(概念)_居安士的博客-CSDN博客_fpga芯片 FPGA--S ...

  5. 北邮计算机实习网络爬虫设计报告,北邮计算机实习报告(含代码).doc

    北邮计算机实习报告(含代码) 计算机实习报告 学院: 班级: 学号 序号: 姓名: 目录 一.魔方阵4 1.实验要求4 2.设计4 3.流程图4 4.功能实现5 5.应用5 6.界面5 二.动画设计6 ...

  6. plc变频器c语言,如何通过PLC控制变频器进行电机转速控制,含代码!

    原标题:如何通过PLC控制变频器进行电机转速控制,含代码! 一.项目描述 按下电动机启动按钮,电动机启动运行在5Hz所对应的转速:延时10s后,电动机升速运行在10Hz对应的转速,再延时10s后,电动 ...

  7. 【03】Unity AR 2022Vuforia图片识别超详细案例(小岛动画交互)【含代码】

    Unity AR Vuforia(拓展)--Vuforia图片识别超详细案例(小岛动画交互)[含代码] 文章目录 Unity AR Vuforia(拓展)--Vuforia图片识别超详细案例(小岛动画 ...

  8. 前端实现红包雨功能_最全解密微信红包随机算法(含代码实现)

    code小生 一个专注大前端领域的技术平台公众号回复 Android加入安卓技术群 "  1.引言 这个系列文章已经整理了10篇,但都没有涉及到具体的红包算法实现,主要有以下两方面原因.一方 ...

  9. [嵌入式er笔记]大端小端详解(含代码及详细注释)

    link 之前文章< 浅谈ARM ABI,Android ABI >中有提到计划专门一篇文章讲下大小端,今天兑现一下. 1>"大端" "小端" ...

最新文章

  1. 云时代架构阅读笔记二——一次CPU负载超高的分析
  2. GARFIELD@11-07-2004
  3. 为什么说特斯拉在自动驾驶上比Waymo更占优势
  4. Qt使用教程:使用Qt Quick UI表单(五)
  5. Android Studio 版本号详解
  6. LeetCode 93. 复原IP地址(回溯)
  7. vue 页面不置顶问题(页面内操作、页面跳转后) - 集合篇
  8. Synchronous Bidirectional Inference for Neural Sequence Generation
  9. CASS9.1计算土方量实例
  10. 部署jar包项目到服务器上
  11. 实变函数与泛函数分析学习笔记(三):有界线性算子
  12. Windows系统下输入法变为繁体字
  13. 数据分析之学术前沿分析- 任务2
  14. 报错Minimum supported Gradle version is 4.4. Current version is 4.0.
  15. 智慧点餐系统多方面优化餐厅运作效率
  16. python的占位符%d %i %.nf %s
  17. 前端页面中iOS版微信长按识别二维码的bug与解决方案
  18. 基于智慧灯杆的行人检测与识别
  19. OpenCV-Python图像的加法运算cv2.add函数详解
  20. nonebot2——表情包生成插件升级版

热门文章

  1. 系统集成项目管理工程师-法律法规与标准规范
  2. Qt 周立功can二次开发
  3. 2020ciscn 部分二进制WP(持续更新)
  4. 【网关】什么是网关、网桥和交换机(集线器、网桥、交换机、路由器、网关大解析)
  5. JSON parse error: Unrecognized field “abc“ (class cn.kk.xxxDto), not marked as ignorable;
  6. 【Python编程】三步完成如何从视频中提取音频?
  7. SyntaxError: can't assign to operator
  8. vue之ele组件中input表单限制输入字符
  9. Java基础(五):Java数组声明与初始化
  10. 免费SVN、Git项目托管主机及网站介绍