From ee16540b88a29f1f704dc0d812bbeeb91771d636 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 23 Sep 2019 14:48:06 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=A7=AF=E5=88=86=E5=BC=80=E5=85=B3][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E6=B7=BB=E5=8A=A0=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E5=BC=80=E5=85=B3=E4=B8=9A=E5=8A=A1=E9=80=BB=E8=BE=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mem/WxScoreRulesController.java | 22 ++++++++++++ .../V201909231350__G_ALTER_MERCHANT.sql | 1 + .../V201909231430__G_ALTER_CREDIT_RULES.sql | 1 + .../controller/WxMerchantBUserController.java | 1 + .../com/iformall/domain/po/WxMerchant.java | 3 ++ .../com/iformall/domain/po/WxScoreRules.java | 3 ++ .../enums/EnumCreditLockedStatus.java | 36 +++++++++++++++++++ .../com/iformall/mapper/WxMerchantMapper.java | 2 ++ .../iformall/service/WxScoreRulesService.java | 2 ++ .../service/impl/WxScoreRulesServiceImpl.java | 33 +++++++++++++---- .../resources/mapper/WxMerchantMapper.xml | 10 +++++- .../resources/mapper/WxScoreRulesMapper.xml | 8 ++++- 12 files changed, 113 insertions(+), 9 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V201909231350__G_ALTER_MERCHANT.sql create mode 100644 mallinkAdmin/src/main/resources/db/migration/V201909231430__G_ALTER_CREDIT_RULES.sql create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumCreditLockedStatus.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java index bd5fe1cba..583dd9513 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java @@ -1,6 +1,7 @@ package com.iformall.controller.mem; import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.WxScoreRules; @@ -48,4 +49,25 @@ public class WxScoreRulesController extends BaseController { WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(getTenantId()); return new ResultData(scoreRules); } + + @ApiOperation("更新积分开关状态") + @PostMapping("updateCreditLocked") + @SystemControllerLog(description = "更新积分开关状态") + public ResultData 更新积分开关状态(@RequestBody WxScoreRules wxScoreRules) { + logger.debug("[" + getIpAddr() + "] WxScoreRulesController::updateCreditLocked"); + if (null == wxScoreRules.getId()) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id不能为空"); + } + if (null == wxScoreRules.getCreditLocked()) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "creditLocked不能为空"); + } + wxScoreRules.setTenantId(getTenantId()); + try { + wxScoreRulesService.updateCreditLocked(wxScoreRules); + } catch (Exception e) { + return new ResultData(ErrorCode.DB_FAIL.getCode(), "更新积分开关状态失败"); + } + return new ResultData(); + } + } diff --git a/mallinkAdmin/src/main/resources/db/migration/V201909231350__G_ALTER_MERCHANT.sql b/mallinkAdmin/src/main/resources/db/migration/V201909231350__G_ALTER_MERCHANT.sql new file mode 100644 index 000000000..0164c8c14 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201909231350__G_ALTER_MERCHANT.sql @@ -0,0 +1 @@ +alter table wx_merchant add column credit_locked tinyint(1) default 0 not null comment '0开放1锁定'; diff --git a/mallinkAdmin/src/main/resources/db/migration/V201909231430__G_ALTER_CREDIT_RULES.sql b/mallinkAdmin/src/main/resources/db/migration/V201909231430__G_ALTER_CREDIT_RULES.sql new file mode 100644 index 000000000..160eccf8c --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201909231430__G_ALTER_CREDIT_RULES.sql @@ -0,0 +1 @@ +alter table wx_score_rules add column credit_locked tinyint(1) default 0 not null comment '0开放1锁定'; diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java index a6d6c795c..edaf6d58f 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java @@ -81,6 +81,7 @@ public class WxMerchantBUserController extends BaseController { resultMap.put("tenant_id",merchant.getTenantId()); resultMap.put("merchant_id",merchant.getId()); resultMap.put("is_admin",merchant.getIsAdmin()); + resultMap.put("creditLocked", merchant.getCreditLocked()); String mid = null; try { mid = String.valueOf(merchant.getId()); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index 4d9523756..967ff7abd 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -233,4 +233,7 @@ public class WxMerchant extends BaseEntity { return "t:md:" + id; } + @io.swagger.annotations.ApiModelProperty(value = "积分锁定0正常1锁定", name = "creditLocked") + private Integer creditLocked; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java index 07d09f46a..193ab88cc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java @@ -110,6 +110,9 @@ public class WxScoreRules extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="生日积分倍率",name="scale") private Integer scale; + @io.swagger.annotations.ApiModelProperty(value = "积分锁定0正常1锁定", name = "creditLocked") + private Integer creditLocked; + public static String getScoreDefaultRules() { return scoreDefaultRules; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCreditLockedStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumCreditLockedStatus.java new file mode 100644 index 000000000..e324c7a1a --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumCreditLockedStatus.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + + +/** + * @author gongbiao + */ +public enum EnumCreditLockedStatus { + + OPEN(0, "正常"), + CLOSE(1, "锁定"),; + + public static EnumCreditLockedStatus getEnum(Integer code) { + for (EnumCreditLockedStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCreditLockedStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index b1a735671..23e5a4ac3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -25,4 +25,6 @@ public interface WxMerchantMapper extends CommonMapper { List findListVo(WxMerchant record); + void updateCreditLocked(WxMerchant wxMerchant); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java b/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java index 398192a24..35a1464cf 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxScoreRulesService.java @@ -52,4 +52,6 @@ public interface WxScoreRulesService { List findList(WxScoreRules wxScoreRules); + void updateCreditLocked(WxScoreRules wxScoreRules); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index 584696c33..5055d003d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -9,10 +9,7 @@ import com.iformall.enums.EnumBusiness; import com.iformall.enums.EnumScoreRules; import com.iformall.enums.EnumScoreType; import com.iformall.exception.MallinkException; -import com.iformall.mapper.WxCUserBasicInfoMapper; -import com.iformall.mapper.WxCUserMapper; -import com.iformall.mapper.WxScoreHistoryMapper; -import com.iformall.mapper.WxScoreRulesMapper; +import com.iformall.mapper.*; import com.iformall.service.WxCUserService; import com.iformall.service.WxScoreRulesService; import com.iformall.utils.Constant; @@ -45,6 +42,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { @Qualifier("scoreRuleRedisTemplate") RedisTemplate scoreRulesRedisTemplate; + @Autowired + WxMerchantMapper wxMerchantMapper; + @Override public WxScoreRules getScoreRules(String tenantId) { // get pushLime from cache @@ -159,16 +159,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { @Override public void saveOrUpdate(WxScoreRules record) { + Date date = new Date(); + record.setUpdateDate(date); if (record.getId() == null) { - //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); + record.setCreateDate(date); wxScoreRulesMapper.insert(record); } else { wxScoreRulesMapper.updateById(record); } - if (record != null && record.getType() == EnumScoreRules.SCORE.getCode()) { + if (record != null && record.getType().equals(EnumScoreRules.SCORE.getCode())) { // 缓存存在,删除缓存 String key = Constant.SCORE_RULES_KEY_PREV + record.getTenantId(); boolean hasKey = scoreRulesRedisTemplate.hasKey(key); @@ -177,7 +179,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { logger.info("WxScoreRulesServiceImpl.saveOrUpdate() : 从缓存中删除成长值设置 >> " + record.toString()); } } - if (record != null && record.getType() == EnumScoreRules.CREDIT.getCode()) { + if (record != null && record.getType().equals(EnumScoreRules.CREDIT.getCode())) { // 缓存存在,删除缓存 String key = Constant.CREDIT_RULES_KEY_PREV + record.getTenantId(); boolean hasKey = scoreRulesRedisTemplate.hasKey(key); @@ -186,6 +188,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { logger.info("WxScoreRulesServiceImpl.saveOrUpdate() : 从缓存中删除积分设置 >> " + record.toString()); } } + + //更新商户数据 + updateMerchantCreditLocked(record); } @Override @@ -618,4 +623,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { public List findList(WxScoreRules wxScoreRules) { return wxScoreRulesMapper.findList(wxScoreRules); } + + @Override + public void updateCreditLocked(WxScoreRules wxScoreRules) { + wxScoreRulesMapper.updateById(wxScoreRules); + updateMerchantCreditLocked(wxScoreRules); + } + + public void updateMerchantCreditLocked(WxScoreRules wxScoreRules) { + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setTenantId(wxScoreRules.getTenantId()); + wxMerchant.setStatus(wxScoreRules.getCreditLocked()); + wxMerchant.setUpdateDate(new Date()); + wxMerchantMapper.updateCreditLocked(wxMerchant); + } } diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index 2ae435d96..cacd534e4 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -33,13 +33,14 @@ + `id`,`tenant_id`,`img_url`,`name`,`link_phone`,`create_date`,`update_date`,`car_vendor_type`,`car_params`,`status`,`link_person`, `business_id`,`sub_business_id`,`shop_type`,`brand`,`type`,`is_public`,email,`title`,`cover_picture`,`is_admin`,`bill_setting`,`qr_code`, - `introduction`,`action_desc`,`is_del`,`talk_user_main`,`talk_user_aux`,link_line_phone + `introduction`,`action_desc`,`is_del`,`talk_user_main`,`talk_user_aux`,link_line_phone,credit_locked @@ -118,6 +119,9 @@ and `brand` = #{brand} + + and `credit_locked` = #{creditLocked} + and id not in( select merchant_id from wx_rent_contract where tenant_id=#{tenantId} and rent_shop_type=1 and merchant_id is @@ -414,5 +418,9 @@ and `id` != #{id} + + + update wx_merchant set credit_locked = #{creditLocked} where tenant_id = #{tenantId} + diff --git a/mallinkService/src/main/resources/mapper/WxScoreRulesMapper.xml b/mallinkService/src/main/resources/mapper/WxScoreRulesMapper.xml index a3e24037a..3fad0962c 100644 --- a/mallinkService/src/main/resources/mapper/WxScoreRulesMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxScoreRulesMapper.xml @@ -10,10 +10,12 @@ + + - `id`,`tenant_id`,`rules`,`create_date`,`update_date`,`type`,`clear_year`,`scale` + `id`,`tenant_id`,`rules`,`create_date`,`update_date`,`type`,`clear_year`,`scale`,credit_locked @@ -42,6 +44,10 @@ and `scale` = #{scale} + + + and `credit_locked` = #{creditLocked} + and id in