| @@ -44,14 +44,14 @@ public class WxMallDisposeController extends BaseController { | |||
| logger.debug("[" + getIpAddr() + "] WxMallDisposeController::listVo"); | |||
| if (null == disposeVo) disposeVo = new WxMallDisposeVo(); | |||
| if(!wxMallService.isgroupSupport(getTenantInfo())){ | |||
| return new ResultData(ErrorCode.SYS_AUTH_ERROR); | |||
| return new ResultData(); | |||
| } | |||
| disposeVo.setParentTenantId(getTenantInfo().getTenantId()); | |||
| final PageInfo<WxMallDisposeVo> page = wxMallDisposeService.listVoAsPage(disposeVo, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| @ApiOperation("分页列表接口") | |||
| @ApiOperation("查询配置") | |||
| @GetMapping("getMallDispose") | |||
| @SystemControllerLog(description = "列表") | |||
| public ResultData getMallDispose() { | |||
| @@ -67,7 +67,12 @@ public class WxMallDisposeController extends BaseController { | |||
| if(!wxMallService.isgroupSupport(getTenantInfo())){ | |||
| return new ResultData(ErrorCode.SYS_AUTH_ERROR); | |||
| } | |||
| mallDispose.updateTenantInfo(getTenantInfo()); | |||
| if(StringUtils.isBlank(mallDispose.getTenantId())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"tenantId 为null"); | |||
| } | |||
| if(StringUtils.isBlank(mallDispose.getParentTenantId())){ | |||
| mallDispose.setParentTenantId(getTenantInfo().getFinalTenantId()); | |||
| } | |||
| if(mallDispose.getPointsDispose() == null){ | |||
| mallDispose.setPointsDispose(EnumMallDispose.MALL_GROUP.getCode()); | |||
| } | |||
| @@ -71,9 +71,8 @@ public class WxCreditHistoryController extends BaseController { | |||
| if(Objects.isNull(merchantId)|| StringUtils.isEmpty(spendStr)||Objects.isNull(userId)) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; | |||
| } | |||
| try { | |||
| Map<String, Integer> result = wxCreditHistoryService.findByMerchantIdAndSpend(merchantId, spendStr, userId) ; | |||
| Map<String, Object> result = wxCreditHistoryService.findByMerchantIdAndSpend(getTenantInfo(),merchantId, userId,spendStr); | |||
| return new ResultData(result); | |||
| } catch (MallinkException e) { | |||
| return new ResultData(e.getErrorCode(),e.getMessage()); | |||
| @@ -97,6 +96,7 @@ public class WxCreditHistoryController extends BaseController { | |||
| String desc = ""; | |||
| if(wxCreditHistory.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())){ | |||
| WxMerchant byId = wxMerchantService.getById(wxCreditHistory.getMerchantId()); | |||
| wxCreditHistory.setBusinessId(byId.getBusinessId()); | |||
| desc = "管理端手动积分:消费商户["+byId.getName()+"] 消费金额["+wxCreditHistory.getSpendStr()+"元]"; | |||
| }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.REDUCE_CREDIT.getCode())){ | |||
| desc = "管理端手动扣减积分"; | |||
| @@ -109,7 +109,7 @@ public class WxCreditHistoryController extends BaseController { | |||
| wxCreditHistory.setChangePurpose(desc); | |||
| try { | |||
| wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),getTenantInfo()) ; | |||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,getTenantInfo().getTenantId()); | |||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,getTenantInfo()); | |||
| return new ResultData(Result.SUCCESS, "操作成功", credit); | |||
| } catch (MallinkException e) { | |||
| logger.error(e.getMessage()); | |||
| @@ -58,6 +58,7 @@ public class WxScoreHistoryController extends BaseController { | |||
| } | |||
| wxScoreHistory.setTenantId(getTenantInfo().getFinalTenantId()); | |||
| wxScoreHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); | |||
| wxScoreHistory.setRulesTenantId(getTenantInfo().getTenantId()); | |||
| wxScoreHistoryService.saveOrUpdate(wxScoreHistory); | |||
| return new ResultData(); | |||
| } | |||
| @@ -72,6 +73,7 @@ public class WxScoreHistoryController extends BaseController { | |||
| } | |||
| wxScoreHistory.setTenantId(getTenantInfo().getFinalTenantId()); | |||
| wxScoreHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); | |||
| wxScoreHistory.setRulesTenantId(getTenantInfo().getTenantId()); | |||
| wxScoreHistoryService.saveOrUpdate(wxScoreHistory); | |||
| return new ResultData(); | |||
| } | |||
| @@ -4,12 +4,13 @@ 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.SysConfig; | |||
| import com.iformall.domain.po.WxMall; | |||
| import com.iformall.domain.po.WxMallDispose; | |||
| import com.iformall.domain.po.WxScoreRules; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumCreditLockedStatus; | |||
| import com.iformall.enums.EnumGroupSupport; | |||
| import com.iformall.enums.EnumScoreRules; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.service.WxMallDisposeService; | |||
| import com.iformall.service.WxMallService; | |||
| import com.iformall.service.WxScoreRulesService; | |||
| import io.swagger.annotations.Api; | |||
| @@ -20,26 +21,32 @@ import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import java.util.HashMap; | |||
| import java.util.Map; | |||
| @RestController | |||
| @RequestMapping("wxScoreRules") | |||
| @Api(description = "成长值积分规则相关接口") | |||
| public class WxScoreRulesController extends BaseController { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| private WxMallDisposeService wxMallDisposeService; | |||
| @Autowired | |||
| private WxScoreRulesService wxScoreRulesService; | |||
| @Autowired | |||
| private WxMallService wxMallService; | |||
| @ApiOperation("成长值配置") | |||
| @ApiOperation("获取成长值配置") | |||
| @GetMapping("setting") | |||
| @SystemControllerLog(description = "成长值-配置") | |||
| public ResultData list() { | |||
| logger.debug("[" + getIpAddr() + "] WxScoreRulesController::list"); | |||
| public ResultData setting() { | |||
| logger.debug("[" + getIpAddr() + "] WxScoreRulesController::setting"); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getScoreRules(getTenantInfo()); | |||
| if (scoreRules.getCreditLocked() == null) { | |||
| scoreRules.setCreditLocked(EnumCreditLockedStatus.OPEN.getCode()); | |||
| if(getUser().getTenantId().equals(scoreRules.getTenantId())){ | |||
| scoreRules.setEditable(true); | |||
| } | |||
| return new ResultData(scoreRules); | |||
| } | |||
| @@ -49,74 +56,115 @@ public class WxScoreRulesController extends BaseController { | |||
| @SystemControllerLog(description = "成长值-积分-配置-新增") | |||
| public ResultData add(@RequestBody WxScoreRules wxScoreRules) { | |||
| logger.debug("[" + getIpAddr() + "] WxScoreRulesController::add"); | |||
| if(wxScoreRules.getType() != null){ | |||
| if(wxScoreRules.getType().equals(EnumScoreRules.SCORE.getCode()) || wxScoreRules.getType().equals(EnumScoreRules.CREDIT.getCode())){ | |||
| TenantEntity tenantEntity = getTenantInfo(); | |||
| if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "子广场用户无此权限"); | |||
| } | |||
| wxScoreRules.updateTenantInfo(tenantEntity); | |||
| }else if(wxScoreRules.getType().equals(EnumScoreRules.CREDIT_DOUBLE.getCode())){ | |||
| TenantEntity tenantEntity = getTenantInfo(); | |||
| if(wxMallService.isgroupSupport(tenantEntity)){ | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "集团用户无此权限"); | |||
| } | |||
| wxScoreRules.updateTenantInfo(tenantEntity); | |||
| }else{ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"type"); | |||
| } | |||
| }else{ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"type"); | |||
| if(wxScoreRules.getId() == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"id 为空"); | |||
| } | |||
| WxScoreRules record = wxScoreRulesService.getById(wxScoreRules.getId()); | |||
| if(record == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"当前未查询到数据"); | |||
| } | |||
| if(!getUser().getTenantId().equals(record.getTenantId())){ | |||
| return new ResultData(ErrorCode.SYS_AUTH_ERROR.getCode(),"当前没有权限修改"); | |||
| } | |||
| if(wxScoreRules.getType() == null){ | |||
| wxScoreRules.setType(record.getType()); | |||
| // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"type 为空"); | |||
| } | |||
| wxScoreRules.setTenantId(record.getTenantId()); | |||
| EnumScoreRules scoreRulesEnum = EnumScoreRules.getEnum(wxScoreRules.getType()); | |||
| if(scoreRulesEnum == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"type 不符合规范"); | |||
| } | |||
| if(StringUtils.isBlank(wxScoreRules.getRules())){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"规则 为空"); | |||
| } | |||
| if (!wxScoreRules.checkRules()) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"规则内容有项重复"); | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"规则内容有项重复"); | |||
| } | |||
| wxScoreRulesService.saveOrUpdate(wxScoreRules); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("积分配置") | |||
| @ApiOperation("获取积分配置") | |||
| @GetMapping("/credit_rules") | |||
| @SystemControllerLog(description = "积分-配置") | |||
| public ResultData creditRulesList() { | |||
| logger.debug("[" + getIpAddr() + "] creditRulesList::list"); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(getTenantInfo().getFinalTenantId()); | |||
| logger.debug("[" + getIpAddr() + "] creditRulesList::credit_rules"); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(getTenantInfo()); | |||
| if(getUser().getTenantId().equals(scoreRules.getTenantId())){ | |||
| scoreRules.setEditable(true); | |||
| } | |||
| return new ResultData(scoreRules); | |||
| } | |||
| @ApiOperation("积分倍率") | |||
| @ApiOperation("获取积分倍率设置") | |||
| @GetMapping("/credit_double") | |||
| @SystemControllerLog(description = "积分-配置") | |||
| @SystemControllerLog(description = "积分-获取积分倍率设置") | |||
| public ResultData creditDoubleRulesList() { | |||
| logger.debug("[" + getIpAddr() + "] creditDoubleRulesList::list"); | |||
| if(wxMallService.isgroupSupport(getUser())){ | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "集团用户无此权限"); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditDoubleRules(getTenantInfo()); | |||
| if(scoreRules == null){ | |||
| return new ResultData(); | |||
| } | |||
| if(getUser().getTenantId().equals(scoreRules.getTenantId())){ | |||
| scoreRules.setEditable(true); | |||
| } | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditDoubleRules(getTenantInfo().getTenantId()); | |||
| return new ResultData(scoreRules); | |||
| } | |||
| @ApiOperation("更新积分开关状态") | |||
| @ApiOperation("获取商户积分功能设置") | |||
| @GetMapping("/merchantCreditLocked") | |||
| @SystemControllerLog(description = "积分-获取商户积分功能设置") | |||
| public ResultData merchantCreditLocked() { | |||
| logger.debug("[" + getIpAddr() + "] creditDoubleRulesList::merchantCreditLocked"); | |||
| Map<String,Object> result = new HashMap<>(); | |||
| SysConfig creditLocked = wxScoreRulesService.merchantCreditLocked(getTenantInfo()); | |||
| if(creditLocked == null){ | |||
| return new ResultData(); | |||
| } | |||
| result.put("sysId",creditLocked.getId()); | |||
| result.put("creditLocked",creditLocked.getConfigItemValue()); | |||
| if(getUser().getTenantId().equals(getTenantInfo().getTenantId())){ | |||
| result.put("isEditable",true); | |||
| } | |||
| return new ResultData(result); | |||
| } | |||
| @ApiOperation("更新商户积分功能设置") | |||
| @PostMapping("updateCreditLocked") | |||
| @SystemControllerLog(description = "更新积分开关状态") | |||
| public ResultData updateCreditLocked(@RequestBody WxScoreRules wxScoreRules) { | |||
| public ResultData updateCreditLocked(@RequestBody Map<String, String> map) { | |||
| logger.debug("[" + getIpAddr() + "] WxScoreRulesController::updateCreditLocked"); | |||
| if (null == wxScoreRules.getId()) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "id不能为空"); | |||
| String sysIdStr = map.get("sysId"); | |||
| String creditLockedStr = map.get("creditLocked"); | |||
| if(StringUtils.isBlank(sysIdStr) || StringUtils.isBlank(creditLockedStr)){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||
| } | |||
| Long sysId = null; | |||
| Integer creditLocked = null; | |||
| try{ | |||
| sysId = Long.parseLong(sysIdStr); | |||
| creditLocked = Integer.parseInt(creditLockedStr); | |||
| }catch(Exception e){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| } | |||
| if (null == wxScoreRules.getCreditLocked()) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "creditLocked不能为空"); | |||
| if(sysId == null || creditLocked == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||
| } | |||
| TenantEntity tenantEntity = getTenantInfo(); | |||
| if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { | |||
| return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "子广场用户无此权限"); | |||
| EnumCreditLockedStatus lockedEnum = EnumCreditLockedStatus.getEnum(creditLocked); | |||
| if(lockedEnum == null){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); | |||
| } | |||
| if(wxMallService.isgroupSupport(getUser())){ | |||
| return new ResultData(ErrorCode.SYS_AUTH_ERROR); | |||
| } | |||
| wxScoreRules.updateTenantInfo(tenantEntity); | |||
| try { | |||
| wxScoreRulesService.updateCreditLocked(wxScoreRules); | |||
| } catch (Exception e) { | |||
| return new ResultData(ErrorCode.DB_FAIL.getCode(), "更新积分开关状态失败"); | |||
| if(!getUser().getTenantId().equals(getTenantInfo().getTenantId())){ | |||
| return new ResultData(ErrorCode.SYS_AUTH_ERROR); | |||
| } | |||
| wxScoreRulesService.updateCreditLocked(getTenantInfo(),sysId,lockedEnum); | |||
| return new ResultData(); | |||
| } | |||
| @@ -9,6 +9,7 @@ import com.iformall.domain.po.MallRolePermission; | |||
| import com.iformall.domain.po.SysConfig; | |||
| import com.iformall.domain.po.SysConfigValue; | |||
| import com.iformall.domain.po.base.BaseEntity; | |||
| import com.iformall.enums.EnumYesOrNo; | |||
| import com.iformall.service.SysConfigService; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| import io.swagger.annotations.ApiImplicitParams; | |||
| @@ -39,6 +40,7 @@ public class SysConfigController extends BaseController { | |||
| @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) | |||
| public ResultData list(MallRole sysRole, Integer pageNum, Integer pageSize) { | |||
| SysConfig config = new SysConfig(); | |||
| config.setIsHide(EnumYesOrNo.NO.getCode()); | |||
| config.setStatus(0); | |||
| PageInfo<SysConfig> page = sysConfigService.listAsPage(config, pageNum, pageSize, getTenantInfo()); | |||
| return new ResultData(page); | |||
| @@ -0,0 +1,41 @@ | |||
| UPDATE `mallink`.`mall_permission` SET `name` = '用户趋势',`url` = 'yonghuShuliang' WHERE `id` = 502; | |||
| INSERT INTO `mallink`.`mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (5502, '会员趋势', 5, 'Y', NULL, 1, NULL, NULL, 'huiyuanShuliang', 'icon-yonghuguanli2', 0, 502); | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201]' WHERE `id` = 1; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 7, 8, 9, 10, 50, 101, 102, 103, 104, 105, 106, 107, 201, 202, 203, 204, 205, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 409, 410, 411, 416, 418, 420, 421, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 961, 5502, 6610, 6611, 60701, 60702, 61201]' WHERE `id` = 2; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[2, 4, 5, 6, 7, 10, 50, 201, 202, 205, 210, 211, 212, 221, 222, 224, 225, 251, 261, 409, 410, 411, 416, 418, 501, 502, 503, 504, 505, 506, 507, 508, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 621, 622, 623, 624, 625, 626, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 5502, 60701, 60702, 61201]' WHERE `id` = 3; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[2, 4, 5, 6, 7, 10, 50, 201, 202, 205, 210, 211, 212, 221, 222, 224, 251, 261, 409, 410, 411, 416, 418, 501, 502, 503, 504, 505, 506, 507, 508, 511, 512, 513, 514, 521, 522, 523, 531, 532, 591, 601, 602, 604, 605, 606, 607, 608, 610, 611, 612, 613, 622, 623, 624, 625, 626, 641, 642, 643, 644, 661, 662, 663, 664, 671, 672, 674, 675, 681, 682, 684, 685, 691, 692, 693, 694, 695, 711, 901, 902, 904, 905, 906, 907, 908, 910, 931, 932, 5502, 60701, 60702, 61201]' WHERE `id` = 4; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 210, 211, 212, 221, 222, 223, 224, 251, 261, 409, 410, 411, 416, 500, 502, 504, 505, 506, 507, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 612, 615, 622, 647, 676, 680, 711, 901, 902, 904, 907, 5502, 61202, 61501, 61502]' WHERE `id` = 11; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 223, 224, 225, 251, 261, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201, 61202, 61501, 61502]' WHERE `id` = 12; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 5, 6, 8, 10, 50, 101, 102, 104, 105, 106, 108, 109, 203, 204, 206, 207, 501, 502, 503, 504, 505, 506, 507, 511, 512, 522, 523, 509, 591, 595, 601, 605, 621, 622, 623, 624, 625, 626, 627, 671, 901, 902, 5502]' WHERE `id` = 100; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 211, 212, 221, 222, 223, 224, 251, 409, 410, 411, 416, 500, 502, 504, 505, 506, 507, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 615, 622, 648, 649, 676, 680, 711, 901, 902, 904, 907, 5502, 61501, 61502]' WHERE `id` = 101; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 210, 211, 212, 221, 222, 223, 224, 251, 261, 409, 410, 411, 416, 500, 504, 505, 506, 507, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 612, 615, 622, 647, 650, 676, 680, 711, 901, 902, 904, 907, 5502, 41001, 61202, 61501, 61502, 71101]' WHERE `id` = 102; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201]' WHERE `id` = 1028; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 299, 300, 307, 308, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201]' WHERE `id` = 1035001036; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 225, 223, 224, 251, 261, 299, 300, 307, 308, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201, 61202, 61501, 61502]' WHERE `id` = 103500103610; | |||
| --备份 | |||
| --INSERT INTO `mallink`.`mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (500, '抖音用户概览', 5, 'Y', NULL, 1, NULL, NULL, 'ttuserHome', 'icon-yonghushuju', 0, 500); | |||
| --INSERT INTO `mallink`.`mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (501, '用户概览', 5, 'Y', NULL, 1, NULL, NULL, 'huiyuanHome', 'icon-tubiaochicundaochuSVGshangchuandaoalibaba-', 0, 501); | |||
| delete from `mallink`.`mall_permission` where id = 500; | |||
| delete from `mallink`.`mall_permission` where id = 501; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201]' WHERE `id` = 1; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 7, 8, 9, 10, 50, 101, 102, 103, 104, 105, 106, 107, 201, 202, 203, 204, 205, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 409, 410, 411, 416, 418, 420, 421, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 961, 5502, 6610, 6611, 60701, 60702, 61201]' WHERE `id` = 2; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[2, 4, 5, 6, 7, 10, 50, 201, 202, 205, 210, 211, 212, 221, 222, 224, 225, 251, 261, 409, 410, 411, 416, 418, 502, 503, 504, 505, 506, 507, 508, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 621, 622, 623, 624, 625, 626, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 5502, 60701, 60702, 61201]' WHERE `id` = 3; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[2, 4, 5, 6, 7, 10, 50, 201, 202, 205, 210, 211, 212, 221, 222, 224, 251, 261, 409, 410, 411, 416, 418, 502, 503, 504, 505, 506, 507, 508, 511, 512, 513, 514, 521, 522, 523, 531, 532, 591, 601, 602, 604, 605, 606, 607, 608, 610, 611, 612, 613, 622, 623, 624, 625, 626, 641, 642, 643, 644, 661, 662, 663, 664, 671, 672, 674, 675, 681, 682, 684, 685, 691, 692, 693, 694, 695, 711, 901, 902, 904, 905, 906, 907, 908, 910, 931, 932, 5502, 60701, 60702, 61201]' WHERE `id` = 4; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 210, 211, 212, 221, 222, 223, 224, 251, 261, 409, 410, 411, 416, 502, 504, 505, 506, 507, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 612, 615, 622, 647, 676, 680, 711, 901, 902, 904, 907, 5502, 61202, 61501, 61502]' WHERE `id` = 11; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 223, 224, 225, 251, 261, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201, 61202, 61501, 61502]' WHERE `id` = 12; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 5, 6, 8, 10, 50, 101, 102, 104, 105, 106, 108, 109, 203, 204, 206, 207, 502, 503, 504, 505, 506, 507, 511, 512, 522, 523, 509, 591, 595, 601, 605, 621, 622, 623, 624, 625, 626, 627, 671, 901, 902, 5502]' WHERE `id` = 100; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 211, 212, 221, 222, 223, 224, 251, 409, 410, 411, 416, 502, 504, 505, 506, 507, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 615, 622, 648, 649, 676, 680, 711, 901, 902, 904, 907, 5502, 61501, 61502]' WHERE `id` = 101; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 210, 211, 212, 221, 222, 223, 224, 251, 261, 409, 410, 411, 416, 504, 505, 506, 507, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 612, 615, 622, 647, 650, 676, 680, 711, 901, 902, 904, 907, 5502, 41001, 61202, 61501, 61502, 71101]' WHERE `id` = 102; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201]' WHERE `id` = 1028; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 224, 225, 251, 261, 299, 300, 307, 308, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201]' WHERE `id` = 1035001036; | |||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 210, 211, 212, 221, 222, 225, 223, 224, 251, 261, 299, 300, 307, 308, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 431, 432, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 615, 616, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 652, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 713, 714, 715, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5502, 6610, 6611, 41701, 41702, 60701, 60702, 61201, 61202, 61501, 61502]' WHERE `id` = 103500103610; | |||
| @@ -0,0 +1,23 @@ | |||
| ALTER TABLE `mallink`.`sys_config` | |||
| ADD COLUMN `is_hide` smallint(2) NOT NULL DEFAULT 0 COMMENT '是否隐藏' AFTER `update_date`; | |||
| INSERT INTO `mallink`.`sys_config`(`id`, `config_item_key`, `config_item_remark`, `create_date`, `update_date`, `is_hide`, `status`) VALUES (10, 'merchantCreditLocked', '商户功能是否开启,0-正常,1-锁定', '2023-03-30 18:13:01', '2023-03-30 18:13:01', 1, 0); | |||
| --记录下生产需要关闭商户积分的广场(默认是打开的)wx_score_rules 中 type=2 and credit_locked=1 的广场 | |||
| --初始化数据 | |||
| --INSERT INTO `mallink`.`sys_config_value`(`id`, `config_item_id`, `config_item_value`, `tenant_id`, `parent_tenant_id`, `create_date`, `update_date`) VALUES (78910, 10, '1', '789', NULL, '2023-03-30 18:13:01', '2023-03-30 18:13:01'); | |||
| ALTER TABLE `mallink`.`wx_score_rules` | |||
| DROP COLUMN `credit_locked`; | |||
| --type=2 积分规则,追加老带新规则 缓存--缓存--缓存 | |||
| update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 25, "desc": "老带新奖励", "step": 1, "limit": 0, "score": 0}' AS JSON)) | |||
| where type = 2; | |||
| update wx_score_rules set rules = JSON_ARRAY_APPEND(rules, '$',CAST('{"id": 26, "desc": "老带新消费奖励", "step": 1, "limit": 0, "score": 0}' AS JSON)) | |||
| where type = 2; | |||
| @@ -0,0 +1,606 @@ | |||
| ALTER TABLE `mallink`.`wx_credit_history_0` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_1` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_2` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_3` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_4` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_5` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_6` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_7` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_8` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_9` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_10` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_11` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_12` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_13` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_14` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_15` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_16` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_17` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_18` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_19` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_20` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_21` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_22` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_23` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_24` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_25` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_26` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_27` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_28` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_29` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_30` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_31` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_32` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_33` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_34` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_35` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_36` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_37` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_38` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_39` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_40` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_41` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_42` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_43` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_44` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_45` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_46` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_47` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_48` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_49` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_50` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_51` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_52` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_53` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_54` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_55` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_56` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_57` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_58` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_59` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_60` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_61` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_62` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_63` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_64` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_65` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_66` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_67` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_68` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_69` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_70` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_71` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_72` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_73` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_74` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_75` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_76` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_77` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_78` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_79` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_80` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_81` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_82` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_83` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_84` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_85` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_86` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_87` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_88` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_89` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_90` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_91` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_92` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_93` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_94` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_95` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_96` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_97` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_98` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_credit_history_99` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| update `mallink`.`wx_credit_history_0` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_1` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_2` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_3` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_4` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_5` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_6` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_7` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_8` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_9` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_10` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_11` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_12` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_13` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_14` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_15` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_16` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_17` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_18` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_19` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_20` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_21` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_22` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_23` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_24` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_25` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_26` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_27` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_28` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_29` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_30` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_31` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_32` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_33` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_34` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_35` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_36` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_37` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_38` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_39` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_40` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_41` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_42` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_43` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_44` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_45` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_46` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_47` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_48` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_49` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_50` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_51` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_52` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_53` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_54` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_55` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_56` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_57` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_58` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_59` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_60` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_61` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_62` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_63` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_64` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_65` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_66` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_67` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_68` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_69` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_70` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_71` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_72` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_73` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_74` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_75` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_76` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_77` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_78` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_79` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_80` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_81` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_82` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_83` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_84` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_85` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_86` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_87` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_88` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_89` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_90` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_91` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_92` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_93` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_94` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_95` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_96` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_97` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_98` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_credit_history_99` set `rules_tenant_id` = `tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_0` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_1` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_2` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_3` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_4` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_5` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_6` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_7` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_8` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_9` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_10` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_11` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_12` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_13` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_14` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_15` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_16` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_17` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_18` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_19` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_20` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_21` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_22` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_23` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_24` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_25` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_26` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_27` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_28` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_29` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_30` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_31` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_32` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_33` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_34` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_35` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_36` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_37` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_38` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_39` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_40` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_41` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_42` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_43` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_44` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_45` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_46` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_47` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_48` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_49` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_50` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_51` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_52` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_53` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_54` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_55` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_56` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_57` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_58` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_59` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_60` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_61` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_62` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_63` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_64` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_65` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_66` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_67` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_68` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_69` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_70` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_71` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_72` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_73` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_74` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_75` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_76` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_77` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_78` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_79` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_80` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_81` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_82` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_83` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_84` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_85` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_86` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_87` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_88` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_89` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_90` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_91` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_92` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_93` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_94` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_95` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_96` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_97` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_98` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| ALTER TABLE `mallink`.`wx_score_history_99` | |||
| ADD COLUMN `rules_tenant_id` varchar(5) AFTER `parent_tenant_id`; | |||
| update `mallink`.`wx_score_history_0` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_1` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_2` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_3` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_4` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_5` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_6` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_7` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_8` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_9` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_10` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_11` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_12` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_13` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_14` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_15` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_16` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_17` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_18` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_19` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_20` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_21` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_22` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_23` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_24` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_25` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_26` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_27` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_28` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_29` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_30` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_31` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_32` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_33` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_34` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_35` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_36` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_37` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_38` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_39` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_40` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_41` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_42` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_43` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_44` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_45` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_46` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_47` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_48` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_49` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_50` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_51` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_52` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_53` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_54` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_55` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_56` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_57` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_58` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_59` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_60` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_61` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_62` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_63` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_64` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_65` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_66` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_67` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_68` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_69` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_70` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_71` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_72` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_73` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_74` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_75` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_76` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_77` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_78` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_79` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_80` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_81` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_82` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_83` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_84` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_85` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_86` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_87` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_88` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_89` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_90` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_91` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_92` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_93` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_94` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_95` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_96` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_97` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_98` set `rules_tenant_id` = `tenant_id`; | |||
| update `mallink`.`wx_score_history_99` set `rules_tenant_id` = `tenant_id`; | |||
| @@ -270,7 +270,7 @@ public class WxCUserController extends BaseController { | |||
| wxCreditHistory.setChangePurpose("商户端["+wxMerchant.getName()+"]操作完善个人信息"); | |||
| wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); | |||
| wxCreditHistory.setOperatorId(bUser.getId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxMerchant.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxMerchant); | |||
| } | |||
| @@ -66,7 +66,7 @@ public class WxCreditHistoryController extends BaseController { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; | |||
| } | |||
| try { | |||
| Map<String, Integer> result = wxCreditHistoryService.findByMerchantIdAndSpend(merchantId, spendStr, userId); | |||
| Map<String, Object> result = wxCreditHistoryService.findByMerchantIdAndSpend(getTenantInfo(),merchantId, userId, spendStr); | |||
| return new ResultData(result); | |||
| } catch (MallinkException e) { | |||
| return new ResultData(e.getErrorCode(), e.getMessage()); | |||
| @@ -128,7 +128,7 @@ public class WxCreditHistoryController extends BaseController { | |||
| if (null != getLoginBUser().getBuserId()) { | |||
| wxCreditHistory.setBuserId(getLoginBUser().getBuserId()); | |||
| } | |||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantInfo.getTenantId()); | |||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantInfo); | |||
| //更新标签 | |||
| if (wxCreditHistory.getTags() != null && !wxCreditHistory.getTags().isEmpty()) { | |||
| wxCUserTagsService.updateTagByUserId(wxCreditHistory.getCUserId(),tenantInfo, wxCreditHistory.getTags()); | |||
| @@ -86,8 +86,8 @@ public class WxMerchantBUserController extends BaseController { | |||
| } | |||
| resultMap.put("creditLocked", merchant.getCreditLocked()); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(user.getFinalTenantId()); | |||
| if (scoreRules.getCreditLocked().equals(EnumCreditLockedStatus.CLOSE.getCode())) { | |||
| SysConfig creditLocked = wxScoreRulesService.merchantCreditLocked(merchant); | |||
| if (EnumCreditLockedStatus.CLOSE.getCode().toString().equals(creditLocked.getConfigItemValue())) { | |||
| resultMap.put("creditLocked", EnumCreditLockedStatus.CLOSE.getCode()); | |||
| } | |||
| resultMap.put("tenant_id",merchant.getTenantId()); | |||
| @@ -84,7 +84,7 @@ public class WxCreditHistoryController extends BaseController{ | |||
| try { | |||
| wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),getTenantInfo()) ; | |||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,getTenantInfo().getTenantId()); | |||
| WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,getTenantInfo()); | |||
| removeCacheCUser(); | |||
| return new ResultData(Result.SUCCESS, "操作成功", credit); | |||
| } catch (MallinkException e) { | |||
| @@ -97,7 +97,7 @@ public class WxCreditHistoryController extends BaseController{ | |||
| @GetMapping("/credit_rules") | |||
| public ResultData creditRulesList() { | |||
| logger.debug("[" + getIpAddr() + "] creditRulesList::list"); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(getTenantInfo().getFinalTenantId()); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(getTenantInfo()); | |||
| return new ResultData(scoreRules); | |||
| } | |||
| @@ -1345,7 +1345,7 @@ public class PosServiceImpl implements PosService { | |||
| //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 | |||
| creditHistory.setMerchantId(wxMerchant.getId()); | |||
| creditHistory.setChangePurpose("pos消费:消费商户["+wxMerchant.getName()+"] 卷名称["+coupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] "); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,couponOrderCVo.getTenantId()); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,couponOrderCVo); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| return creditHistory.getCreditNum(); | |||
| } else { | |||
| @@ -1374,7 +1374,7 @@ public class PosServiceImpl implements PosService { | |||
| //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 | |||
| creditHistory.setMerchantId(merchant.getId()); | |||
| creditHistory.setChangePurpose("pos消费:消费商户["+merchant.getName()+"] 消费金额["+creditHistory.getSpendStr()+"元]"); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,merchant.getTenantId()); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,merchant); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| return creditHistory.getCreditNum(); | |||
| } else { | |||
| @@ -339,7 +339,7 @@ public class CouponSendSchedule { | |||
| } | |||
| } | |||
| int birthdayScale = CreditUtil.getBirthdayScoreScale(tenantEntity.getFinalTenantId(), wxScoreRulesService); | |||
| int birthdayScale = CreditUtil.getBirthdayScoreScale(tenantEntity, wxScoreRulesService); | |||
| for (WxCUserBasicInfo cu : couponSendedUsers) { | |||
| // 记录积分倍率日期 | |||
| try { | |||
| @@ -8,5 +8,6 @@ public class SysConfigConstant { | |||
| public static final String coupon_detail_show_selled = "couponDetailShowSelled"; | |||
| public static final String coupon_list_show_selled = "couponListShowSelled"; | |||
| public static final String member_seconds_key="memberSeconds"; | |||
| public static final String merchant_credit_locked="merchantCreditLocked"; | |||
| } | |||
| @@ -25,6 +25,8 @@ public class SysConfig extends BaseEntity { | |||
| private Date createDate; | |||
| @io.swagger.annotations.ApiModelProperty(value="",name="updateDate") | |||
| private Date updateDate; | |||
| @io.swagger.annotations.ApiModelProperty(value="是否隐藏",name="isHide") | |||
| private Integer isHide; | |||
| @io.swagger.annotations.ApiModelProperty(value="0-有效 1-无效",name="status") | |||
| private Integer status; | |||
| @@ -18,6 +18,9 @@ public class WxCreditHistory extends BaseTenantEntity { | |||
| protected Long id; | |||
| @io.swagger.annotations.ApiModelProperty(value="规则租户ID",name="rulesTenantId") | |||
| protected String rulesTenantId; | |||
| @TableField(exist = false) | |||
| private List<Long> userIdList; | |||
| @@ -16,6 +16,9 @@ public class WxScoreHistory extends BaseTenantEntity { | |||
| protected Long id; | |||
| @io.swagger.annotations.ApiModelProperty(value="规则租户ID",name="rulesTenantId") | |||
| protected String rulesTenantId; | |||
| @io.swagger.annotations.ApiModelProperty(value="会员ID",name="cUserId") | |||
| private Long cUserId; | |||
| @io.swagger.annotations.ApiModelProperty(value="创建日期",name="createDate") | |||
| @@ -63,10 +63,12 @@ public class WxScoreRules extends BaseTenantEntity { | |||
| "{\"id\":3,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"绑定车牌1个\"}," + | |||
| "{\"id\":6,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"授权手机号\"}," + | |||
| "{\"id\":7,\"limit\":1,\"step\":1,\"score\":0,\"desc\":\"编辑个人信息\"}," + | |||
| "{\"id\": 17, \"desc\": \"每日签到\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ | |||
| "{\"id\": 18, \"desc\": \"连续签到7天\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ | |||
| "{\"id\": 19, \"desc\": \"连续签到14天\", \"step\": 1, \"limit\": 1, \"score\": 0},"+ | |||
| "{\"id\": 20, \"desc\": \"连续签到28天\", \"step\": 1, \"limit\": 1, \"score\": 0}"+ | |||
| "{\"id\": 17, \"desc\": \"每日签到\", \"step\": 1, \"limit\": 0, \"score\": 0},"+ | |||
| "{\"id\": 18, \"desc\": \"连续签到7天\", \"step\": 1, \"limit\": 0, \"score\": 0},"+ | |||
| "{\"id\": 19, \"desc\": \"连续签到14天\", \"step\": 1, \"limit\": 0, \"score\": 0},"+ | |||
| "{\"id\": 20, \"desc\": \"连续签到28天\", \"step\": 1, \"limit\": 0, \"score\": 0}"+ | |||
| "{\"id\": 25, \"desc\": \"老带新奖励\", \"step\": 1, \"limit\": 0, \"score\": 0}"+ | |||
| "{\"id\": 26, \"desc\": \"老带新消费奖励\", \"step\": 1, \"limit\": 0, \"score\": 0}"+ | |||
| "]"; | |||
| @TableField(exist = false) | |||
| @@ -108,9 +110,6 @@ public class WxScoreRules extends BaseTenantEntity { | |||
| @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; | |||
| } | |||
| @@ -189,4 +188,9 @@ public class WxScoreRules extends BaseTenantEntity { | |||
| return true; | |||
| } | |||
| @TableField(exist = false) | |||
| @io.swagger.annotations.ApiModelProperty(value="是否可编辑",name="isEditable") | |||
| private boolean isEditable; | |||
| } | |||
| @@ -32,6 +32,9 @@ public enum EnumScoreType { | |||
| REFUND_CONSUMPTION(22, "消费退款"), | |||
| REFUND_REDUCE_CREDIT(23, "积分兑换退款"), | |||
| POINT_CHANGE(24, "其他积分变动"),// | |||
| OLD_WITH_NEW(25, "老带新奖励"), | |||
| OLD_WITH_NEW_CONSUME(26, "老带新消费奖励"), | |||
| ; | |||
| public static EnumScoreType getEnum(Integer code) { | |||
| @@ -31,9 +31,10 @@ public interface SysConfigService { | |||
| /** | |||
| * 保存或更新实体 | |||
| * | |||
| * @param record | |||
| * @param | |||
| */ | |||
| void saveConfigValue(Long id,TenantEntity tenantEntity,String value); | |||
| void saveOrUpdate(SysConfig record); | |||
| } | |||
| @@ -54,7 +54,7 @@ public interface WxCreditHistoryService { | |||
| * | |||
| * @param record | |||
| */ | |||
| WxCreditHistory saveOrUpdate(WxCreditHistory record,String tenantId); | |||
| WxCreditHistory saveOrUpdate(WxCreditHistory record,TenantEntity tenantinfo); | |||
| /** | |||
| * 积分历史回退 | |||
| @@ -66,11 +66,11 @@ public interface WxCreditHistoryService { | |||
| /** | |||
| * 根据Id删除实体 | |||
| * | |||
| * @param id | |||
| * @param | |||
| */ | |||
| //void deleteById(Long id); | |||
| Map<String, Integer> findByMerchantIdAndSpend(Long merchantId, String spendStr, Long userId); | |||
| Map<String, Object> findByMerchantIdAndSpend(TenantEntity tenantEntity,Long merchantId,Long userId,String spendStr); | |||
| void clearCreditByYear(); | |||
| @@ -1,8 +1,10 @@ | |||
| package com.iformall.service; | |||
| import com.iformall.domain.po.SysConfig; | |||
| import com.iformall.domain.po.WxScoreHistory; | |||
| import com.iformall.domain.po.WxScoreRules; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumCreditLockedStatus; | |||
| import com.iformall.enums.EnumScoreType; | |||
| import java.util.List; | |||
| @@ -18,7 +20,14 @@ public interface WxScoreRulesService { | |||
| /** | |||
| * 获取租户的ScoreRules | |||
| * @param tenantEntity | |||
| * @param | |||
| * @return | |||
| */ | |||
| WxScoreRules getScoreRules(String tenantId); | |||
| /** | |||
| * 获取租户的ScoreRules | |||
| * @param | |||
| * @return | |||
| */ | |||
| WxScoreRules getScoreRules(TenantEntity tenantEntity); | |||
| @@ -29,6 +38,14 @@ public interface WxScoreRulesService { | |||
| * @return | |||
| */ | |||
| WxScoreRules getCreditRules(String tenantId); | |||
| /** | |||
| * 获取租户的积分规则 | |||
| * @param | |||
| * @return | |||
| */ | |||
| WxScoreRules getCreditRules(TenantEntity tenantEntity); | |||
| /** | |||
| * 保存或更新实体 | |||
| * | |||
| @@ -60,7 +77,13 @@ public interface WxScoreRulesService { | |||
| List<WxScoreRules> findList(WxScoreRules wxScoreRules); | |||
| void updateCreditLocked(WxScoreRules wxScoreRules); | |||
| void updateCreditLocked(TenantEntity tenantEntity,Long sysId, EnumCreditLockedStatus lockedEnum); | |||
| WxScoreRules getCreditDoubleRules(String tenantId); | |||
| WxScoreRules getCreditDoubleRules(TenantEntity tenantEntity); | |||
| WxScoreRules getById(Long id); | |||
| SysConfig merchantCreditLocked(TenantEntity tenantInfo); | |||
| } | |||
| @@ -205,7 +205,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||
| creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); | |||
| creditHistory.setSpend(record.getPayAmount()); | |||
| creditHistory.setChangePurpose("支付宝商圈消费:商户["+record.getMerchantName()+"] ("+record.getPayAmountStr()+"元) "); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record); | |||
| Integer creditNum = 0; | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -324,7 +324,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||
| creditHistory.setCreditNum(points); | |||
| creditHistory.setSpend(0-record.getRefundAmount()); | |||
| creditHistory.setChangePurpose("支付宝商圈退款:商户["+record.getMerchantName()+"] ("+record.getRefundAmountStr()+"元) "); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -128,5 +128,20 @@ public class SysConfigServiceImpl implements SysConfigService { | |||
| } | |||
| RedisCacheUtils.removeCache(baseRedisTemplate, String.format(cache_prex, tenantEntity.getTenantId(),config.getConfigItemKey())); | |||
| } | |||
| @Override | |||
| public void saveOrUpdate(SysConfig record) { | |||
| Date curr = new Date(); | |||
| if (record.getId() == null) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| record.setId(idWorker.nextId()); | |||
| record.setCreateDate(curr); | |||
| record.setUpdateDate(curr); | |||
| sysConfigMapper.insert(record); | |||
| } else { | |||
| record.setUpdateDate(curr); | |||
| sysConfigMapper.updateById(record); | |||
| } | |||
| } | |||
| } | |||
| @@ -238,7 +238,7 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService { | |||
| wxCreditHistory.setChangePurpose(EnumScoreType.ACTIVITY_JOIN.getMessage()+"["+wxActivity.getTitle()+"]"); | |||
| wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); | |||
| wxCreditHistory.setOperatorId(wxActivityJoin.getUserId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxActivity.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxActivity); | |||
| } | |||
| return new ResultData(); | |||
| @@ -223,7 +223,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||
| creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); | |||
| creditHistory.setSpend(record.getPayAmount()); | |||
| creditHistory.setChangePurpose("微信商圈消费:商户["+record.getMerchantName()+"] ("+record.getPayAmountStr()+"元) "); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -350,7 +350,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||
| creditHistory.setCreditNum(points); | |||
| creditHistory.setSpend(0-record.getRefundAmount()); | |||
| creditHistory.setChangePurpose("微信商圈退款:商户["+record.getMerchantName()+"] ("+record.getRefundAmountStr()+"元) "); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = creditHistoryService.saveOrUpdate(creditHistory,record); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -724,7 +724,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc | |||
| wxCreditHistory.setChangePurpose(enumScoreType.getMessage()); | |||
| wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); | |||
| wxCreditHistory.setOperatorId(userId); | |||
| WxCreditHistory record = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantInfo.getTenantId()); | |||
| WxCreditHistory record = wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantInfo); | |||
| return record.getCreditAmount(); | |||
| } | |||
| @@ -1188,7 +1188,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc | |||
| } | |||
| wxCreditHistory.setCreditAmount(credit); | |||
| wxCreditHistory.setCreditNum(credit); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,mallUserInfo.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,mallUserInfo); | |||
| } | |||
| } catch (Exception e) { | |||
| logger.error(e.getMessage()); | |||
| @@ -228,7 +228,7 @@ public class WxCUserBasicSignServiceImpl implements WxCUserBasicSignService { | |||
| wxCreditHistory.setChangePurpose(enumScoreType.getMessage()); | |||
| wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); | |||
| wxCreditHistory.setOperatorId(record.getUserId()); | |||
| WxCreditHistory wxCreditHistory1 = wxCreditHistoryService.saveOrUpdate(wxCreditHistory, tenantEntity.getTenantId()); | |||
| WxCreditHistory wxCreditHistory1 = wxCreditHistoryService.saveOrUpdate(wxCreditHistory, tenantEntity); | |||
| if(wxCreditHistory1.getCreditNum() == null){ | |||
| return 0; | |||
| } | |||
| @@ -335,7 +335,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||
| creditHistory.setMerchantId(record.getMerchantId()); | |||
| WxMerchant wxMerchant = wxMerchantMapper.selectById(record.getMerchantId()); | |||
| creditHistory.setChangePurpose("卡消费:消费商户["+wxMerchant.getName()+"] 金额["+creditHistory.getSpendStr()+"元]"); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,record); | |||
| } catch (Exception e) { | |||
| logger.error("积分值:" + e.getMessage()); | |||
| } | |||
| @@ -1334,7 +1334,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { | |||
| creditHistory.setMerchantId(record.getMerchantId()); | |||
| // WxMerchant wxMerchant = wxMerchantMapper.selectById(record.getMerchantId()); | |||
| creditHistory.setChangePurpose("pos卡消费:消费商户["+merchant.getName()+"] 金额["+creditHistory.getSpendStr()+"元]"); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record); | |||
| if (creditHistory != null) { | |||
| scoreCreditCalc.setCredit(scoreCreditCalc.getCredit() + creditHistory.getCreditNum()); | |||
| } | |||
| @@ -1663,7 +1663,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||
| creditHistory.setBusinessId(wxCoupon.getBusiness()); | |||
| creditHistory.setSpend(couponOrder.getCouponPrice()); | |||
| creditHistory.setChangePurpose("券["+wxCoupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] 使用成功"); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,couponOrder.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,couponOrder); | |||
| } catch (Exception e) { | |||
| logger.error("积分值:" + e.getMessage()); | |||
| } | |||
| @@ -1700,7 +1700,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||
| creditHistory.setBusinessId(wxCoupon.getBusiness()); | |||
| creditHistory.setSpend(couponOrder.getCouponPrice()); | |||
| creditHistory.setChangePurpose("核销停车劵["+wxCoupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] "); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,couponOrder.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,couponOrder); | |||
| } catch (Exception e) { | |||
| logger.error("积分值:" + e.getMessage()); | |||
| } | |||
| @@ -577,7 +577,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| @Override | |||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | |||
| public WxCreditHistory saveOrUpdate(WxCreditHistory record,String tenantId) { | |||
| public WxCreditHistory saveOrUpdate(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(record.getCUserId(),record.getTenantId()); | |||
| if (wxCUserBasicInfo == null) { | |||
| //验证此用户是否存在 | |||
| @@ -598,36 +598,20 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| } | |||
| record.setCreditAmount(currentCreditAmount); | |||
| int creditChangeNumOrigin = creditIncrement(record); | |||
| int creditChangeNum = creditChangeNumOrigin ; | |||
| //是否参与了生日积分倍率 | |||
| boolean hasBirthDateCredit = false; | |||
| if (record.getCreditType().equals(EnumScoreType.CONSUMPTION.getCode()) | |||
| || record.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())) { | |||
| //等级积分配置 | |||
| try { | |||
| creditChangeNum = CreditUtil.calUserCredit(creditChangeNumOrigin, wxCUserBasicInfo, tenantId, wxScoreRulesService,wxLevelConfigMapper); | |||
| if (Objects.nonNull(CreditUtil.getIsBirthDayScale())) { | |||
| hasBirthDateCredit = true; | |||
| } | |||
| } catch (Exception e) { | |||
| logger.error("积分倍率计算异常",e); | |||
| } finally { | |||
| CreditUtil.clear(); | |||
| } | |||
| } | |||
| int creditChangeNumOrigin = creditIncrement(record,tenantEntity,wxCUserBasicInfo,hasBirthDateCredit); | |||
| if (creditChangeNum != 0) { | |||
| Integer total = currentCreditAmount + creditChangeNum; | |||
| if (creditChangeNumOrigin != 0) { | |||
| Integer total = currentCreditAmount + creditChangeNumOrigin; | |||
| // if (total > Integer.MAX_VALUE) { | |||
| // throw new MallinkException(ErrorCode.OUT_OF_CREDIT); | |||
| // } | |||
| if (total < 0 && creditChangeNum < 0 && !Objects.equals(record.getCreditType(),EnumScoreType.REFUND_CONSUMPTION.getCode())) { | |||
| if (total < 0 && creditChangeNumOrigin < 0 && !Objects.equals(record.getCreditType(),EnumScoreType.REFUND_CONSUMPTION.getCode())) { | |||
| throw new MallinkException(ErrorCode.CREDIT_NOT_ENOUGH); | |||
| } | |||
| //如果为导入的会员 则直接覆盖总积分和操作积分明细 | |||
| if (!Objects.equals(record.getCreditType(),EnumScoreType.MEM_IMPORT.getCode())) { | |||
| record.setCreditNum(creditChangeNum); | |||
| record.setCreditNum(creditChangeNumOrigin); | |||
| record.setCreditAmount(total); | |||
| } | |||
| if (record.getId() == null) { | |||
| @@ -648,12 +632,8 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| } | |||
| //发消息 | |||
| sendCreditUpdRemind(wxCUserBasicInfo,record,tenantId); | |||
| TenantEntity tenantEntity = new TenantEntity(); | |||
| tenantEntity.setTenantId(tenantId); | |||
| if(!record.getTenantId().equals(tenantId)){ | |||
| tenantEntity.setParentTenantId(record.getTenantId()); | |||
| } | |||
| sendCreditUpdRemind(wxCUserBasicInfo,record,tenantEntity); | |||
| wxMemberCardService.sendsyncMemberCardBonusMsg(tenantEntity,null,wxCUserBasicInfo.getId(),record.getId()); | |||
| @@ -664,19 +644,17 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| return record; | |||
| } | |||
| private void sendCreditUpdRemind(WxCUserBasicInfo wxCUserBasicInfo,WxCreditHistory record,String tenantId){ | |||
| private void sendCreditUpdRemind(WxCUserBasicInfo wxCUserBasicInfo,WxCreditHistory record,TenantEntity tenantEntity){ | |||
| try { | |||
| WxTemplateMsg temp = new WxTemplateMsg(); | |||
| // temp.updateTenantInfo(record); | |||
| temp.setTenantId(tenantId); | |||
| temp.updateTenantInfo(tenantEntity); | |||
| temp.setType(EnumTemplateType.CREDIT_UPD_REMIND.getCode()); | |||
| temp = wxTemplateMsgService.getByObj(temp); | |||
| if(temp != null){ | |||
| String openId = wxCUserMapper.findOpenId(wxCUserBasicInfo.getId(),tenantId); | |||
| String openId = wxCUserMapper.findOpenId(wxCUserBasicInfo.getId(),tenantEntity.getTenantId()); | |||
| if(StringUtils.isNotBlank(openId)){ | |||
| WxMsg msg = new WxMsg(); | |||
| // msg.updateTenantInfo(record); | |||
| msg.setTenantId(tenantId); | |||
| msg.updateTenantInfo(tenantEntity); | |||
| // msg.setWay(EnumSendWay.APPINFOR.getCode()); | |||
| // msg.setIsright(EnumMsgSend.MSG_SEND_IMMEDIATELY.getCode()); | |||
| // msg.setStatus(EnumMsgStatus.MSG_STATUS_NOT_SEND.getCode()); | |||
| @@ -742,171 +720,184 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| // } | |||
| @Override | |||
| public Map<String, Integer> findByMerchantIdAndSpend(Long merchantId, String spendStr, Long userId) { | |||
| public Map<String,Object> findByMerchantIdAndSpend(TenantEntity tenantEntity,Long merchantId,Long userId,String spendStr) { | |||
| WxMerchant wxMerchant = wxMerchantMapper.selectById(merchantId); | |||
| Map<String, Integer> creditMap = Maps.newHashMap(); | |||
| if (wxMerchant != null && wxMerchant.getBusinessId() != null) { | |||
| WxCreditHistory wxCreditHistory = new WxCreditHistory(); | |||
| wxCreditHistory.setBusinessId(wxMerchant.getBusinessId()); | |||
| //wxCreditHistory.updateTenantInfo(tenantEntity); | |||
| wxCreditHistory.setTenantId(wxMerchant.getFinalTenantId()); | |||
| wxCreditHistory.setFinalTenantId(wxMerchant.getFinalTenantId()); | |||
| int credit; | |||
| int creditNew = 0 ; | |||
| if (StringUtils.isNotBlank(spendStr)) { | |||
| wxCreditHistory.setSpend(new BigDecimal(spendStr).multiply(new BigDecimal(100)).intValue()); | |||
| credit = payAddCredit(wxCreditHistory); | |||
| if (Objects.nonNull(userId)) { | |||
| WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(userId,wxMerchant.getFinalTenantId()); | |||
| try { | |||
| creditNew = CreditUtil.calUserCredit(credit, wxCUserBasicInfo, wxMerchant.getTenantId(), wxScoreRulesService,wxLevelConfigMapper); | |||
| } catch (Exception e) { | |||
| logger.error("积分倍率计算异常",e); | |||
| } finally { | |||
| CreditUtil.clear(); | |||
| } | |||
| } else { | |||
| creditNew = credit; | |||
| } | |||
| } | |||
| creditMap.put("credit", creditNew); | |||
| if(wxMerchant == null){ | |||
| throw new MallinkException(ErrorCode.SHOP_IS_NOT_FOUND); | |||
| } | |||
| WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(userId,tenantEntity.getFinalTenantId()); | |||
| if (wxCUserBasicInfo == null) { | |||
| //验证此用户是否存在 | |||
| throw new MallinkException(ErrorCode.USER_NOT_AUTH_PHONE); | |||
| } | |||
| if (wxCUserBasicInfo != null && EnumCreditLockedStatus.CLOSE.getCode().equals(wxCUserBasicInfo.getStatus())) { | |||
| logger.info(ErrorCode.MEMBER_IS_LOCKED.getMessage()); | |||
| throw new MallinkException(ErrorCode.MEMBER_IS_LOCKED); | |||
| } | |||
| Map<String, Object> creditMap = Maps.newHashMap(); | |||
| WxCreditHistory wxCreditHistory = new WxCreditHistory(); | |||
| wxCreditHistory.setTenantId(tenantEntity.getFinalTenantId()); | |||
| wxCreditHistory.setBusinessId(wxMerchant.getBusinessId()); | |||
| wxCreditHistory.setCreditType(EnumScoreType.SPEND_CREDIT.getCode()); | |||
| wxCreditHistory.setSpend(new BigDecimal(spendStr).multiply(new BigDecimal(100)).intValue()); | |||
| boolean hasBirthDateCredit = false; | |||
| int creditNew = payAddCredit(wxCreditHistory, tenantEntity, wxCUserBasicInfo, hasBirthDateCredit); | |||
| creditMap.put("rulesTenantId",wxCreditHistory.getRulesTenantId()); | |||
| creditMap.put("hasBirthDateCredit", hasBirthDateCredit); | |||
| creditMap.put("credit", creditNew); | |||
| return creditMap; | |||
| } | |||
| //根据积分类型计算"增加积分" | |||
| private int creditIncrement(WxCreditHistory record) { | |||
| private int creditIncrement(WxCreditHistory record,TenantEntity tenantEntity,WxCUserBasicInfo wxCUserBasicInfo,boolean hasBirthDateCredit) { | |||
| //查找C端用户的成长值 | |||
| if (record.getCreditType() == EnumScoreType.LOGIN.getCode()) { | |||
| // return loginAddCredit(record);//登陆加积分取消 | |||
| // return loginAddCredit(record,tenantEntity);//登陆加积分取消 | |||
| return 0; | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.BIND_CAR.getCode()) { | |||
| return bindCarAddCredit(record); | |||
| return bindCarAddCredit(record,tenantEntity); | |||
| } | |||
| // if (record.getCreditType() == EnumScoreType.WECHAT_PERSION.getCode()) { | |||
| // return personAddCredit(record); | |||
| // return personAddCredit(record,tenantEntity); | |||
| // } | |||
| if (record.getCreditType() == EnumScoreType.WECHAT_PHONE.getCode()) { | |||
| return phoneAddCredit(record); | |||
| return phoneAddCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.COMPLETE_INFO.getCode()) { | |||
| return infoAddCredit(record); | |||
| return infoAddCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.SPEND_CREDIT.getCode()) { | |||
| return spendCredit(record); | |||
| return payAddCredit(record,tenantEntity,wxCUserBasicInfo,hasBirthDateCredit); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.CHANGE_CREDIT.getCode()) { | |||
| return changeCredit(record); | |||
| return changeCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.CONSUMPTION.getCode()) { | |||
| return payAddCredit(record); | |||
| return payAddCredit(record,tenantEntity,wxCUserBasicInfo,hasBirthDateCredit); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.REDUCE_CREDIT.getCode()) { | |||
| return reduceCredit(record); | |||
| return reduceCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.MEM_IMPORT.getCode()) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| return record.getCreditNum(); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.ACTIVITY_JOIN.getCode()) { | |||
| return reduceCredit(record); | |||
| return reduceCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.GAME_LES_CREDIT.getCode()) { | |||
| return reduceCredit(record); | |||
| return reduceCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.GAME_ADD_CREDIT.getCode()) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| return record.getCreditNum(); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.SIGN_IN_DAY.getCode()) { | |||
| return signinCredit(record); | |||
| return signinCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.SIGN_IN_SEVENDAY.getCode()) { | |||
| return signinMonthCredit(record,EnumScoreType.SIGN_IN_SEVENDAY); | |||
| return signinMonthCredit(record,tenantEntity,EnumScoreType.SIGN_IN_SEVENDAY); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.SIGN_IN_FTDAY.getCode()) { | |||
| return signinMonthCredit(record,EnumScoreType.SIGN_IN_FTDAY); | |||
| return signinMonthCredit(record,tenantEntity,EnumScoreType.SIGN_IN_FTDAY); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.SIGN_IN_TEDAY.getCode()) { | |||
| return signinMonthCredit(record,EnumScoreType.SIGN_IN_TEDAY); | |||
| return signinMonthCredit(record,tenantEntity,EnumScoreType.SIGN_IN_TEDAY); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.QUESTION_ADD_CREDIT.getCode()) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| return record.getCreditNum(); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.REFUND_CONSUMPTION.getCode()) { | |||
| return reduceCredit(record); | |||
| return reduceCredit(record,tenantEntity); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.REFUND_REDUCE_CREDIT.getCode()) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| return record.getCreditNum(); | |||
| } | |||
| if (record.getCreditType() == EnumScoreType.POINT_CHANGE.getCode()) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| return record.getCreditNum(); | |||
| } | |||
| return 0; | |||
| } | |||
| private int reduceCredit(WxCreditHistory record) { | |||
| private int reduceCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| int reduceCredit = record.getCreditNum(); | |||
| return -reduceCredit; | |||
| } | |||
| private int loginAddCredit(WxCreditHistory record) { | |||
| private int loginAddCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| //如果当天已经登录过则跳过 | |||
| if (wxCreditHistoryMapper.loginCount(record) > 0) { | |||
| return 0; | |||
| } | |||
| // 1. 获取当前租户下积分的增加规则 | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(wxScoreRules.getTenantId()); | |||
| // 2. 增长的积分 | |||
| return wxScoreRules.getRule(EnumScoreType.LOGIN, WxScoreRules.SCORE); | |||
| } | |||
| private int signinCredit(WxCreditHistory record) { | |||
| private int signinCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| //如果当天已经登录过则跳过 | |||
| if (wxCreditHistoryMapper.loginCount(record) > 0) { | |||
| return 0; | |||
| } | |||
| // 1. 获取当前租户下积分的增加规则 | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(wxScoreRules.getTenantId()); | |||
| // 2. 增长的积分 | |||
| return wxScoreRules.getRule(EnumScoreType.SIGN_IN_DAY, WxScoreRules.SCORE); | |||
| } | |||
| private int signinMonthCredit(WxCreditHistory record,EnumScoreType enumScoreType) { | |||
| private int signinMonthCredit(WxCreditHistory record,TenantEntity tenantEntity,EnumScoreType enumScoreType) { | |||
| //签到周期按月来 | |||
| // if (wxCreditHistoryMapper.monthCount(record) > 0) { | |||
| // return 0; | |||
| // } | |||
| // 1. 获取当前租户下积分的增加规则 | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(wxScoreRules.getTenantId()); | |||
| // 2. 增长的积分 | |||
| return wxScoreRules.getRule(enumScoreType, WxScoreRules.SCORE); | |||
| } | |||
| private int bindCarAddCredit(WxCreditHistory record) { | |||
| private int bindCarAddCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| if (wxCreditHistoryMapper.countList(record) > 0) { | |||
| return 0; | |||
| } | |||
| // 1. 获取score rules | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(wxScoreRules.getTenantId()); | |||
| // 2. 增长的积分 | |||
| return wxScoreRules.getRule(EnumScoreType.BIND_CAR, WxScoreRules.SCORE); | |||
| } | |||
| // private int personAddCredit(WxCreditHistory record) { | |||
| // private int personAddCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| // // 1. 获取score rules | |||
| // WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| // WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| // record.setRulesTenantId(wxScoreRules.getTenantId()); | |||
| // // 2. 增长的积分 | |||
| // return wxScoreRules.getRule(EnumScoreType.WECHAT_PERSION, WxScoreRules.SCORE); | |||
| // } | |||
| private int phoneAddCredit(WxCreditHistory record) { | |||
| private int phoneAddCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| // 1. 获取score rules | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(wxScoreRules.getTenantId()); | |||
| // 2. 获取成长值 | |||
| return wxScoreRules.getRule(EnumScoreType.WECHAT_PHONE, WxScoreRules.SCORE); | |||
| } | |||
| @@ -920,41 +911,31 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| return wxCreditHistoryMapper.countList(wxCreditHistory); | |||
| } | |||
| private int infoAddCredit(WxCreditHistory record) { | |||
| private int infoAddCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| WxCUserBasicInfo user = wxCUserBasicInfoMapper.selectById(record.getCUserId(),record.getTenantId()); | |||
| if (user == null || checkCompleteInfoScoreCount(user) > 0) | |||
| return 0; | |||
| // 1. 获取score rules | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| // 2. 获取成长值 | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(scoreRules.getTenantId()); | |||
| // 2. 获取积分 | |||
| return scoreRules.getRule(EnumScoreType.COMPLETE_INFO, WxScoreRules.SCORE); | |||
| } | |||
| private int spendCredit(WxCreditHistory record) { | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setId(record.getMerchantId()); | |||
| wxMerchant.setStatus(EnumMerchantStatus.VALID.getCode()); | |||
| List<WxMerchant> wxMerchantList = wxMerchantMapper.findList(wxMerchant); | |||
| if (wxMerchantList == null || wxMerchantList.size() == 0) { | |||
| throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); | |||
| } | |||
| //根据商户id和花费金额计算需要新增的积分 | |||
| Map<String, Integer> map = findByMerchantIdAndSpend(record.getMerchantId(), record.getSpendStr(), null); | |||
| return map.get("credit"); | |||
| } | |||
| private int changeCredit(WxCreditHistory record) { | |||
| private int changeCredit(WxCreditHistory record,TenantEntity tenantEntity) { | |||
| record.setRulesTenantId(tenantEntity.getTenantId()); | |||
| int changeCredit = record.getCreditNum(); | |||
| return -changeCredit; | |||
| } | |||
| private int payAddCredit(WxCreditHistory record) { | |||
| private int payAddCredit(WxCreditHistory record,TenantEntity tenantEntity,WxCUserBasicInfo wxCUserBasicInfo,boolean hasBirthDateCredit) { | |||
| int addCreditNumber = 0; | |||
| // 订单金额为0时不计入 | |||
| if (record.getCreditNum() != null && record.getCreditNum() == 0) | |||
| return 0; | |||
| // 1. 获取score rules | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); | |||
| WxScoreRules scoreRules = wxScoreRulesService.getCreditRules(tenantEntity); | |||
| record.setRulesTenantId(scoreRules.getTenantId()); | |||
| // 2. 获取成长值 by id | |||
| JSONObject payRule = WxScoreRules.getRuleObj(scoreRules.getRules(),EnumScoreType.CONSUMPTION); | |||
| @@ -966,19 +947,16 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| for (int i = 0; i < busRules.size(); i++) { | |||
| JSONObject bus = (JSONObject) busRules.get(i); | |||
| Integer businessId1 = bus.getInteger("businessId"); | |||
| if (record.getBusinessId().equals(businessId1)) { | |||
| if (businessId1.equals(record.getBusinessId())) { | |||
| busRule = bus; | |||
| } | |||
| if (businessId1.equals(Constant.default_business)) { | |||
| busRuleOther = bus; | |||
| } | |||
| } | |||
| if (busRule == null) { | |||
| busRule = busRuleOther; | |||
| } | |||
| } | |||
| if (busRule == null) { | |||
| busRule = payRule; | |||
| busRule = busRuleOther; | |||
| } | |||
| Double priceCondition = busRule.getDouble(WxScoreRules.STEP) * 100; // 元->分 | |||
| int baseScore = busRule.getInteger(WxScoreRules.SCORE); // 消费增长积分 | |||
| @@ -992,6 +970,18 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||
| log.info("CREDIT:" + busRule.toJSONString() + "\nAddCredit: 0, not touch credit limit"); | |||
| return 0; | |||
| } | |||
| //积分倍率 | |||
| try { | |||
| addCreditNumber = CreditUtil.calUserCredit(addCreditNumber, wxCUserBasicInfo, tenantEntity, wxScoreRulesService,wxLevelConfigMapper); | |||
| if (Objects.nonNull(CreditUtil.getIsBirthDayScale())) { | |||
| hasBirthDateCredit = true; | |||
| } | |||
| } catch (Exception e) { | |||
| logger.error("积分倍率计算异常",e); | |||
| } finally { | |||
| CreditUtil.clear(); | |||
| } | |||
| return addCreditNumber; | |||
| } | |||
| @@ -481,7 +481,7 @@ public class WxGameServiceImpl implements WxGameService { | |||
| wxCreditHistory.setCreditType(EnumScoreType.GAME_ADD_CREDIT.getCode()); | |||
| wxCreditHistory.setChangePurpose(EnumScoreType.GAME_ADD_CREDIT.getMessage()); | |||
| wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),wxGame) ; | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxGame.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxGame); | |||
| addCredit = credit; | |||
| orderId = Constant.creditPlayOrderIdTab; | |||
| }else{ | |||
| @@ -528,7 +528,7 @@ public class WxGameServiceImpl implements WxGameService { | |||
| wxCreditHistory.setCreditType(EnumScoreType.GAME_LES_CREDIT.getCode()); | |||
| wxCreditHistory.setChangePurpose(EnumScoreType.GAME_LES_CREDIT.getMessage()); | |||
| wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),wxGame) ; | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxGame.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,wxGame); | |||
| return this.luckDraw(gameId,userId,wxGame.getPlayCredit()); | |||
| }else{ | |||
| @@ -59,8 +59,9 @@ public class WxMallDisposeServiceImpl implements WxMallDisposeService { | |||
| mallDispose = new WxMallDispose(); | |||
| mallDispose.updateTenantInfo(tenantEntity); | |||
| } | |||
| if(wxMallService.isgroupSupport(tenantEntity)){ | |||
| //如果是集团,都可以配置 | |||
| if(wxMallService.isgroupSupport(tenantEntity) | |||
| || StringUtils.isBlank(tenantEntity.getParentTenantId())){ | |||
| //如果是集团,单广场,都可以配置 | |||
| mallDispose.setPointsDispose(EnumMallDispose.MALL.getCode()); | |||
| mallDispose.setGrowthValueDispose(EnumMallDispose.MALL.getCode()); | |||
| }else{ | |||
| @@ -2379,7 +2379,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| creditHistory.setChangePurpose("付款码消费:消费商户["+wxMerchant.getName()+"] 金额["+creditHistory.getSpendStr()+"元]"); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,wxMerchant.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,wxMerchant); | |||
| } catch (Exception e) { | |||
| logger.error("积分值:" + e.getMessage()); | |||
| } | |||
| @@ -3379,7 +3379,7 @@ public class WxOrderServiceImpl implements WxOrderService { | |||
| creditHistory.setChangePurpose("积分兑换"+"["+coupon.getTitle()+"]"); | |||
| } | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,coupon.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(creditHistory,coupon); | |||
| } | |||
| @@ -165,7 +165,7 @@ public class WxQuestionOneselfUserServiceImpl implements WxQuestionOneselfUserSe | |||
| wxCreditHistory.setCreditNum(wxQuestionOneself.getRewardCredit()); | |||
| wxCreditHistory.setCreditType(EnumScoreType.QUESTION_ADD_CREDIT.getCode()); | |||
| wxCreditHistory.setChangePurpose(EnumScoreType.QUESTION_ADD_CREDIT.getMessage()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,record.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,record); | |||
| } | |||
| } | |||
| @@ -5,14 +5,14 @@ import com.alibaba.fastjson.JSONArray; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.common.ErrorCode; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.common.ResultData; | |||
| import com.iformall.common.SysConfigConstant; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.*; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.mapper.*; | |||
| import com.iformall.service.WxBusinessService; | |||
| import com.iformall.service.WxCUserService; | |||
| import com.iformall.service.WxScoreRulesService; | |||
| import com.iformall.service.*; | |||
| import com.iformall.utils.Constant; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.slf4j.Logger; | |||
| @@ -55,6 +55,16 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| @Autowired | |||
| WxBusinessService wxBusinessService; | |||
| @Autowired | |||
| WxMallDisposeService wxMallDisposeService; | |||
| @Autowired | |||
| WxMallService wxMallService; | |||
| @Autowired | |||
| SysConfigService sysConfigService; | |||
| @Override | |||
| public void wxScoreRulesInit(String tenantId) { | |||
| WxScoreRules wxScoreRules = new WxScoreRules(); | |||
| @@ -63,7 +73,6 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| wxScoreRules.setCreateDate(new Date()); | |||
| wxScoreRules.setUpdateDate(new Date()); | |||
| wxScoreRules.setType(EnumScoreRules.CREDIT.getCode()); | |||
| wxScoreRules.setCreditLocked(EnumCreditLockedStatus.OPEN.getCode()); | |||
| wxScoreRulesMapper.insert(wxScoreRules); | |||
| wxScoreRules = new WxScoreRules(); | |||
| wxScoreRules.setTenantId(tenantId); | |||
| @@ -71,18 +80,11 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| wxScoreRules.setCreateDate(new Date()); | |||
| wxScoreRules.setUpdateDate(new Date()); | |||
| wxScoreRules.setType(EnumScoreRules.SCORE.getCode()); | |||
| wxScoreRules.setCreditLocked(EnumCreditLockedStatus.CLOSE.getCode()); | |||
| wxScoreRulesMapper.insert(wxScoreRules); | |||
| } | |||
| @Override | |||
| public WxScoreRules getScoreRules(TenantEntity tenantEntity) { | |||
| String tenantId = ""; | |||
| if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ | |||
| tenantId = tenantEntity.getParentTenantId(); | |||
| }else{ | |||
| tenantId = tenantEntity.getTenantId(); | |||
| } | |||
| public WxScoreRules getScoreRules(String tenantId) { | |||
| // get pushLime from cache | |||
| String key = Constant.SCORE_RULES_KEY_PREV + tenantId; | |||
| @@ -97,18 +99,19 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| scoreRules.setTenantId(tenantId); | |||
| scoreRules.setType(EnumScoreRules.SCORE.getCode()); | |||
| List<WxScoreRules> list = wxScoreRulesMapper.findList(scoreRules); | |||
| TenantEntity baseTenantEntity = new TenantEntity(); | |||
| baseTenantEntity.setTenantId(tenantId); | |||
| if (list.size() > 0) { | |||
| scoreRules = list.get(0); | |||
| scoreRules.setRules(getScoreRulesNew(tenantEntity,scoreRules.getRules(),EnumScoreRules.SCORE)); | |||
| scoreRules.setRules(getScoreRulesNew(baseTenantEntity,scoreRules.getRules(),EnumScoreRules.SCORE)); | |||
| } else { | |||
| // 如果成长值规则不存在,启用默认值 | |||
| this.saveOrUpdate(scoreRules); | |||
| //final IdWorker idWorker = IdWorker.get(); | |||
| //scoreRules.setId(idWorker.nextId()); | |||
| //scoreRules.setRules(WxScoreRules.getScoreDefaultRules()); | |||
| // | |||
| //wxScoreRulesMapper.insert(scoreRules); | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| scoreRules.setId(idWorker.nextId()); | |||
| scoreRules.setRules(getScoreRulesNew(baseTenantEntity,WxScoreRules.getScoreDefaultRules(),EnumScoreRules.SCORE)); | |||
| wxScoreRulesMapper.insert(scoreRules); | |||
| } | |||
| // 插入缓存 | |||
| scoreRulesRedisTemplate.opsForValue().set(key, scoreRules); | |||
| @@ -117,6 +120,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| return scoreRules; | |||
| } | |||
| @Override | |||
| public WxScoreRules getScoreRules(TenantEntity tenantEntity) { | |||
| WxScoreRules scoreRules = null; | |||
| WxMallDispose mallDispose = wxMallDisposeService.getMallDispose(tenantEntity); | |||
| if(EnumMallDispose.MALL.equals(mallDispose.getGrowthValueDispose())){ | |||
| scoreRules = this.getScoreRules(tenantEntity.getTenantId()); | |||
| }else{ | |||
| scoreRules = this.getScoreRules(tenantEntity.getFinalTenantId()); | |||
| } | |||
| return scoreRules; | |||
| } | |||
| //当成长值或积分规则新增时,将新增的数据一并返回给接口调用端 | |||
| private String getScoreRulesNew(TenantEntity tenantEntity,String scoreRules,EnumScoreRules enumScoreRules){ | |||
| JSONObject businessObject = WxScoreRules.getRuleObj(scoreRules, EnumScoreType.CONSUMPTION); | |||
| @@ -168,12 +183,6 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| @Override | |||
| public WxScoreRules getCreditRules(String tenantId) { | |||
| // String tenantId = ""; | |||
| // if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ | |||
| // tenantId = tenantEntity.getParentTenantId(); | |||
| // }else{ | |||
| // tenantId = tenantEntity.getTenantId(); | |||
| // } | |||
| // get pushLime from cache | |||
| String key = Constant.CREDIT_RULES_KEY_PREV + tenantId; | |||
| @@ -187,10 +196,10 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| WxScoreRules scoreRules = new WxScoreRules(); | |||
| scoreRules.setTenantId(tenantId); | |||
| scoreRules.setType(EnumScoreRules.CREDIT.getCode()); | |||
| List<WxScoreRules> list = wxScoreRulesMapper.findList(scoreRules); | |||
| TenantEntity baseTenantEntity = new TenantEntity(); | |||
| baseTenantEntity.setTenantId(tenantId); | |||
| List<WxScoreRules> list = wxScoreRulesMapper.findList(scoreRules); | |||
| if (list.size() > 0) { | |||
| scoreRules = list.get(0); | |||
| scoreRules.setRules(getScoreRulesNew(baseTenantEntity,scoreRules.getRules(),EnumScoreRules.CREDIT)); | |||
| @@ -198,8 +207,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| // 如果积分规则不存在,启用默认值 | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| scoreRules.setId(idWorker.nextId()); | |||
| scoreRules.setRules(getScoreRulesNew(baseTenantEntity,null,EnumScoreRules.CREDIT)); | |||
| scoreRules.setScale(WxScoreRules.DEFAULT_SCALE); | |||
| scoreRules.setRules(getScoreRulesNew(baseTenantEntity,WxScoreRules.getCreditDefaultRules(),EnumScoreRules.CREDIT)); | |||
| wxScoreRulesMapper.insert(scoreRules); | |||
| } | |||
| @@ -210,12 +218,23 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| return scoreRules; | |||
| } | |||
| @Override | |||
| public WxScoreRules getCreditRules(TenantEntity tenantEntity) { | |||
| WxScoreRules scoreRules = null; | |||
| WxMallDispose mallDispose = wxMallDisposeService.getMallDispose(tenantEntity); | |||
| if(EnumMallDispose.MALL.equals(mallDispose.getPointsDispose())){ | |||
| scoreRules = this.getCreditRules(tenantEntity.getTenantId()); | |||
| }else{ | |||
| scoreRules = this.getCreditRules(tenantEntity.getFinalTenantId()); | |||
| } | |||
| return scoreRules; | |||
| } | |||
| @Override | |||
| public void saveOrUpdate(WxScoreRules record) { | |||
| //校验规则不能重复 | |||
| Date date = new Date(); | |||
| record.setUpdateDate(date); | |||
| if (record.getId() == null) { | |||
| @@ -255,8 +274,6 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| } | |||
| } | |||
| //更新商户数据 | |||
| //updateMerchantCreditLocked(record); | |||
| } | |||
| @Override | |||
| @@ -326,7 +343,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| updateScore(user.getId(), tenantEntity,addScoreNumber); | |||
| // 3. 记录历史 | |||
| recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.LOGIN); | |||
| recordScoreHistory(tenantEntity,scoreRules.getTenantId(),addScoreNumber, user.getId(), EnumScoreType.LOGIN); | |||
| return addScoreNumber; | |||
| } | |||
| @@ -356,12 +373,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| busRuleOther = bus; | |||
| } | |||
| } | |||
| if(busRule == null) { | |||
| busRule = busRuleOther; | |||
| } | |||
| } | |||
| if (busRule == null) { | |||
| busRule = payRule; | |||
| if(busRule == null) { | |||
| busRule = busRuleOther; | |||
| } | |||
| Double priceCondition = busRule.getDouble(WxScoreRules.STEP) * 100; // 元->分 | |||
| int baseScore = busRule.getInteger(WxScoreRules.SCORE); // 消费增长积分 | |||
| @@ -384,7 +398,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| updateScore(order.getCUserId(),order, addScoreNumber); | |||
| // 6. 记录历史 | |||
| recordPayScoreHistory(addScoreNumber, order, EnumScoreType.CONSUMPTION); | |||
| recordPayScoreHistory(order,scoreRules.getTenantId(),addScoreNumber, EnumScoreType.CONSUMPTION); | |||
| return addScoreNumber; | |||
| } | |||
| @@ -409,7 +423,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| updateScore(user.getId(),tenantEntity, addScoreNumber); | |||
| // 4. 记录历史 | |||
| recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.BIND_CAR); | |||
| recordScoreHistory(tenantEntity,scoreRules.getTenantId(),addScoreNumber, user.getId(), EnumScoreType.BIND_CAR); | |||
| } | |||
| return addScoreNumber; | |||
| @@ -427,7 +441,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| // updateScore(user.getId(),tenantEntity, addScoreNumber); | |||
| // | |||
| // // 4. 记录历史 | |||
| // recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PERSION); | |||
| // recordScoreHistory(tenantEntity,scoreRules.getTenantId(),addScoreNumber, user.getId(), EnumScoreType.WECHAT_PERSION); | |||
| // return addScoreNumber; | |||
| // } | |||
| @@ -443,7 +457,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| updateScore(user.getId(),tenantEntity, addScoreNumber); | |||
| // 4. 记录历史 | |||
| recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PHONE); | |||
| recordScoreHistory(tenantEntity,scoreRules.getTenantId(),addScoreNumber, user.getId(), EnumScoreType.WECHAT_PHONE); | |||
| return addScoreNumber; | |||
| } | |||
| @@ -471,7 +485,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| updateScore(user.getId(),tenantEntity, addScoreNumber); | |||
| // 4. 记录历史 | |||
| recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.COMPLETE_INFO); | |||
| recordScoreHistory(tenantEntity,scoreRules.getTenantId(),addScoreNumber, user.getId(), EnumScoreType.COMPLETE_INFO); | |||
| return addScoreNumber; | |||
| } | |||
| @@ -500,7 +514,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| // } | |||
| // 2. 记录历史 | |||
| recordReduceScoreHistory(scoreNum, reason, tenantEntity, userInfo.getId(), EnumScoreType.MEM_REDUCE); | |||
| recordReduceScoreHistory(tenantEntity,scoreNum, reason, userInfo.getId(), EnumScoreType.MEM_REDUCE); | |||
| return score; | |||
| } | |||
| @@ -509,7 +523,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| WxScoreHistory history = new WxScoreHistory(); | |||
| history.setId(idWorker.nextId()); | |||
| history.setTenantId(tenantEntity.getFinalTenantId()); | |||
| history.setFinalTenantId(tenantEntity.getFinalTenantId()); | |||
| history.setRulesTenantId(tenantEntity.getTenantId()); | |||
| history.setCUserId(userInfo.getId()); | |||
| history.setCreateDate(new Date()); | |||
| history.setScoreType(wechatPhone.getCode()); | |||
| @@ -517,25 +531,25 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| wxScoreHistoryMapper.insert(history); | |||
| } | |||
| private void recordScoreHistory(int addScoreNumber, TenantEntity tenantEntity, Long id, EnumScoreType wechatPhone) { | |||
| private void recordScoreHistory(TenantEntity tenantEntity,String rulesTenantId,int addScoreNumber,Long cuserId, EnumScoreType wechatPhone) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| WxScoreHistory history = new WxScoreHistory(); | |||
| history.setId(idWorker.nextId()); | |||
| history.setTenantId(tenantEntity.getFinalTenantId()); | |||
| history.setFinalTenantId(tenantEntity.getFinalTenantId()); | |||
| history.setCUserId(id); | |||
| history.setRulesTenantId(rulesTenantId); | |||
| history.setCUserId(cuserId); | |||
| history.setCreateDate(new Date()); | |||
| history.setScoreType(wechatPhone.getCode()); | |||
| history.setScoreAmount(addScoreNumber); | |||
| wxScoreHistoryMapper.insert(history); | |||
| } | |||
| private void recordPayScoreHistory(int addScoreNumber, WxOrder order, EnumScoreType wechatPhone) { | |||
| private void recordPayScoreHistory(WxOrder order,String rulesTenantId,int addScoreNumber, EnumScoreType wechatPhone) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| WxScoreHistory history = new WxScoreHistory(); | |||
| history.setId(idWorker.nextId()); | |||
| history.setTenantId(order.getFinalTenantId()); | |||
| history.setFinalTenantId(order.getFinalTenantId()); | |||
| history.setRulesTenantId(rulesTenantId); | |||
| history.setCUserId(order.getCUserId()); | |||
| history.setCreateDate(new Date()); | |||
| history.setScoreType(EnumScoreType.CONSUMPTION.getCode()); | |||
| @@ -548,12 +562,12 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| wxScoreHistoryMapper.insert(history); | |||
| } | |||
| private void recordReduceScoreHistory(int reduceScore, String reason, TenantEntity tenantEntity, Long id, EnumScoreType wechatPhone) { | |||
| private void recordReduceScoreHistory(TenantEntity tenantEntity,int reduceScore, String reason, Long id, EnumScoreType wechatPhone) { | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| WxScoreHistory history = new WxScoreHistory(); | |||
| history.setId(idWorker.nextId()); | |||
| history.setTenantId(tenantEntity.getFinalTenantId()); | |||
| history.setFinalTenantId(tenantEntity.getFinalTenantId()); | |||
| history.setRulesTenantId(tenantEntity.getTenantId()); | |||
| history.setCUserId(id); | |||
| history.setCreateDate(new Date()); | |||
| history.setScoreType(wechatPhone.getCode()); | |||
| @@ -670,9 +684,17 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| } | |||
| @Override | |||
| public void updateCreditLocked(WxScoreRules wxScoreRules) { | |||
| wxScoreRulesMapper.updateById(wxScoreRules); | |||
| updateMerchantCreditLocked(wxScoreRules); | |||
| public void updateCreditLocked(TenantEntity tenantEntity,Long sysId, EnumCreditLockedStatus lockedEnum) { | |||
| sysConfigService.saveConfigValue(sysId,tenantEntity,lockedEnum.getCode().toString()); | |||
| updateMerchantCreditLocked(tenantEntity,lockedEnum); | |||
| } | |||
| public void updateMerchantCreditLocked(TenantEntity tenantEntity, EnumCreditLockedStatus lockedEnum) { | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.updateTenantInfo(tenantEntity); | |||
| wxMerchant.setCreditLocked(lockedEnum.getCode()); | |||
| wxMerchant.setUpdateDate(new Date()); | |||
| wxMerchantMapper.updateCreditLocked(wxMerchant); | |||
| } | |||
| @Override | |||
| @@ -692,20 +714,49 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { | |||
| List<WxScoreRules> list = wxScoreRulesMapper.findList(scoreRules); | |||
| if (list.size() > 0) { | |||
| scoreRules = list.get(0); | |||
| // 插入缓存 | |||
| scoreRulesRedisTemplate.opsForValue().set(key, scoreRules); | |||
| logger.info("WxScoreRulesServiceImpl.getScoreRules() : 积分设置插入缓存 >> " + scoreRules.toString()); | |||
| } else{ | |||
| return null; | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| scoreRules.setId(idWorker.nextId()); | |||
| scoreRules.setRules("[]"); | |||
| scoreRules.setScale(WxScoreRules.DEFAULT_SCALE); | |||
| wxScoreRulesMapper.insert(scoreRules); | |||
| } | |||
| // 插入缓存 | |||
| scoreRulesRedisTemplate.opsForValue().set(key, scoreRules); | |||
| logger.info("WxScoreRulesServiceImpl.getScoreRules() : 积分设置插入缓存 >> " + scoreRules.toString()); | |||
| return scoreRules; | |||
| } | |||
| public void updateMerchantCreditLocked(WxScoreRules wxScoreRules) { | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.updateTenantInfo(wxScoreRules); | |||
| wxMerchant.setStatus(wxScoreRules.getCreditLocked()); | |||
| wxMerchant.setUpdateDate(new Date()); | |||
| wxMerchantMapper.updateCreditLocked(wxMerchant); | |||
| @Override | |||
| public WxScoreRules getCreditDoubleRules(TenantEntity tenantEntity) { | |||
| if(wxMallService.isgroupSupport(tenantEntity)){ | |||
| return null; | |||
| } | |||
| return getCreditDoubleRules(tenantEntity.getTenantId()); | |||
| } | |||
| @Override | |||
| public WxScoreRules getById(Long id) { | |||
| return wxScoreRulesMapper.selectById(id); | |||
| } | |||
| @Override | |||
| public SysConfig merchantCreditLocked(TenantEntity tenantInfo) { | |||
| SysConfig creditLocked = sysConfigService.getByKey(SysConfigConstant.merchant_credit_locked,tenantInfo); | |||
| if(creditLocked == null){ | |||
| creditLocked = new SysConfig(); | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| creditLocked.setId(idWorker.nextId()); | |||
| creditLocked.setConfigItemKey(SysConfigConstant.merchant_credit_locked); | |||
| creditLocked.setConfigItemRemark("商户功能是否开启,0-正常,1-锁定"); | |||
| creditLocked.setIsHide(EnumYesOrNo.YES.getCode()); | |||
| sysConfigService.saveOrUpdate(creditLocked); | |||
| } | |||
| if(creditLocked.getConfigItemValue() == null){ | |||
| creditLocked.setConfigItemValue(EnumCreditLockedStatus.OPEN.getCode().toString()); | |||
| } | |||
| return creditLocked; | |||
| } | |||
| } | |||
| @@ -200,7 +200,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||
| creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); | |||
| creditHistory.setSpend(record.getPayAmount()); | |||
| creditHistory.setChangePurpose(record.getSourceAppName()+"·消费:商户["+record.getMerchantName()+"] ("+record.getPayAmountStr()+"元) "); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record); | |||
| Integer creditNum = 0; | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -328,7 +328,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||
| creditHistory.setCreditNum(points); | |||
| creditHistory.setSpend(0-record.getRefundAmount()); | |||
| creditHistory.setChangePurpose(record.getSourceAppName()+"·消费退款:商户["+record.getMerchantName()+"] ("+record.getRefundAmountStr()+"元) "); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -431,7 +431,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||
| creditHistory.setCreditType(EnumScoreType.CHANGE_CREDIT.getCode()); | |||
| creditHistory.setChangePurpose(record.getSourceAppName()+"·积分抵扣-"+record.getPayAmount()+"("+record.getSummary()+")"); | |||
| creditHistory.setCouponId(record.getId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory, record.getTenantId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory, record); | |||
| Integer creditNum = 0; | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -521,7 +521,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||
| creditHistory.setCreditNum(record.getRefundAmount()); | |||
| creditHistory.setSpend(0-record.getRefundAmount()); | |||
| creditHistory.setChangePurpose(record.getSourceAppName()+"·积分抵扣退款:商户["+record.getMerchantName()+"] (-"+record.getRefundAmount()+") "); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record.getTenantId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record); | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -606,7 +606,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||
| } | |||
| creditHistory.setCouponId(record.getId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory, record.getTenantId()); | |||
| creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory, record); | |||
| Integer creditNum = 0; | |||
| if (creditHistory.getCreditNum() != null) { | |||
| creditNum = creditHistory.getCreditNum(); | |||
| @@ -73,7 +73,7 @@ public class FmInsideBasicUserCompleteInfoMsgServiceImpl implements MsgSendServi | |||
| wxCreditHistory.setChangePurpose(EnumScoreType.COMPLETE_INFO.getMessage()); | |||
| wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); | |||
| wxCreditHistory.setOperatorId(basicUserId); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantEntity.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,tenantEntity); | |||
| //打标签 | |||
| wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, basicInfo,tenantEntity,null); | |||
| @@ -97,7 +97,7 @@ public class ParkHelper { | |||
| wxCreditHistory.setChangePurpose(EnumScoreType.BIND_CAR.getMessage()); | |||
| wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); | |||
| wxCreditHistory.setOperatorId(cuUserId); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,park.getTenantId()); | |||
| wxCreditHistoryService.saveOrUpdate(wxCreditHistory,park); | |||
| } | |||
| public ResultData unbindCar(Map<String, String> paramMap, WxPark park, Long cuUserId) { | |||
| @@ -29,7 +29,7 @@ public class CreditUtil { | |||
| * @param wxLevelConfigMapper | |||
| * @return | |||
| */ | |||
| public static int calUserCredit(int creditOrigin, WxCUserBasicInfo wxCUserBasicInfo, String tenantId, WxScoreRulesService wxScoreRulesService, WxLevelConfigMapper wxLevelConfigMapper) { | |||
| public static int calUserCredit(int creditOrigin, WxCUserBasicInfo wxCUserBasicInfo, TenantEntity tenantEntity, WxScoreRulesService wxScoreRulesService, WxLevelConfigMapper wxLevelConfigMapper) { | |||
| Long userId = wxCUserBasicInfo.getId(); | |||
| Integer score = wxCUserBasicInfo.getPoins(); | |||
| String finalTenantId = wxCUserBasicInfo.getFinalTenantId(); | |||
| @@ -39,10 +39,10 @@ public class CreditUtil { | |||
| int levelScale = getLevelScale(score, levelScaleConfig); | |||
| // 获取生日积分倍率: | |||
| int birthdayScale = getBirthdayScale(wxCUserBasicInfo, tenantId, wxScoreRulesService); | |||
| int birthdayScale = getBirthdayScale(wxCUserBasicInfo, tenantEntity, wxScoreRulesService); | |||
| // 获取会员日倍率: | |||
| int memberDayScale = getMemberDayScale(tenantId, wxScoreRulesService); | |||
| int memberDayScale = getMemberDayScale(tenantEntity, wxScoreRulesService); | |||
| int creditNew = new BigDecimal(creditOrigin) | |||
| .multiply(new BigDecimal(levelScale)) | |||
| @@ -86,7 +86,7 @@ public class CreditUtil { | |||
| * @param wxScoreRulesService | |||
| * @return | |||
| */ | |||
| private static int getBirthdayScale(WxCUserBasicInfo wxCUserBasicInfo,String tenantId, WxScoreRulesService wxScoreRulesService) { | |||
| private static int getBirthdayScale(WxCUserBasicInfo wxCUserBasicInfo,TenantEntity tenantEntity, WxScoreRulesService wxScoreRulesService) { | |||
| int birthdayScale = WxScoreRules.DEFAULT_SCALE; | |||
| if (Objects.isNull(wxCUserBasicInfo) || StringUtils.isBlank(wxCUserBasicInfo.getPhone())) { | |||
| return 0; | |||
| @@ -96,7 +96,7 @@ public class CreditUtil { | |||
| if(Objects.isNull(wxCUserBasicInfo.getScoreDate())) { | |||
| //设置过生日的用户 | |||
| if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.isBirthdays(wxCUserBasicInfo.getBirthdate())) { | |||
| birthdayScale = getBirthdayScoreScale(tenantId,wxScoreRulesService); | |||
| birthdayScale = getBirthdayScoreScale(tenantEntity,wxScoreRulesService); | |||
| } else { | |||
| log.info("积分倍率计算:未设置生日或生日条件未匹配={}", wxCUserBasicInfo.getScoreDate()); | |||
| } | |||
| @@ -106,11 +106,11 @@ public class CreditUtil { | |||
| int year = DateUtils.getYear(new Date()); | |||
| if(scoreYear == year){ | |||
| if(DateUtils.isBirthdays(wxCUserBasicInfo.getScoreDate())){ | |||
| birthdayScale = getBirthdayScoreScale(tenantId, wxScoreRulesService); | |||
| birthdayScale = getBirthdayScoreScale(tenantEntity, wxScoreRulesService); | |||
| } | |||
| }else{ | |||
| if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.isBirthdays(wxCUserBasicInfo.getBirthdate())) { | |||
| birthdayScale = getBirthdayScoreScale(tenantId,wxScoreRulesService); | |||
| birthdayScale = getBirthdayScoreScale(tenantEntity,wxScoreRulesService); | |||
| } else { | |||
| log.info("积分倍率计算:未设置生日或生日条件未匹配={}", wxCUserBasicInfo.getScoreDate()); | |||
| } | |||
| @@ -133,9 +133,9 @@ public class CreditUtil { | |||
| * @param wxScoreRulesService | |||
| * @return | |||
| */ | |||
| public static int getBirthdayScoreScale(String tenantId, WxScoreRulesService wxScoreRulesService) { | |||
| public static int getBirthdayScoreScale(TenantEntity tenantEntity, WxScoreRulesService wxScoreRulesService) { | |||
| int birthdayScale = WxScoreRules.DEFAULT_SCALE; | |||
| WxScoreRules rules = wxScoreRulesService.getCreditDoubleRules(tenantId); | |||
| WxScoreRules rules = wxScoreRulesService.getCreditDoubleRules(tenantEntity); | |||
| if (Objects.nonNull(rules) && Objects.nonNull(rules.getScale())) { | |||
| //规则存使用积分倍率 | |||
| birthdayScale = rules.getScale(); | |||
| @@ -154,10 +154,10 @@ public class CreditUtil { | |||
| * @param wxScoreRulesService | |||
| * @return | |||
| */ | |||
| private static int getMemberDayScale(String tenantId, WxScoreRulesService wxScoreRulesService) { | |||
| private static int getMemberDayScale(TenantEntity tenantEntity, WxScoreRulesService wxScoreRulesService) { | |||
| int memberDayScale = WxScoreRules.DEFAULT_SCALE; | |||
| WxScoreRules rules = wxScoreRulesService.getCreditDoubleRules(tenantId); | |||
| WxScoreRules rules = wxScoreRulesService.getCreditDoubleRules(tenantEntity); | |||
| if (Objects.nonNull(rules) && Objects.nonNull(rules.getRules())) { | |||
| Date date = new Date(); | |||
| int weekDay = DateUtils.getWeekOfDate(date); | |||
| @@ -7,11 +7,12 @@ | |||
| <result column="config_item_remark" jdbcType="VARCHAR" property="configItemRemark" /> | |||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> | |||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> | |||
| <result column="is_hide" jdbcType="INTEGER" property="isHide" /> | |||
| <result column="status" jdbcType="INTEGER" property="status" /> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`config_item_key`,`config_item_remark`,`create_date`,`update_date`,`status` | |||
| `id`,`config_item_key`,`config_item_remark`,`create_date`,`update_date`,`is_hide`,`status` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -22,9 +23,12 @@ | |||
| <if test=" null != configItemKey "> | |||
| and `config_item_key` = #{configItemKey} | |||
| </if> | |||
| <if test=" null != status "> | |||
| and `status` = #{status} | |||
| </if> | |||
| <if test=" null != isHide "> | |||
| and `is_hide` = #{isHide} | |||
| </if> | |||
| <if test=" null != status "> | |||
| and `status` = #{status} | |||
| </if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||
| @@ -42,8 +46,5 @@ | |||
| <select id="findByKey" parameterType="com.iformall.domain.po.SysConfig" resultMap="BaseResultMap"> | |||
| select <include refid="allColumns" /> from sys_config where `config_item_key` = #{configItemKey} | |||
| </select> | |||
| </mapper> | |||
| @@ -4,6 +4,7 @@ | |||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxCreditHistory"> | |||
| <id column="id" jdbcType="BIGINT" property="id" /> | |||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId" /> | |||
| <result column="rules_tenant_id" jdbcType="VARCHAR" property="rulesTenantId" /> | |||
| <result column="c_user_id" jdbcType="BIGINT" property="cUserId" /> | |||
| <result column="credit_amount" jdbcType="INTEGER" property="creditAmount" /> | |||
| <result column="credit_num" jdbcType="INTEGER" property="creditNum" /> | |||
| @@ -22,7 +23,7 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`c_user_id`,`credit_amount`,`credit_num`,`credit_type`,`create_date`,`receipt_url`,`operator_type`,`operator_id`,`merchant_id`,`coupon_id`,`business_id`,`spend`,`change_purpose`,`ticket_number`,`buser_id` | |||
| `id`,`tenant_id`,`rules_tenant_id`,`c_user_id`,`credit_amount`,`credit_num`,`credit_type`,`create_date`,`receipt_url`,`operator_type`,`operator_id`,`merchant_id`,`coupon_id`,`business_id`,`spend`,`change_purpose`,`ticket_number`,`buser_id` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -4,6 +4,7 @@ | |||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxScoreHistory"> | |||
| <id column="id" jdbcType="BIGINT" property="id"/> | |||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | |||
| <result column="rules_tenant_id" jdbcType="VARCHAR" property="rulesTenantId" /> | |||
| <result column="c_user_id" jdbcType="BIGINT" property="cUserId"/> | |||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate"/> | |||
| <result column="score_type" jdbcType="INTEGER" property="scoreType"/> | |||
| @@ -16,7 +17,7 @@ | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`c_user_id`,`create_date`,`score_type`,`valid_date`,`order_id`,`pay_type`,`pay_amount`,`score_amount`,`reason` | |||
| `id`,`tenant_id`,`rules_tenant_id`,`c_user_id`,`create_date`,`score_type`,`valid_date`,`order_id`,`pay_type`,`pay_amount`,`score_amount`,`reason` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -10,12 +10,11 @@ | |||
| <result column="type" jdbcType="INTEGER" property="type"/> | |||
| <result column="clear_year" jdbcType="INTEGER" property="clearYear"/> | |||
| <result column="scale" jdbcType="INTEGER" property="scale"/> | |||
| <result column="credit_locked" jdbcType="INTEGER" property="creditLocked"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| `id`,`tenant_id`,`rules`,`create_date`,`update_date`,`type`,`clear_year`,`scale`,credit_locked | |||
| `id`,`tenant_id`,`rules`,`create_date`,`update_date`,`type`,`clear_year`,`scale` | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| @@ -44,10 +43,7 @@ | |||
| <if test=" null != scale "> | |||
| and `scale` = #{scale} | |||
| </if> | |||
| <if test=" null != creditLocked "> | |||
| and `credit_locked` = #{creditLocked} | |||
| </if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||