diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java index d433fa50c..c0d036d2a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantVo.java @@ -1,7 +1,8 @@ package com.iformall.domain.vo; -import javax.persistence.Id; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import javax.persistence.Id; public class WxMerchantVo { private static final long serialVersionUID = 6687964942922444531L; @@ -28,7 +29,12 @@ public class WxMerchantVo { /**商户状态**/ @io.swagger.annotations.ApiModelProperty(value="商户状态1可用0停用",name="status") private Integer merchantStatus; - + /**商户业态**/ + @io.swagger.annotations.ApiModelProperty(value="商户业态",name="businessId") + private Integer businessId; + /**商户业态**/ + @io.swagger.annotations.ApiModelProperty(value="商户业态",name="parameter") + private String parameter; /**地址**/ @io.swagger.annotations.ApiModelProperty(value="地址",name="addr") @@ -85,13 +91,21 @@ public class WxMerchantVo { addr = _addr; } + public Integer getBusinessId() { + return businessId; + } - public String getMerChantImgUrl() { + public void setBusinessId(Integer businessId) { + this.businessId = businessId; + } + + public String getMerchantImgUrl() { return merchantImgUrl; } - public void setMerChantImgUrl(String _imgUrl) { + public void setMerchantImgUrl(String _imgUrl) { merchantImgUrl = _imgUrl; } + public String getMerchantName() { return merchantName; } @@ -111,6 +125,15 @@ public class WxMerchantVo { this.merchantStatus = status; } + public String getParameter() { + return parameter; + } + + public void setParameter(String parameter) { + this.parameter = parameter; + } + + public Integer getVipDiscountRate1() { return vipDiscountRate1; } @@ -134,4 +157,6 @@ public class WxMerchantVo { public void setVipDiscountRate3(Integer vipDiscountRate3) { this.vipDiscountRate3 = vipDiscountRate3; } + + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java index 092739917..f75806b89 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java @@ -13,4 +13,5 @@ public interface WxCouponMerchantMapper extends CommonMapper findList(WxCouponMerchant wxCouponMerchant); List findMerchantVoList(Map paramMap); List findMerchantNameList(Map paramMap); + List findMerchantBaseList(Map paramMap); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 847da1e53..b2e09dd34 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -67,6 +67,18 @@ public class WxCouponServiceImpl implements WxCouponService { return wxCouponMapper.findVoDetail(id); } + private Long parseMerchantId(JSONObject merchantParam){ + return Long.valueOf(merchantParam.getString("id")); + } + private String parseParameter(JSONObject merchantParam){ + return merchantParam.getString("parameter"); + } + private Integer parseBusiness(JSONObject merchantParam){ + return Integer.valueOf(merchantParam.getString("businessId")); + } + + + @Override @Transactional(isolation=Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) public ResultData saveOrUpdate(WxCoupon record) { @@ -93,34 +105,34 @@ public class WxCouponServiceImpl implements WxCouponService { final IdWorker idWorker = IdWorker.get(); if (record.getId() == null) { + + record.setId(idWorker.nextId()); if (!record.getMerchantParams().isEmpty()) { List merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); - List couponMerchantList = new ArrayList<>(); List businessList= new ArrayList<>(); merchantParamList.forEach(merchantParam -> { WxCouponMerchant cm = new WxCouponMerchant(); cm.setId(idWorker.nextId()); - cm.setMerchantId(merchantParam.getLong("id")); - cm.setParameter(merchantParam.getString("param")); + cm.setMerchantId(parseMerchantId(merchantParam)); + cm.setParameter(parseParameter(merchantParam)); cm.setProductId(record.getId()); cm.setCreateDate(new Date()); cm.setUpdateDate(new Date()); cm.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); - couponMerchantList.add(cm); - businessList.add(merchantParam.getInteger("business")); + businessList.add(parseBusiness(merchantParam)); + wxCouponMerchantMapper.insertSelective(cm); }); if (businessList.stream().distinct().count() > 1) { record.setBusiness(EnumBusiness.BUSINESS_NULL.getCode()); } else { record.setBusiness(businessList.get(0)); } - wxCouponMerchantMapper.insertList(couponMerchantList); + } else{ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - record.setId(idWorker.nextId()); record.setCreateDate(new Date()); record.setUpdateDate(new Date()); wxCouponMapper.insertSelective(record); @@ -135,27 +147,27 @@ public class WxCouponServiceImpl implements WxCouponService { List businessList= new ArrayList<>(); merchantParamList.stream().forEach(merchantParam -> { WxCouponMerchant cm = new WxCouponMerchant(); - cm.setMerchantId(merchantParam.getLong("id")); + cm.setMerchantId(parseMerchantId(merchantParam)); cm.setProductId(record.getId()); WxCouponMerchant rcm = wxCouponMerchantMapper.selectOne(cm); if (rcm != null) { - rcm.setMerchantId(merchantParam.getLong("id")); - rcm.setParameter(merchantParam.getString("param")); + rcm.setMerchantId(Long.valueOf(parseMerchantId(merchantParam))); + rcm.setParameter(parseParameter(merchantParam)); rcm.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); rcm.setUpdateDate(new Date()); wxCouponMerchantMapper.updateByPrimaryKeySelective(rcm); }else { cm.setId(idWorker.nextId()); cm.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); - cm.setParameter(merchantParam.getString("param")); + cm.setParameter(parseParameter(merchantParam)); cm.setCreateDate(new Date()); cm.setUpdateDate(new Date()); wxCouponMerchantMapper.insertSelective(cm); } - businessList.add(merchantParam.getInteger("business")); + businessList.add(Integer.valueOf(parseBusiness(merchantParam))); oldList.removeIf( old->old.getProductId().equals(record.getId()) && - old.getMerchantId().equals(merchantParam.getLong("id"))); + old.getMerchantId().equals(Long.valueOf(parseMerchantId(merchantParam)))); }); oldList.stream().forEach(old->{ diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml index d1e5710d3..9c7bd6b09 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml @@ -131,7 +131,7 @@ @@ -181,7 +181,7 @@ diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 1efa68ce7..4c8254b7f 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -80,8 +80,8 @@ - and `valid_start_date` = #{validStartDate} - + and `valid_start_date` = #{validStartDate} + and `valid_end_date` = #{validEndDate} @@ -175,8 +175,8 @@ + javaType="java.util.List" + select="com.iformall.mapper.WxCouponMerchantMapper.findMerchantBaseList" > diff --git a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml index f6fc6082d..8af0fe133 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml @@ -64,9 +64,10 @@ m.id, - m.img_url,m.name,m.link_phone,m.status, + m.img_url,m.name,m.link_phone,m.status,m.business_id, s.addr,s.shop_number,s.baidu_poi, - mb.building_name,mf.floor_name + mb.building_name,mf.floor_name, + cm.parameter @@ -75,6 +76,8 @@ + + @@ -95,11 +98,16 @@ where cm.product_id = #{productId} - m.id,m.name,m.status + + m.id, + m.img_url,m.name,m.link_phone,m.status,m.business_id, + cm.parameter + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 58f93d094..e52afdccb 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -315,7 +315,7 @@ @@ -528,7 +528,7 @@ diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 3d1fe2b3a..e548c9932 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -173,7 +173,7 @@