From daf1f07e5fac3781a3ca229d81deceb6a98fa41a Mon Sep 17 00:00:00 2001 From: masterspirit Date: Sat, 11 Aug 2018 14:11:47 +0800 Subject: [PATCH] CouponChannel --- .../controller/WxCouponChannelController.java | 7 ++ .../com/simple/domain/po/WxCouponChannel.java | 30 ++++++--- .../service/impl/WxUserCouponServiceImpl.java | 67 +++++++++++++++++++ .../mapper/WxCouponChannelMapper.xml | 8 ++- 4 files changed, 101 insertions(+), 11 deletions(-) create mode 100644 mallinkService/src/main/java/com/simple/service/impl/WxUserCouponServiceImpl.java diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java index f86461c8b..61af1fedf 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponChannelController.java @@ -65,6 +65,13 @@ public class WxCouponChannelController extends BaseController public ResultData findById(Long id) { return new ResultData(Result.SUCCESS,"查询成功",wxCouponChannelService.getById(id)); } + + /*@ApiOperation("根据") + @GetMapping("/add") + @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) + public ResultData findById(Long id) { + return new ResultData(Result.SUCCESS,"查询成功",wxCouponChannelService.getById(id)); + }*/ diff --git a/mallinkService/src/main/java/com/simple/domain/po/WxCouponChannel.java b/mallinkService/src/main/java/com/simple/domain/po/WxCouponChannel.java index 702ace142..9841b8ed2 100644 --- a/mallinkService/src/main/java/com/simple/domain/po/WxCouponChannel.java +++ b/mallinkService/src/main/java/com/simple/domain/po/WxCouponChannel.java @@ -1,12 +1,12 @@ package com.simple.domain.po; -import javax.persistence.*; -import java.util.*; -import java.math.*; -import javax.persistence.Transient; -import java.util.List; import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; @Table(name = "wx_coupon_channel") public class WxCouponChannel implements Serializable { @@ -50,14 +50,17 @@ public class WxCouponChannel implements Serializable { /*卡券id**/ @io.swagger.annotations.ApiModelProperty(value="卡券id",name="couponId") private Long couponId; + /*券状态,判断是否在前端展示**/ + @io.swagger.annotations.ApiModelProperty(value="券状态,判断是否在前端展示",name="couponStatus") + private Integer couponStatus; /*券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券)**/ @io.swagger.annotations.ApiModelProperty(value="券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券)",name="type") private Integer type; /*券名称**/ @io.swagger.annotations.ApiModelProperty(value="券名称",name="title") private String title; - /*投放频道位置(1.banner图,2.限时抢购)**/ - @io.swagger.annotations.ApiModelProperty(value="投放频道位置(1.banner图,2.限时抢购)",name="targetAd") + /*投放频道位置(1.列表, 2.限时抢购)**/ + @io.swagger.annotations.ApiModelProperty(value="投放频道位置(1.列表, 2.限时抢购)",name="targetAd") private Integer targetAd; /*创建时间**/ @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") @@ -83,6 +86,12 @@ public class WxCouponChannel implements Serializable { public void setCouponId(Long _couponId) { couponId = _couponId; } + public Integer getCouponStatus() { + return couponStatus; + } + public void setCouponStatus(Integer _couponStatus) { + couponStatus = _couponStatus; + } public Integer getType() { return type; } @@ -122,6 +131,7 @@ public class WxCouponChannel implements Serializable { ,TenantId_ASC("`tenantId` ASC"),TenantId_DESC("`tenantId` DESC") ,MerchantId_ASC("`merchantId` ASC"),MerchantId_DESC("`merchantId` DESC") ,CouponId_ASC("`couponId` ASC"),CouponId_DESC("`couponId` DESC") + ,CouponStatus_ASC("`couponStatus` ASC"),CouponStatus_DESC("`couponStatus` DESC") ,Type_ASC("`type` ASC"),Type_DESC("`type` DESC") ,Title_ASC("`title` ASC"),Title_DESC("`title` DESC") ,TargetAd_ASC("`targetAd` ASC"),TargetAd_DESC("`targetAd` DESC") @@ -159,9 +169,9 @@ public class WxCouponChannel implements Serializable { sb.append(","); sb.append(fields[k].toString()); } - + } - + public void setSortColumns(String sortColumns) { if (sortColumns == null || "".equals(sortColumns.trim())) { @@ -169,7 +179,7 @@ public class WxCouponChannel implements Serializable { } if (sortColumns.contains(",")) { String[] cols = sortColumns.split(","); - java.util.List fList = new java.util.ArrayList(); + List fList = new ArrayList(); for (int k = 0; k < cols.length; k++) { fList.add(Field.valueOf(cols[k])); } diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxUserCouponServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxUserCouponServiceImpl.java new file mode 100644 index 000000000..26fd32307 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/service/impl/WxUserCouponServiceImpl.java @@ -0,0 +1,67 @@ +package com.simple.service.impl; +import com.simple.domain.dto.WxUserCouponDto; +import com.simple.domain.po.WxCoupon; +import com.simple.domain.po.WxOrder; +import com.simple.mapper.WxCouponMapper; +import com.simple.service.WxOrderService; +import com.simple.service.WxUserCouponService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Created by syf on 2018/8/10. + */ +@Service +public class WxUserCouponServiceImpl implements WxUserCouponService { + + @Autowired + private WxOrderService wxOrderService; + @Autowired + private WxCouponMapper wxCouponMapper; + + /** + * + * @param userId 用户id + * @param status 用户卡券状态 + * @return + */ + @Override + public List findList(Long userId, int status) { + //TODO 待测试优化 + List wxUserCoupons = new ArrayList<>(); + //查询订单表 + WxOrder wxOrder = new WxOrder(); + wxOrder.setCUserId(userId); + wxOrder.setCouponStatus(status); + List orders = wxOrderService.findList(wxOrder); + List ids = orders.stream().map(p->p.getCouponId()+"").distinct().collect(Collectors.toList()); + if(ids.size()>0){ + //查询WxCoupon + WxCoupon wxCoupon = new WxCoupon(); + wxCoupon.setIds(ids); + List wxCoupons = wxCouponMapper.findList(wxCoupon); + Map couponNamesMap = wxCoupons.stream().collect(Collectors.toMap(WxCoupon::getId,p->p.getTitle())); + for (WxOrder temp:orders) { + wxUserCoupons.add(getWxUserCoupon(temp,couponNamesMap.get(temp.getCouponId()))); + } + } + return wxUserCoupons; + } + public WxUserCouponDto getWxUserCoupon(WxOrder wxOrder, String title){ + WxUserCouponDto wxUserCoupon = new WxUserCouponDto(); + wxUserCoupon.setOrderId(wxOrder.getId()); + wxUserCoupon.setcUserId(wxOrder.getCUserId()); + wxUserCoupon.setCouponId(wxOrder.getCouponId()); + wxUserCoupon.setCouponStatus(wxOrder.getCouponStatus()); + wxUserCoupon.setValidDate(wxOrder.getValidDate()); + wxUserCoupon.setCouponTitle(title); + return wxUserCoupon; + } +} + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml index bef6d27ba..f2cc85a26 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml @@ -6,6 +6,7 @@ + @@ -14,7 +15,7 @@ - `id`,`tenant_id`,`merchant_id`,`coupon_id`,`type`,`title`,`target_ad`,`create_date`,`update_date` + `id`,`tenant_id`,`merchant_id`,`coupon_id`,`coupon_status`,`type`,`title`,`target_ad`,`create_date`,`update_date` @@ -40,6 +41,11 @@ + + and `coupon_status` = #{couponStatus} + + + and `type` = #{type}