diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantController.java index 0020f1152..b00bc9bde 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantController.java @@ -137,6 +137,7 @@ public class WxMerchantController extends BaseController { @PostMapping("updateMerchantLevel") public ResultData updateMerchantLevel(@RequestBody WxMerchant wxMerchant) { logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantLevel"); + wxMerchant.setTenantId(getTenantId()); return wxMerchantService.updateMerchantLevel(wxMerchant); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index fe1ecf5e4..cf21dc834 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -13,6 +13,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxCUserVo; +import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumScoreType; import com.iformall.interceptor.AuthorizationInterceptor; @@ -70,6 +71,7 @@ public class WxUserGrantController extends BaseController { @Autowired WxMerchantService wxMerchantService; + /** * 用户登录 * @param map @@ -565,47 +567,30 @@ public class WxUserGrantController extends BaseController { * 获取用户折扣率 * @return */ - @PostMapping("/getDiscount") + @PostMapping("/getDiscountInfo") @ApiOperation(value = "获取用户折扣率", notes="") - public ResultData updateUserInfo(@RequestBody WxMerchant wxMerchant) { - if (wxMerchant == null) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); - } + public ResultData getDiscountInfo() { WxCUser user = getUser(); - WxCUserVo userVo = new WxCUserVo(); - org.springframework.beans.BeanUtils.copyProperties(user, userVo); - if (userVo.getScore() == null || userVo.getScore() == 0) { - userVo.setLevelName("无"); - userVo.setDiscountRate(10000); // 无折扣 - } else { - Integer levelConfigDiscount = null; - - List levelList = wxLevelConfigService.getByTenantId(user.getTenantId()); - for(WxLevelConfig levelConfig: levelList) { - if (userVo.getScore() >= levelConfig.getPoints()) { - userVo.setLevelId(levelConfig.getId()); - userVo.setLevelName(levelConfig.getLevel()); - levelConfigDiscount = levelConfig.getDiscountEnable(); - } - } + List levelList = wxLevelConfigService.getByTenantId(user.getTenantId()); - if(levelConfigDiscount > 0) { - // 用户折扣率 - WxMerchant merchant = wxMerchantService.getById(wxMerchant.getId()); - if(merchant != null) { - if(levelConfigDiscount.equals(1)) { // first level - userVo.setDiscountRate(merchant.getVipDiscountRate1()); - } else if(levelConfigDiscount.equals(2)) { // second level - userVo.setDiscountRate(merchant.getVipDiscountRate2()); - } else if(levelConfigDiscount.equals(3)) { // third level - userVo.setDiscountRate(merchant.getVipDiscountRate3()); - } - } + String level = "无"; + Long levelId = 0L; + for(WxLevelConfig levelConfig: levelList) { + if (user.getScore() >= levelConfig.getPoints()) { + levelId = levelConfig.getId(); + level = levelConfig.getLevel(); } } - return new ResultData(userVo); + WxLevelMerchant levelMerchant = new WxLevelMerchant(); + levelMerchant.setLevelId(levelId); + List levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant); + + Map result = new HashMap(); + result.put("level",level); + result.put("levelMerchantList",levelMerchantList); + return new ResultData(result); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxLevelMerchantCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxLevelMerchantCVo.java new file mode 100644 index 000000000..e13621261 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxLevelMerchantCVo.java @@ -0,0 +1,73 @@ +package com.iformall.domain.vo; + +import javax.persistence.Id; + +public class WxLevelMerchantCVo { + private static final long serialVersionUID = 6687964942922444531L; + + @Id + protected Long id; + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + + /**商户名**/ + @io.swagger.annotations.ApiModelProperty(value="商户名",name="name") + private String merchantName; + /**联系方式**/ + @io.swagger.annotations.ApiModelProperty(value="商户联系方式",name="linkPhone") + private String merchantLinkPhone; + @io.swagger.annotations.ApiModelProperty(value="商铺编号",name="shopNumber") + private String shopNumber; + /**楼座号**/ + @io.swagger.annotations.ApiModelProperty(value="楼座",name="buildingName") + private String buildingName; + /**楼层号**/ + @io.swagger.annotations.ApiModelProperty(value="楼层",name="floorName") + private String floorName; + + /**折扣**/ + @io.swagger.annotations.ApiModelProperty(value="折扣",name="discount") + private Integer discount; + + public String getBuildingName() {return buildingName; } + public void setBuildingName(String _building) { + buildingName = _building; + } + public String getFloorName() { + return floorName; + } + public void setFloorName(String _floor) { + floorName = _floor; + } + public String getShopNumber() { + return shopNumber; + } + public void setShopNumber(String _shopNumber) { + shopNumber = _shopNumber; + } + + public String getMerchantName() { + return merchantName; + } + public void setMerchantName(String _name) { + merchantName = _name; + } + public String getMerchantLinkPhone() { + return merchantLinkPhone; + } + public void setMerchantLinkPhone(String _linkPhone) { + merchantLinkPhone = _linkPhone; + } + + public Integer getDiscount() { + return discount; + } + + public void setDiscount(Integer discount) { + this.discount = discount; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxLevelMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxLevelMerchantMapper.java index 3d59303a8..5845ff762 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxLevelMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxLevelMerchantMapper.java @@ -3,9 +3,11 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxLevelMerchant; +import com.iformall.domain.vo.WxLevelMerchantCVo; import java.util.List; public interface WxLevelMerchantMapper extends CommonMapper { List findList(WxLevelMerchant wxLevelMerchant); + List findListCVo(WxLevelMerchant wxLevelMerchant); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxLevelConfigService.java b/mallinkService/src/main/java/com/iformall/service/WxLevelConfigService.java index 8960c02f7..9f25f6c0d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxLevelConfigService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxLevelConfigService.java @@ -3,6 +3,8 @@ package com.iformall.service; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxLevelConfig; +import com.iformall.domain.po.WxLevelMerchant; +import com.iformall.domain.vo.WxLevelMerchantCVo; import java.util.List; @@ -21,7 +23,8 @@ public interface WxLevelConfigService { List listByMerchantId(Long merchantId, WxLevelConfig record); - void batchSaveByMerchantId(Long merchantId, List records); + void batchSaveByMerchantId(String tenantId, Long merchantId, List records); + /** * getByTenantId * @param tenantId @@ -80,6 +83,8 @@ public interface WxLevelConfigService { * @return */ List findList(WxLevelConfig record); - + + + List findListCVo(WxLevelMerchant record); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java index 0f81f6e5e..3b2acd84c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java @@ -5,6 +5,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxLevelConfig; import com.iformall.domain.po.WxLevelMerchant; +import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.mapper.WxLevelConfigMapper; import com.iformall.mapper.WxLevelMerchantMapper; import com.iformall.service.WxLevelConfigService; @@ -57,7 +58,7 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { } @Override - public void batchSaveByMerchantId(Long merchantId, List records) { + public void batchSaveByMerchantId(String tenantId, Long merchantId, List records) { final IdWorker idWorker = IdWorker.get(); records.stream().forEach(l->{ @@ -72,8 +73,9 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { }else { wxLevelMerchantParam.setId(idWorker.nextId()); wxLevelMerchantParam.setCreateDate(new Date()); + wxLevelMerchantParam.setTenantId(tenantId); wxLevelMerchantParam.setDiscount(DEFAULT_MERCHANT_DISCOUNT); - wxLevelMerchantapper.insertSelective(wxLevelMerchant); + wxLevelMerchantapper.insertSelective(wxLevelMerchantParam); } }); @@ -162,5 +164,9 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService { return wxLevelConfigMapper.getLevel(tenantId,score); } + @Override + public List findListCVo(WxLevelMerchant record) { + return wxLevelMerchantapper.findListCVo(record); + } } 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 f4ebec748..f9f01e2f8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -518,7 +518,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Override public ResultData updateMerchantLevel(WxMerchant wxMerchant) { try { - wxLevelConfigService.batchSaveByMerchantId(wxMerchant.getId(), wxMerchant.getLevelConfigList()); + wxLevelConfigService.batchSaveByMerchantId(wxMerchant.getTenantId(), wxMerchant.getId(), wxMerchant.getLevelConfigList()); } catch (Exception e) { logger.error("db failed: 账号操作失败, e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); diff --git a/mallinkService/src/main/resources/mapper/WxLevelMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxLevelMerchantMapper.xml index a19b5f115..b838c4a93 100644 --- a/mallinkService/src/main/resources/mapper/WxLevelMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxLevelMerchantMapper.xml @@ -62,4 +62,38 @@ + + + + + + + + + + + + + + m.id,m.name,m.link_phone, + s.shop_number, + mb.building_name, + mf.floor_name, + lm.discount + + + + +