From 5e353f2d531c0d656aec44b98458b8a9a85ada2d Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 17 Dec 2018 22:51:28 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=82=A8=E5=80=BC=E5=8D=A1][=E6=96=B0?= =?UTF-8?q?=E5=A2=9E]:C=E7=AB=AF=E5=8D=A1=E5=8C=85=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=8F=8A=E5=8D=A1=E5=8C=85=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponOrderController.java | 35 +++- .../com/iformall/domain/po/WxCouponOrder.java | 28 +-- .../com/iformall/domain/vo/WxCardCVo.java | 176 ++++++++++++++++++ .../iformall/mapper/WxCouponOrderMapper.java | 3 +- .../service/WxCouponOrderService.java | 15 +- .../impl/WxCouponOrderServiceImpl.java | 21 ++- .../service/impl/WxOrderServiceImpl.java | 6 +- .../resources/mapper/WxCardSpendMapper.xml | 3 - .../resources/mapper/WxCouponOrderMapper.xml | 99 ++++++++-- 9 files changed, 325 insertions(+), 61 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index f17777179..a47ddf55e 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -3,6 +3,7 @@ package com.iformall.controller; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.WxCouponOrder; +import com.iformall.domain.vo.WxCardCVo; import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.enums.EnumCouponOrderStatus; import com.iformall.service.WxCouponOrderService; @@ -52,7 +53,7 @@ public class WxCouponOrderController extends BaseController { return wxCouponOrderService.listCUserVoAsPage(wxCouponOrder, pageNum, pageSize); } - @ApiOperation(value = "卡券详情接口") + @ApiOperation(value = "券详情接口") @GetMapping("detail") @ApiImplicitParams({ @ApiImplicitParam(name = "couponOrderId", value = "券ID", dataType = "string", paramType = "query", required = true) @@ -91,19 +92,33 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), }) - public ResultData cardList(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { + public ResultData cardList(@ModelAttribute WxCardCVo cardCVo, Integer pageNum, Integer pageSize) { if (pageNum == null || pageSize == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCVo(); - wxCouponOrder.setCUserId(getUser().getId()); - if (wxCouponOrder.getCouponOrderStatus() == null) - wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); - else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) - wxCouponOrder.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); + if (cardCVo == null) cardCVo = new WxCardCVo(); + cardCVo.setOwnerId(getUserId()); + if (cardCVo.getCouponOrderStatus() == null) + cardCVo.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); + else if (cardCVo.getCouponOrderStatus() == EnumCouponOrderStatus.CARD_USING.getCode()) + cardCVo.setSortColumns(WxCouponOrder.Field.CreateDate_DESC); else - wxCouponOrder.setSortColumns(WxCouponOrder.Field.UpdateDate_DESC); - return wxCouponOrderService.listCUserVoAsPage(wxCouponOrder, pageNum, pageSize); + cardCVo.setSortColumns(WxCouponOrder.Field.UpdateDate_DESC); + return wxCouponOrderService.listCardVoAsPage(cardCVo, pageNum, pageSize); + } + + @ApiOperation(value = "卡券详情接口") + @GetMapping("cardDetail") + @ApiImplicitParams({ + @ApiImplicitParam(name = "couponOrderId", value = "券ID", dataType = "string", paramType = "query", required = true) + }) + public ResultData cardDetail(String couponOrderId) { + + if (couponOrderId == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + + return wxCouponOrderService.cardDetailCUserVo(getUserId(), couponOrderId); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java index 2ffe8bc65..6f0ef6df4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java @@ -41,11 +41,11 @@ public class WxCouponOrder implements Serializable { } - /***/ - @io.swagger.annotations.ApiModelProperty(value = "", name = "tenantId") + /**租户ID*/ + @io.swagger.annotations.ApiModelProperty(value = "租户ID", name = "tenantId") private String tenantId; - /*单张券ID**/ - @io.swagger.annotations.ApiModelProperty(value = "单张券ID", name = "couponId") + /**卡券ID**/ + @io.swagger.annotations.ApiModelProperty(value = "卡券ID", name = "couponId") private Long couponId; /**券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,7.类储值卡) */ @io.swagger.annotations.ApiModelProperty(value = "券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,7.类储值卡)", name = "couponType") @@ -56,25 +56,25 @@ public class WxCouponOrder implements Serializable { /**持有者ID*/ @io.swagger.annotations.ApiModelProperty(value = "持有者ID", name = "ownerId") private Long ownerId; - /*操作券B端小程序用户ID**/ + /**操作券B端小程序用户ID**/ @io.swagger.annotations.ApiModelProperty(value = "操作券B端小程序用户ID", name = "bUserId") private Long bUserId; - /*用户订单ID**/ + /**用户订单ID**/ @io.swagger.annotations.ApiModelProperty(value = "用户订单ID", name = "orderId") private Long orderId; - /*该订单对应券的实际过期时间**/ + /**该订单对应券的实际过期时间**/ @io.swagger.annotations.ApiModelProperty(value = "该订单对应券的实际过期时间 ", name = "expiredTime") private Date expiredTime; - /*状态:0,待使用 1,已核销 2,已过期 3,已作废 **/ - @io.swagger.annotations.ApiModelProperty(value = "状态:0,待使用 1,已核销 2,已过期 3,已作废 ", name = "couponOrderStatus") + /**状态:0-待使用 1-已核销 2-已过期 3-已作废 4-卡使用中 5-卡已过期 6-卡已用完 7-卡已线下退款**/ + @io.swagger.annotations.ApiModelProperty(value = "状态:0-待使用 1-已核销 2-已过期 3-已作废 4-卡使用中 5-卡已过期 6-卡已用完 7-卡已线下退款", name = "couponOrderStatus") private Integer couponOrderStatus; - /***/ - @io.swagger.annotations.ApiModelProperty(value = "", name = "createDate") + /**创建时间*/ + @io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate") private Date createDate; - /***/ - @io.swagger.annotations.ApiModelProperty(value = "", name = "updateDate") + /**更新时间*/ + @io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updateDate") private Date updateDate; - /*单券实际购买价格**/ + /**单券实际购买价格**/ @io.swagger.annotations.ApiModelProperty(value = "单券实际购买价格", name = "couponPrice") private Integer couponPrice; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java new file mode 100644 index 000000000..d2834d775 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java @@ -0,0 +1,176 @@ +package com.iformall.domain.vo; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.iformall.domain.po.WxCardSpend; +import com.iformall.domain.po.WxCouponOrder; + +import javax.persistence.Id; +import javax.persistence.Transient; +import java.util.Date; +import java.util.List; + +@JsonIgnoreProperties(value = {"handler"}) +public class WxCardCVo extends WxCouponOrder { + + /** + * + */ + private static final long serialVersionUID = 6687954932922444531L; + + + @Id + protected Long id; + + @Transient + protected List ids; + @Transient + protected String sortColumns; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getSortColumns() { + return sortColumns; + } + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + + /* 券类型信息 */ + /**封面图**/ + @io.swagger.annotations.ApiModelProperty(value="封面图",name="coverImg") + private String coverImg; + /**券名称**/ + @io.swagger.annotations.ApiModelProperty(value="券名称",name="title") + private String title; + /**副标题**/ + @io.swagger.annotations.ApiModelProperty(value="副标题",name="subTitle") + private String subTitle; + /**单位**/ + @io.swagger.annotations.ApiModelProperty(value="单位0:钱分,1:小时",name="unit") + private Integer unit; + /**须知**/ + @io.swagger.annotations.ApiModelProperty(value="须知",name="detail") + private String detail; + /**购买须知**/ + @io.swagger.annotations.ApiModelProperty(value="购买须知",name="remark") + private String remark; + + /*发券商户信息*/ + /**商户id**/ + @io.swagger.annotations.ApiModelProperty(value="商户id",name="merchantId") + private Long merchantId; + /**使用商户名**/ + @io.swagger.annotations.ApiModelProperty(value="商户名",name="name") + private String merchantName; + + /**发券商户信息*/ + @io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList") + private List merchantVoList; + + /**卡信息*/ + /**卡面额总金额**/ + @io.swagger.annotations.ApiModelProperty(value = "卡面额总金额", name = "amount") + private Integer amount; + /**卡面额余额**/ + @io.swagger.annotations.ApiModelProperty(value = "卡面额余额", name = "remainingAmount") + private Integer remainingAmount; + + /**卡消费信息*/ + @io.swagger.annotations.ApiModelProperty(value="卡消费列表",name="cardSpendList") + private List cardSpendList; + + + public List getMerchantVoList() { + return merchantVoList; + } + + public void setMerchantVoList(List merchantVoList) { + this.merchantVoList = merchantVoList; + } + + public Long getMerchantId() { + return merchantId; + } + public void setMerchantId(Long _merchantId) { + merchantId = _merchantId; + } + public String getCoverImg() { + return coverImg; + } + public void setCoverImg(String _coverImg) { + coverImg = _coverImg; + } + public String getTitle() { + return title; + } + public void setTitle(String _title) { + title = _title; + } + public String getSubTitle() { + return subTitle; + } + public void setSubTitle(String _subTitle) { + subTitle = _subTitle; + } + public String getDetail() { + return detail; + } + public void setDetail(String _detail) { + detail = _detail; + } + public Integer getUnit() { + return unit; + } + public void setUnit(Integer unit) { + this.unit = unit; + } + + public String getRemark() { + return remark; + } + public void setRemark(String _remark) { + remark = _remark; + } + + public String getMerchantName() { + return merchantName; + } + public void setMerchantName(String _name) { + merchantName = _name; + } + + public Integer getAmount() { + return amount; + } + + public void setAmount(Integer amount) { + this.amount = amount; + } + + public Integer getRemainingAmount() { + return remainingAmount; + } + + public void setRemainingAmount(Integer remainingAmount) { + this.remainingAmount = remainingAmount; + } + + public List getCardSpendList() { + return cardSpendList; + } + + public void setCardSpendList(List cardSpendList) { + this.cardSpendList = cardSpendList; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 92964d765..eb58211f3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -99,5 +99,6 @@ public interface WxCouponOrderMapper extends CommonMapper { List findExpiredCouponOrderByValidDate(); //// 卡相关接口 - List findCardListOfCUser(WxCouponOrder wxCouponOrder); + List findCardListOfCUser(WxCouponOrder wxCouponOrder); + WxCardCVo findCardDetailOfCUser(@Param("id")Long id); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 48b67b731..d2b848d1a 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -5,7 +5,7 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxOrder; -import com.iformall.domain.vo.CUserDateAmountVo; +import com.iformall.domain.vo.*; import java.util.Date; import java.util.List; @@ -13,10 +13,6 @@ import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import com.iformall.domain.vo.WxCouponOrderBVo; -import com.iformall.domain.vo.WxCouponOrderCVo; -import com.iformall.domain.vo.WxCouponOrderCarCVo; - public interface WxCouponOrderService { /** @@ -169,7 +165,12 @@ public interface WxCouponOrderService { * @param record C端用户 */ - ResultData listCardVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize); - + ResultData listCardVoAsPage(WxCardCVo record, Integer pageIndex, Integer pageSize); + /** + * C用户查卡详情 + * + * @param ownerId C端用户 + */ + ResultData cardDetailCUserVo(Long ownerId, String couponOrderId); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index f680e7690..df9f52e13 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -13,10 +13,7 @@ import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.dto.WxSharingOrderDto; import com.iformall.domain.po.*; -import com.iformall.domain.vo.CUserDateAmountVo; -import com.iformall.domain.vo.WxCouponOrderBVo; -import com.iformall.domain.vo.WxCouponOrderCVo; -import com.iformall.domain.vo.WxCouponOrderCarCVo; +import com.iformall.domain.vo.*; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; @@ -589,8 +586,22 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } @Override - public ResultData listCardVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { + public ResultData listCardVoAsPage(WxCardCVo record, Integer pageIndex, Integer pageSize) { return new ResultData(PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findCardListOfCUser(record))); } + @Override + public ResultData cardDetailCUserVo(Long ownerId, String couponOrderId) { + WxCUser wxCuser = wxCUserMapper.selectByPrimaryKey(ownerId); + if (wxCuser == null) { + logger.error("用户不存在:" + ownerId); + throw new MallinkException(ErrorCode.USER_IS_EMPTY); + } + + WxCardCVo cardCVo = wxCouponOrderMapper.findCardDetailOfCUser(Long.valueOf(couponOrderId)); + if (cardCVo == null) + return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); + return new ResultData(cardCVo); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index e4159504d..2f513557f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -528,7 +528,11 @@ public class WxOrderServiceImpl implements WxOrderService { couponOrder.setOwnerId(user.getId()); couponOrder.setOrderId(order.getOrderNumber()); couponOrder.setExpiredTime(valid_date); - couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); + if(!coupon.getType().equals(EnumCouponType.CARD_MULTIMCH)) { + couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); + } else { + couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); + } couponOrder.setCreateDate(curr); couponOrder.setUpdateDate(curr); couponOrder.setCouponPrice(order.getPayment()); diff --git a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml index 21b7443a8..b9f17973e 100644 --- a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml @@ -87,7 +87,4 @@ - - - diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 804941339..99b96e1f1 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -569,26 +569,7 @@ order by ${sortColumns} - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date, + c.cover_img,c.title,c.sub_title,c.detail,c.unit,c.remark, + a.amount,a.remaining_amount + + + + co.id,co.tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price, + c.cover_img,c.title,c.sub_title,c.sale_price,c.price,c.unit,c.detail,c.remark, + a.amount,a.remaining_amount + + + + + + + \ No newline at end of file