diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java index 48a11d9b6..4b2790f80 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -55,6 +55,9 @@ public class WxCouponOrderController extends BaseController { logger.debug("[" + getIpAddr() + "] WxCouponOrderController::list"); if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderBVo(); wxCouponOrder.setTenantId(getTenantId()); + if (wxCouponOrder.getMerchantName().isEmpty()) { + wxCouponOrder.setMerchantName(null); + } wxCouponOrder.setSortColumns(WxCouponOrder.Field.Id_DESC); return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java index c349dc016..49250a7ea 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java @@ -1,6 +1,7 @@ package com.iformall.domain.vo; import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.iformall.domain.po.WxCouponOrder; import javax.persistence.Id; @@ -8,22 +9,14 @@ import javax.persistence.Transient; import java.text.DecimalFormat; import java.util.Date; import java.util.List; - +@JsonIgnoreProperties(value = {"handler"}) public class WxCouponOrderBVo extends WxCouponOrder{ - /** - * - */ private static final long serialVersionUID = 6687954932922444531L; @Id @Excel(name="券码",width = 20) protected Long id; - @Transient - protected List ids; - @Transient - protected String sortColumns; - public Long getId() { return id; } @@ -32,18 +25,6 @@ public class WxCouponOrderBVo extends WxCouponOrder{ this.id = id; } - public String getSortColumns() { - return sortColumns; - } - - public List getIds() { - return ids; - } - - public void setIds(List ids) { - this.ids = ids; - } - /* 基础购买到的券信息 */ /***/ @@ -66,10 +47,7 @@ public class WxCouponOrderBVo extends WxCouponOrder{ @io.swagger.annotations.ApiModelProperty(value = "该订单对应券的实际过期时间 ", name = "expiredTime") private Date expiredTime; - /**商户名**/ - @Excel(name="商户名",width = 50) - @io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName") - private String merchantName; + /*券名称**/ @Excel(name="券名称",width = 50) @@ -132,7 +110,15 @@ public class WxCouponOrderBVo extends WxCouponOrder{ @Excel(name="商户管理员手机",width = 20) @io.swagger.annotations.ApiModelProperty(value="b端用户手机号",name="bUserPhone") private String bUserPhone; + /**使用券商户名**/ + @Excel(name="使用券商户名",width = 50) + @io.swagger.annotations.ApiModelProperty(value="使用券商户名",name="merchantName") + private String merchantName; + + /*发券商户信息*/ + @io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList") + private List merchantVoList; @Transient private Date startDate; @@ -308,70 +294,4 @@ public class WxCouponOrderBVo extends WxCouponOrder{ this.priceStr = priceStr; } - public static enum Field { - Id_ASC("`id` ASC"), Id_DESC("`id` DESC") - ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") - ,CouponId_ASC("`coupon_id` ASC"),CouponId_DESC("`coupon_id` DESC") - ,CUserId_ASC("`c_user_id` ASC"), CUserId_DESC("`c_user_id` DESC") - ,BUserId_ASC("`b_user_id` ASC"), BUserId_DESC("`b_user_id` DESC") - ,OrderId_ASC("`order_id` ASC"), OrderId_DESC("`order_id` DESC") - ,ExpiredTime_ASC("`expired_time` ASC"), ExpiredTime_DESC("`expired_time` DESC") - ,CouponOrderStatus_ASC("`coupon_order_status` ASC"), CouponOrderStatus_DESC("`coupon_order_status` DESC") - ,CreateDate_ASC("`create_date` ASC"), CreateDate_DESC("`create_date` DESC") - ,UpdateDate_ASC("`update_date` ASC"), UpdateDate_DESC("`update_date` DESC") - ,CouponPrice_ASC("`coupon_price` ASC"), CouponPrice_DESC("`coupon_price` DESC") - ; - private String value; - - Field(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - - public void setCol(String value) { - this.value = value; - } - - @Override - public String toString() { - return this.getValue(); - } - } - - public void setSortColumns(WxCouponOrder.Field... fields) { - if (fields == null || fields.length == 0) { - return; - } - for (int k = 0; k < fields.length; k++) { - if (fields[k] == null) { - return; - } - } - StringBuilder sb = new StringBuilder(fields[0].toString()); - for (int k = 1; k < fields.length; k++) { - sb.append(","); - sb.append(fields[k].toString()); - } - - this.sortColumns = sb.toString(); - } - - public void setSortColumns(String sortColumns) { - if (sortColumns == null || "".equals(sortColumns.trim())) { - return; - } - if (sortColumns.contains(",")) { - String[] cols = sortColumns.split(","); - java.util.List fList = new java.util.ArrayList(); - for (int k = 0; k < cols.length; k++) { - fList.add(WxCouponOrder.Field.valueOf(cols[k])); - } - this.setSortColumns(fList.toArray(new WxCouponOrder.Field[fList.size()])); - } else { - this.setSortColumns(WxCouponOrder.Field.valueOf(sortColumns)); - } - } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java index a9f7485ea..092739917 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java @@ -12,5 +12,5 @@ public interface WxCouponMerchantMapper extends CommonMapper findList(WxCouponMerchant wxCouponMerchant); List findMerchantVoList(Map paramMap); - + List findMerchantNameList(Map paramMap); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 1d8b28882..02c44da35 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -26,7 +26,7 @@ public interface WxCouponOrderMapper extends CommonMapper { List findListOfOrderedByDateForBUser(Map dateMap); List findListOfVerifiedByDateForBUser(Map dateMap); - WxCouponOrderCVo selectDetailOfUser(Map paramMap); + WxCouponOrderCVo findDetail(@Param("id")Long id); List findListOfCUser(WxCouponOrderCVo wxCouponOrder); List findListOfAdmin(WxCouponOrderBVo wxCouponOrder); @@ -38,8 +38,8 @@ public interface WxCouponOrderMapper extends CommonMapper { * @param endTime * @return */ - int findOrderedCountForCUser(@Param("cUserId")Long cUserId,@Param("startTime") Date startTime,@Param("endTime")Date endTime); - int findVerifiedCountForCUser(@Param("cUserId")Long cUserId,@Param("startTime") Date startTime,@Param("endTime")Date endTime); + int findOrderedCountByCUser(@Param("cUserId")Long cUserId,@Param("startTime") Date startTime,@Param("endTime")Date endTime); + int findVerifiedCountByCUser(@Param("cUserId")Long cUserId,@Param("startTime") Date startTime,@Param("endTime")Date endTime); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java index 8f6d2b1c3..040b32b30 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -421,18 +421,18 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { for (int ago = 0; ago > -30 ; ago-- ) { if (endC.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY && endC.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) { - workDayCount += wxCouponOrderMapper.findVerifiedCountForCUser(param.getId(),startTime,endTime); + workDayCount += wxCouponOrderMapper.findVerifiedCountByCUser(param.getId(),startTime,endTime); } else { - WeekendDayCount += wxCouponOrderMapper.findVerifiedCountForCUser(param.getId(),startTime,endTime); + WeekendDayCount += wxCouponOrderMapper.findVerifiedCountByCUser(param.getId(),startTime,endTime); } endC.add(Calendar.DAY_OF_YEAR, -1); if (endC.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY && endC.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) { - workNightCount += wxCouponOrderMapper.findVerifiedCountForCUser(param.getId(),startTime,endTime); + workNightCount += wxCouponOrderMapper.findVerifiedCountByCUser(param.getId(),startTime,endTime); } else { - WeekendNightCount += wxCouponOrderMapper.findVerifiedCountForCUser(param.getId(),startTime,endTime); + WeekendNightCount += wxCouponOrderMapper.findVerifiedCountByCUser(param.getId(),startTime,endTime); } startC.add(Calendar.DAY_OF_YEAR, -1); @@ -464,7 +464,7 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { c.setTime(endTime); c.add(Calendar.DAY_OF_YEAR, -30); Date startTime = c.getTime(); - int count = wxCouponOrderMapper.findVerifiedCountForCUser(param.getId(),startTime,endTime); + int count = wxCouponOrderMapper.findVerifiedCountByCUser(param.getId(),startTime,endTime); float verifiedRate = (float)count/30; if (verifiedRate > 1F/4) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 58f3dd377..23c1ed0d0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -108,8 +108,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { private boolean isCouponMerchantValid(Long couponId) { Map paramMap = new HashMap<>(); paramMap.put("productId",couponId); - List merchantVoList = wxCouponMerchantMapper.findMerchantVoList(paramMap); - if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID)))){ + List merchantVoList = wxCouponMerchantMapper.findMerchantNameList(paramMap); + if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ return true; } return false; 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 99c1ed539..c6036a823 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -192,12 +192,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { throw new MallinkException(ErrorCode.USER_IS_EMPTY); } - Map paramMap = new HashMap(); - paramMap.put("cUserId", cUserId); - paramMap.put("tenantId", wxCuser.getTenantId()); - paramMap.put("couponOrderId", couponOrderId); - - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.selectDetailOfUser(paramMap); + WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findDetail(Long.valueOf(couponOrderId)); if (wxCouponOrderCVo == null) return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); return new ResultData(wxCouponOrderCVo); @@ -228,11 +223,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); } - Map paramMap = new HashMap(); - paramMap.put("merchantId", wxMerchant.getId()); - paramMap.put("tenantId", wxMerchant.getTenantId()); - paramMap.put("couponOrderId", couponOrderId); - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.selectDetailOfUser(paramMap); + WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findDetail(Long.valueOf(couponOrderId)); if (wxCouponOrderCVo == null) return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); return new ResultData(wxCouponOrderCVo); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 079f17164..0401c14db 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -176,8 +176,8 @@ public class WxMerchantServiceImpl implements WxMerchantService { private boolean isCouponMerchantValid(Long couponId) { Map paramMap = new HashMap<>(); paramMap.put("productId",couponId); - List merchantVoList = wxCouponMerchantMapper.findMerchantVoList(paramMap); - if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID)))){ + List merchantVoList = wxCouponMerchantMapper.findMerchantNameList(paramMap); + if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ return true; } return false; 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 1389d8938..eec83239f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -290,8 +290,8 @@ public class WxOrderServiceImpl implements WxOrderService { private boolean isCouponMerchantValid(Long couponId) { Map paramMap = new HashMap<>(); paramMap.put("productId",couponId); - List merchantVoList = wxCouponMerchantMapper.findMerchantVoList(paramMap); - if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID)))){ + List merchantVoList = wxCouponMerchantMapper.findMerchantNameList(paramMap); + if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ return true; } return false; diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 3bbc9f424..99791721c 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -102,6 +102,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + update wx_coupon_order SET coupon_order_status = 2, update_date = now() + where expired_time < now() and coupon_price = 0 and coupon_order_status = 0 + + + + + + + + @@ -124,46 +308,32 @@ - + + + + co.id,co.tenant_id,co.coupon_id,co.c_user_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.type,c.title,c.sale_price,c.use_price,c.price,c.unit, - m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone - - - - co.id,co.tenant_id,co.coupon_id,co.c_user_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.type,c.title,c.sale_price,c.use_price,c.price,c.unit, - bu.name,cu.phone - - - - co.id,co.tenant_id,co.coupon_id,co.c_user_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.type,c.title,c.sale_price,c.use_price,c.price,c.unit, - cu.phone - - - - co.id,co.tenant_id,co.coupon_id,co.c_user_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price + bu.name, bu.phone as bphone, cu.phone, m.name as merchant_name - select - from wx_coupon_order co,wx_order o,wx_coupon c,wx_c_user cu - where o.id = co.order_id - and o.merchant_id = #{merchantId} + from wx_coupon_order co,wx_order o,wx_coupon c,wx_c_user cu,wx_coupon_merchant cm + (select tco.id as tcoid, + (select count(*) from wx_coupon_merchant tcm + where tcm.product_id = tco.coupon_id) as mc + from wx_coupon_order tco) com + where com.mc = 1 + and com.tcoid = co.id + and o.id = co.order_id + and cm.merchant_id = #{merchantId} + and cm.product_id = c.id + and cm.status = 0 and co.coupon_id = c.id and cu.id = co.c_user_id @@ -210,20 +403,24 @@ select from wx_coupon_order co,wx_order o,wx_coupon c,wx_c_user cu,wx_merchant_b_user bu where o.id = co.order_id - and o.merchant_id = #{merchantId} and co.coupon_id = c.id and cu.id = co.c_user_id and bu.id = co.b_user_id + and bu.merchant_id = #{merchantId} AND co.update_date > #{startDate,jdbcType=TIMESTAMP} AND co.update_date < #{endDate,jdbcType=TIMESTAMP} - AND co.coupon_order_status = '1' + AND co.coupon_order_status = '1' order by co.update_date desc + + co.id,co.tenant_id,co.coupon_id,co.c_user_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price + + select - from wx_coupon_order c,wx_coupon co,wx_merchant m + from wx_coupon_order c,wx_coupon co where 1=1 and c.coupon_id = co.id - and co.merchant_id = m.id and c.c_user_id = #{cUserId} @@ -325,163 +506,27 @@ and co.type = #{type} - - and co.type < 5 - + + and co.type < 5 + AND c.coupon_order_status = #{couponOrderStatus} order by ${sortColumns} - - - - - - - - - - + select + from wx_coupon_order co,wx_coupon c + where co.coupon_id = c.id + and co.id = #{id} - c.id,c.expired_time,c.coupon_order_status,c.create_date,c.update_date,c.coupon_price, - co.cover_img,co.title,co.sub_title,co.sale_price,co.use_price,co.price,co.unit,m.id as merchant_id, - m.name,json_extract(car.vendor_params,'$.id') as coupon_free_id + co.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.use_price,c.price,c.unit, + json_extract(car.vendor_params,'$.id') as coupon_free_id @@ -498,8 +543,6 @@ - - @@ -510,105 +553,37 @@ - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - update wx_coupon_order SET coupon_order_status = 2, update_date = now() - where expired_time < now() and coupon_price = 0 and coupon_order_status = 0 - - - - \ No newline at end of file