diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java index b8a9a9e29..37d7924ed 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java @@ -62,6 +62,7 @@ public class BaseController { /** * 返回租户信息 + * 集团版帐号tenantId为空,parentTenantId为集团tenantId * @return */ public TenantEntity getTenantInfo(){ @@ -76,6 +77,7 @@ public class BaseController { /** * 处理集团新增修改所需租户信息(广场独立修改,集团修改全部) + * 处理集团版 tenantId为空,parentTenantId为集团tenantId * ifParentUpdateTenantInfo */ public TenantEntity ifParentUpdateTenantInfo() { diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java index f8f4ee0ff..c62d18daf 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxProjectConfigController.java @@ -149,10 +149,10 @@ public class WxProjectConfigController extends BaseController { if(wxMall.getId() == null){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - TenantEntity TenantEntity = new TenantEntity(){{ - setTenantId(wxMall.getId().toString()); - }}; - WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity); + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(wxMall.getId().toString()); + + WxMall parentWxMall = wxMallService.getByTenantInfo(tenantEntity); if(parentWxMall == null || parentWxMall.getSaleType() != 100 || !parentWxMall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) || StringUtils.isNotBlank(parentWxMall.getParentTenantId())){ @@ -558,74 +558,72 @@ public class WxProjectConfigController extends BaseController { map.put("wxMall",wxMall); List subWxMall = wxMallService.getSubByParentTenantId(wxMall.getTenantId()); map.put("subWxMall",subWxMall); - WxCouponSendConfig wxCouponSendConfig = new WxCouponSendConfig(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxCouponSendConfig wxCouponSendConfig = new WxCouponSendConfig(); + wxCouponSendConfig.setTenantId(wxMall.getTenantId()); List wxCouponSendConfigList = wxCouponSendConfigService.findList(wxCouponSendConfig); map.put("wxCouponSendConfigList",wxCouponSendConfigList); - WxScoreRules wxScoreRules = new WxScoreRules(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxScoreRules wxScoreRules = new WxScoreRules(); + wxScoreRules.setTenantId(wxMall.getTenantId()); List wxScoreRulesList = wxScoreRulesService.findList(wxScoreRules); map.put("wxScoreRulesList",wxScoreRulesList); - WxTemplateMsg wxTemplateMsg = new WxTemplateMsg(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxTemplateMsg wxTemplateMsg = new WxTemplateMsg(); + wxTemplateMsg.setTenantId(wxMall.getTenantId()); + List wxTemplateMsgList = wxTemplateMsgService.findList(wxTemplateMsg); map.put("wxTemplateMsgList",wxTemplateMsgList); - WxQuestion wxQuestion = new WxQuestion(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxQuestion wxQuestion = new WxQuestion(); + wxQuestion.setTenantId(wxMall.getTenantId()); + List wxQuestionList = wxQuestionService.findList(wxQuestion); map.put("wxQuestionList",wxQuestionList); - WxMsgValidationcodeModel wxMsgValidationcodeModel = new WxMsgValidationcodeModel(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxMsgValidationcodeModel wxMsgValidationcodeModel = new WxMsgValidationcodeModel(); + wxMsgValidationcodeModel.setTenantId(wxMall.getTenantId()); + List wxMsgValidationcodeModelList = wxMsgValidationcodeModelService.findList(wxMsgValidationcodeModel); map.put("wxMsgValidationcodeModelList",wxMsgValidationcodeModelList); - WxFlowConfig wxFlowConfig = new WxFlowConfig(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxFlowConfig wxFlowConfig = new WxFlowConfig(); + wxFlowConfig.setTenantId(wxMall.getTenantId()); + List wxFlowConfigList = wxFlowConfigService.findList(wxFlowConfig); map.put("wxFlowConfigList",wxFlowConfigList); - TenantEntity tenantEntity = new TenantEntity() {{ - setTenantId(wxMall.getTenantId()); - }}; + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(wxMall.getTenantId()); + ResultData wxMallBuildingFloorList = wxMallBuildingService.getBuildingFloorList(tenantEntity); map.put("wxMallBuildingFloorList",wxMallBuildingFloorList.data); WxPayAccount wxPayAccount = wxPayAccountService.getByTenantId(wxMall.getTenantId()); map.put("wxPayAccount",wxPayAccount); WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(wxMall.getTenantId()); map.put("wxPayAccountBill",wxPayAccountBill); - WxAppinfo wxAppinfo = new WxAppinfo() {{ - setTenantId(wxMall.getTenantId()); - }}; + WxAppinfo wxAppinfo = new WxAppinfo(); + wxAppinfo.setTenantId(wxMall.getTenantId()); + List wxAppinfoList = wxAppinfoService.getList(wxAppinfo); map.put("wxAppinfoList",wxAppinfoList); - MallUserInfo mallUserInfo = new MallUserInfo() {{ - setTenantId(wxMall.getTenantId()); - setIsAdmin(1); - }}; + MallUserInfo mallUserInfo = new MallUserInfo(); + mallUserInfo.setTenantId(wxMall.getTenantId()); + mallUserInfo. setIsAdmin(1); + List mallUserInfoList = mallUserInfoService.findList(mallUserInfo); map.put("mallUserInfoList",mallUserInfoList); - WxMsgConfig wxMsgConfig = new WxMsgConfig() {{ - setTenantId(wxMall.getTenantId()); - }}; + WxMsgConfig wxMsgConfig = new WxMsgConfig(); + wxMsgConfig.setTenantId(wxMall.getTenantId()); + WxMsgConfig wxMsgConfigObject = wxMsgConfigService.findObject(wxMsgConfig); map.put("wxMsgConfig",wxMsgConfigObject); - WxPark wxPark = new WxPark(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxPark wxPark = new WxPark(); + wxPark.setTenantId(wxMall.getTenantId()); + WxPark wxParkObj = wxParkService.getByObj(wxPark); map.put("wxPark",wxParkObj); - WxWiWideInfo wxWiWideInfo = new WxWiWideInfo(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxWiWideInfo wxWiWideInfo = new WxWiWideInfo(); + wxWiWideInfo.setTenantId(wxMall.getTenantId()); + WxWiWideInfo wxWiWideInfoObject = wxWiWideInfoService.findObject(wxWiWideInfo); map.put("wxWiWideInfo",wxWiWideInfoObject); - WxWeappInfo wxWeappInfo = new WxWeappInfo(){{ - setTenantId(wxMall.getTenantId()); - }}; + WxWeappInfo wxWeappInfo = new WxWeappInfo(); + wxWeappInfo.setTenantId(wxMall.getTenantId()); + List wxAuthorizerInfoList = wxAuthorizerInfoService.getList(wxWeappInfo); map.put("wxAuthorizerInfoList",wxAuthorizerInfoList); @@ -652,10 +650,9 @@ public class WxProjectConfigController extends BaseController { // if(subTenantIds == null || subTenantIds.length == 0){ // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); // } - TenantEntity TenantEntity = new TenantEntity(){{ - setTenantId(tenantId); - }}; - WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity); + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(tenantId); + WxMall parentWxMall = wxMallService.getByTenantInfo(tenantEntity); if(parentWxMall == null || parentWxMall.getSaleType() != 100 || !parentWxMall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) || StringUtils.isNotBlank(parentWxMall.getParentTenantId())){ @@ -689,10 +686,10 @@ public class WxProjectConfigController extends BaseController { }else{ subTenantIdStrs = StringUtils.join(subTenantIds, ','); } - TenantEntity TenantEntity = new TenantEntity(){{ - setTenantId(tenantId); - }}; - WxMall parentWxMall = wxMallService.getByTenantInfo(TenantEntity); + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(tenantId); + + WxMall parentWxMall = wxMallService.getByTenantInfo(tenantEntity); if(parentWxMall == null || parentWxMall.getSaleType() != 100 || !parentWxMall.getGroupSupport().equals(EnumGroupSupport.SUPPORT.getCode()) || StringUtils.isNotBlank(parentWxMall.getParentTenantId())){ diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameController.java index ba1135ad1..0dc9d0f01 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameController.java @@ -3,6 +3,7 @@ package com.iformall.controller.market; import com.alibaba.fastjson.JSONArray; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; @@ -54,6 +55,14 @@ public class WxGameController extends BaseController { if (StringUtils.isBlank(wxGame.getCouponIds())) { wxGame.setCouponIds(JSONArray.toJSONString(new String[0])); } + if(wxGame.getPlayCreditLimit() != null && wxGame.getPlayCreditLimit() >= 0){ + if(wxGame.getPlayCredit() == null || wxGame.getPlayCredit() <= 0){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"游戏消耗积分不能为空或为0"); + } + if(wxGame.getPlayLimit() == null || wxGame.getPlayLimit() == 0){ + wxGame.setPlayLimit(-1); + } + } wxGame.setStatus(EnumGameStatus.STATUS_THROW_IN.getCode()); wxGame.updateTenantInfo(getTenantInfo()); wxGameService.saveOrUpdate(wxGame); @@ -68,6 +77,14 @@ public class WxGameController extends BaseController { if (StringUtils.isBlank(wxGame.getCouponIds())) { wxGame.setCouponIds(JSONArray.toJSONString(new String[0])); } + if(wxGame.getPlayCreditLimit() != null && wxGame.getPlayCreditLimit() >= 0){ + if(wxGame.getPlayCredit() == null || wxGame.getPlayCredit() <= 0){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"游戏消耗积分不能为空或为0"); + } + if(wxGame.getPlayLimit() == null || wxGame.getPlayLimit() == 0){ + wxGame.setPlayLimit(-1); + } + } wxGame.updateTenantInfo(getTenantInfo()); wxGameService.saveOrUpdate(wxGame); return new ResultData(); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java index fcb96418e..315bab67b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java @@ -56,6 +56,9 @@ public class WxCUserBasicInfoController extends BaseController { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired + private WxCUserBasicChildService wxCUserBasicChildService; + @Autowired private WxCUserTagsService wxCUserTagsService; @@ -86,6 +89,9 @@ public class WxCUserBasicInfoController extends BaseController { @Autowired private WxMerchantMapper wxMerchantMapper; + @Autowired + private WxCreditHistoryService wxCreditHistoryService; + private void setUserInfoLevel(WxCUserBasicInfo info) { if (info.getPoins() == null || info.getPoins() == 0) { @@ -101,6 +107,14 @@ public class WxCUserBasicInfoController extends BaseController { } } + private void setUserChildren(WxCUserBasicInfo info) { + WxCUserBasicChild uChild = new WxCUserBasicChild(); + uChild.setTenantId(info.getFinalTenantId()); + uChild.setCUserId(info.getId()); + info.setChildrenList(wxCUserBasicChildService.findList(uChild)); + + } + private void setUserInfoTag(WxCUserBasicInfo info) { if (info.getTagId() != null) { @@ -129,6 +143,16 @@ public class WxCUserBasicInfoController extends BaseController { info.setCarCount(wxCUserCarService.countUserCar(wxCUserCar)); } + private void setCreditSumDate(WxCUserBasicInfo info){ + WxCreditHistory wxCreditHistory = new WxCreditHistory(); + wxCreditHistory.setTenantId(info.getFinalTenantId()); + wxCreditHistory.setCUserId(info.getId()); + wxCreditHistory.setStartTime(info.getCreditStartTime()); + wxCreditHistory.setEndTime(info.getCreditEndTime()); + info.setAddCredit(wxCreditHistoryService.getAddCreditSummary(wxCreditHistory)); + info.setLesCredit(wxCreditHistoryService.getLesCreditSummary(wxCreditHistory)); + } + @ApiOperation("分页列表接口") @GetMapping("list") @ApiImplicitParams({ @@ -155,6 +179,9 @@ public class WxCUserBasicInfoController extends BaseController { for (WxCUserBasicInfo info : page.getList()) { // setUserInfoLevel(info); setUserInfoCarCount(info); + info.setCreditStartTime(wxCUserBasicInfo.getCreditStartTime()); + info.setCreditEndTime(wxCUserBasicInfo.getCreditEndTime()); + setCreditSumDate(info); } } return new ResultData(page); @@ -231,6 +258,7 @@ public class WxCUserBasicInfoController extends BaseController { setUserInfoTag(info); setUserInfoLevel(info); setUserInfoCar(info); + setUserChildren(info); return new ResultData(info); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserCarController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserCarController.java index 45893dd90..fb768c5ae 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserCarController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserCarController.java @@ -32,6 +32,7 @@ public class WxCUserCarController extends BaseController { public ResultData list(@ModelAttribute WxCUserCar wxCUserCar, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxCUserCarController::list"); if (null == wxCUserCar) wxCUserCar = new WxCUserCar(); + wxCUserCar.updateTenantInfo(getTenantInfo()); final PageInfo page = wxCUserCarService.listAsPage(wxCUserCar, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java index 177fcc784..b0b22090c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java @@ -2,16 +2,22 @@ package com.iformall.controller.mem; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; +import com.iformall.annotation.TenantIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxCreditHistory; +import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCreditHistoryVo; +import com.iformall.enums.EnumMerchantStatus; +import com.iformall.enums.EnumScoreType; +import com.iformall.enums.EnumUserType; import com.iformall.exception.MallinkException; import com.iformall.service.WxCreditHistoryService; +import com.iformall.service.WxMerchantService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -32,7 +38,10 @@ public class WxCreditHistoryController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxCreditHistoryService wxCreditHistoryService; + WxCreditHistoryService wxCreditHistoryService; + + @Autowired + private WxMerchantService wxMerchantService; @ApiOperation("分页列表接口") @GetMapping("list") @@ -79,10 +88,25 @@ public class WxCreditHistoryController extends BaseController { public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) { logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::add"); MallUserInfo user = getUser(); - //wxCreditHistory.updateTenantInfo(user); + wxCreditHistory.setTenantId(user.getFinalTenantId()); wxCreditHistory.setFinalTenantId(user.getFinalTenantId()); wxCreditHistory.setOperatorId(user.getId()); + + wxCreditHistory.setOperatorType(EnumUserType.MALLUSER.getCode()); + String desc = ""; + if(wxCreditHistory.getCreditType().equals(EnumScoreType.SPEND_CREDIT.getCode())){ + WxMerchant byId = wxMerchantService.getById(wxCreditHistory.getMerchantId()); + desc = "管理端手动积分:消费商户["+byId.getName()+"] 消费金额["+wxCreditHistory.getSpendStr()+"元]"; + }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.REDUCE_CREDIT.getCode())){ + desc = "管理端手动扣减积分"; + if(StringUtils.isNotBlank(wxCreditHistory.getChangePurpose())){ + desc = desc + "["+wxCreditHistory.getChangePurpose()+"]"; + } + }else{ + desc = "管理端("+user.getUsername()+")操作未知积分来源"; + } + wxCreditHistory.setChangePurpose(desc); try { wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),getTenantInfo()) ; WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); @@ -116,13 +140,6 @@ public class WxCreditHistoryController extends BaseController { @GetMapping("exportData") @SystemControllerLog(description = "积分历史-导出数据") public void exportData(@ModelAttribute WxCreditHistory wxCreditHistory, HttpServletRequest request, HttpServletResponse response) { -// wxCreditHistory.updateTenantInfo(getTenantInfo()); -// TenantEntity tenantEntity = ifParentUpdateTenantInfo(); -// if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ -// wxCreditHistory.setTenantId(tenantEntity.getParentTenantId()); -// }else{ -// wxCreditHistory.setTenantId(tenantEntity.getTenantId()); -// } wxCreditHistory.setTenantId(getTenantInfo().getFinalTenantId()); wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); wxCreditHistoryService.exportData(request, response, wxCreditHistory); @@ -133,17 +150,27 @@ public class WxCreditHistoryController extends BaseController { @SystemControllerLog(description = "积分历史-积分统计概览") public ResultData getCreditSummary(@ModelAttribute WxCreditHistory wxCreditHistory) { logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::getCreditSummary"); -// wxCreditHistory.updateTenantInfo(getTenantInfo()); -// TenantEntity tenantEntity = ifParentUpdateTenantInfo(); -// if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ -// wxCreditHistory.setTenantId(tenantEntity.getParentTenantId()); -// }else{ -// wxCreditHistory.setTenantId(tenantEntity.getTenantId()); -// } TenantEntity tenantInfo = getTenantInfo(); wxCreditHistory.setTenantId(tenantInfo.getFinalTenantId()); wxCreditHistory.setFinalTenantId(tenantInfo.getFinalTenantId()); return wxCreditHistoryService.getCreditSummary(wxCreditHistory); } + + @ApiOperation("积分清零计划") + @PostMapping("clearCreditByYear") + @SystemControllerLog(description = "积分清零计划") + @TenantIgnore + public ResultData clearCreditByYear(@RequestBody WxCreditHistory wxCreditHistory) { + logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::clearCreditByYear"); + if(wxCreditHistory == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; + } + if(StringUtils.isBlank(wxCreditHistory.getFinalTenantId())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL) ; + } + wxCreditHistoryService.clearCreditByYear(wxCreditHistory); + return new ResultData(Result.SUCCESS); + } + } diff --git a/mallinkAdmin/src/main/resources/db/migration/V202012230001__wx_credit_clear.sql b/mallinkAdmin/src/main/resources/db/migration/V202012230001__wx_credit_clear.sql new file mode 100644 index 000000000..7d34087a6 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202012230001__wx_credit_clear.sql @@ -0,0 +1,63 @@ +CREATE DEFINER=`root`@`%` PROCEDURE `user_credit_clear`(IN `cutOffDate` VARCHAR(50),IN `finalTableIndex` VARCHAR(50)) +BEGIN + DECLARE done INT DEFAULT 0; + DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET done = -1; + + select concat(finalTableIndex,'_',date_format(now(),'%Y%m%d%H%i')) into @tableSuffix; + + #START TRANSACTION; + + set @backUpSql1_0 = concat('CREATE TABLE `wx_credit_clear_md',@tableSuffix,'` (' + ,'`id` bigint(20) NOT NULL,' + ,'`user_id` bigint(20) DEFAULT NULL,' + ,'`final_tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,' + ,'`credit` int(11) DEFAULT NULL COMMENT \'用户当前总积分\',' + ,'`sum_credit` int(11) DEFAULT NULL COMMENT \'用户当前清零截止时间后总积分\',' + ,'`credit_amount` int(11) DEFAULT NULL COMMENT \'用户清零扣减积分\',' + ,'`cut_off_date` datetime(0) DEFAULT NULL COMMENT \'清零截止时间\',' + ,'PRIMARY KEY (`id`) USING BTREE' + ,') ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;'); + PREPARE back_up_sql1_0 FROM @backUpSql1_0; + EXECUTE back_up_sql1_0; + DEALLOCATE PREPARE back_up_sql1_0; + + INSERT into zz_process_log VALUES(NOW(),'user_credit_clear()','创建积分清零数据处理备份表',@backUpSql1_0); + + set @backUpSql1_1 = concat('insert into `wx_credit_clear_md',@tableSuffix,'`' + ,'(`id`, `user_id`, `final_tenant_id`, `credit`, `sum_credit`, `credit_amount`, `cut_off_date`)' + ,' select (select unix_timestamp(now()) + CEILING(RAND()*90000+10000)) id,wcubi.id user_id,wcubi.final_tenant_id,wcubi.credit,ifnull(wch.sum_credit,0) sum_credit,(ifnull(wch.sum_credit,0)-wcubi.credit) credit_amount,\'',cutOffDate,'\'' + ,' from wx_c_user_basic_info',finalTableIndex,' wcubi' + ,' left join (select c_user_id,sum(credit_num) sum_credit from wx_credit_history',finalTableIndex,' where credit_num > 0 and create_date >= \'',cutOffDate,'\' group by c_user_id) wch on wch.c_user_id = wcubi.id' + ,' where wcubi.credit > ifnull(wch.sum_credit,0);'); + PREPARE back_up_sql1_1 FROM @backUpSql1_1; + EXECUTE back_up_sql1_1; + DEALLOCATE PREPARE back_up_sql1_1; + + INSERT into zz_process_log VALUES(NOW(),'user_credit_clear()','添加积分清零数据处理',@backUpSql1_1); + + set @backUpSql1_2 = concat('insert into `wx_credit_history',finalTableIndex,'`' + ,'(`id`, `tenant_id`, `c_user_id`, `credit_amount`, `credit_num`, `credit_type`, `create_date`, `operator_type`, `operator_id`) ' + ,'select id,final_tenant_id,user_id,sum_credit,credit_amount,14,now(),4,0' + ,' from `wx_credit_clear_md',@tableSuffix,'`;'); + PREPARE back_up_sql1_2 FROM @backUpSql1_2; + EXECUTE back_up_sql1_2; + DEALLOCATE PREPARE back_up_sql1_2; + + INSERT into zz_process_log VALUES(NOW(),'user_credit_clear()','添加积分历史',@backUpSql1_2); + + set @backUpSql1_3 = concat('update wx_c_user_basic_info',finalTableIndex,' wcubi ' + ,'left join `wx_credit_clear_md',@tableSuffix,'` wccm on wcubi.id = wccm.user_id' + ,' set wcubi.credit = (wcubi.credit + wccm.credit_amount), wcubi.update_date = now()' + ,' where wccm.id is not null;'); + PREPARE back_up_sql1_3 FROM @backUpSql1_3; + EXECUTE back_up_sql1_3; + DEALLOCATE PREPARE back_up_sql1_3; + + INSERT into zz_process_log VALUES(NOW(),'user_credit_clear()','修改用户积分',@backUpSql1_3); + + #IF done = -1 THEN + # ROLLBACK; + # ELSE + # COMMIT; + # END IF; +END \ No newline at end of file diff --git a/mallinkAdmin/src/main/resources/db/migration/V202012280001__wx_coupon_action_log.sql b/mallinkAdmin/src/main/resources/db/migration/V202012280001__wx_coupon_action_log.sql new file mode 100644 index 000000000..bc0f4e80e --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202012280001__wx_coupon_action_log.sql @@ -0,0 +1,199 @@ +ALTER TABLE `wx_coupon_action_log_0` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_1` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_2` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_3` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_4` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_5` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_6` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_7` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_8` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_9` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_10` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_11` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_12` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_13` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_14` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_15` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_16` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_17` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_18` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_19` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_20` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_21` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_22` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_23` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_24` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_25` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_26` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_27` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_28` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_29` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_30` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_31` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_32` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_33` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_34` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_35` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_36` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_37` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_38` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_39` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_40` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_41` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_42` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_43` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_44` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_45` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_46` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_47` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_48` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_49` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_50` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_51` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_52` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_53` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_54` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_55` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_56` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_57` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_58` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_59` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_60` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_61` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_62` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_63` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_64` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_65` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_66` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_67` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_68` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_69` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_70` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_71` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_72` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_73` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_74` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_75` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_76` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_77` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_78` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_79` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_80` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_81` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_82` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_83` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_84` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_85` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_86` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_87` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_88` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_89` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_90` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_91` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_92` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_93` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_94` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_95` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_96` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_97` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_98` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; + +ALTER TABLE `wx_coupon_action_log_99` ADD COLUMN `operator_id` bigint(20) AFTER `create_time_md`; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202012290001__wx_game.sql b/mallinkAdmin/src/main/resources/db/migration/V202012290001__wx_game.sql new file mode 100644 index 000000000..2bdcb8ce7 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202012290001__wx_game.sql @@ -0,0 +1,7 @@ +ALTER TABLE `wx_game` +ADD COLUMN `play_credit_limit` int(11) NOT NULL DEFAULT -1 AFTER `award_limit`, +ADD COLUMN `play_credit` int(11) AFTER `play_credit_limit`; + + +ALTER TABLE `wx_game_action_log` +ADD COLUMN `type` int(11) NOT NULL DEFAULT 0 AFTER `create_time`; \ No newline at end of file diff --git a/mallinkAdmin/src/main/resources/db/migration/V202012290002__wx_c_user_basic_child.sql b/mallinkAdmin/src/main/resources/db/migration/V202012290002__wx_c_user_basic_child.sql new file mode 100644 index 000000000..30105a064 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202012290002__wx_c_user_basic_child.sql @@ -0,0 +1,1499 @@ +CREATE TABLE `wx_c_user_basic_child_0` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_1` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_2` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_3` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_4` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_5` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_6` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_7` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_8` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_9` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_10` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_11` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_12` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_13` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_14` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_15` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_16` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_17` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_18` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_19` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_20` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_21` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_22` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_23` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_24` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_25` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_26` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_27` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_28` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_29` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_30` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_31` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_32` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_33` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_34` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_35` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_36` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_37` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_38` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_39` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_40` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_41` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_42` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_43` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_44` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_45` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_46` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_47` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_48` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_49` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_50` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_51` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_52` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_53` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_54` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_55` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_56` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_57` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_58` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_59` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_60` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_61` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_62` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_63` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_64` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_65` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_66` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_67` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_68` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_69` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_70` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_71` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_72` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_73` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_74` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_75` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_76` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_77` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_78` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_79` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_80` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_81` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_82` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_83` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_84` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_85` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_86` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_87` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_88` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_89` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_90` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_91` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_92` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_93` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_94` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_95` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_96` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_97` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_98` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; + +CREATE TABLE `wx_c_user_basic_child_99` ( + `id` bigint(20) NOT NULL, + `tenant_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, + `c_user_id` bigint(11) DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `nick_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `birthdate` datetime(0) DEFAULT NULL, + `sex` smallint(1) NOT NULL DEFAULT 0, + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `create_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `update_date` datetime(0) DEFAULT CURRENT_TIMESTAMP, + `del_status` smallint(1) NOT NULL DEFAULT 0 COMMENT '1删除', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; \ No newline at end of file diff --git a/mallinkAdmin/src/main/resources/db/migration/V202012300001__wx_tag.sql b/mallinkAdmin/src/main/resources/db/migration/V202012300001__wx_tag.sql new file mode 100644 index 000000000..070e98e9b --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202012300001__wx_tag.sql @@ -0,0 +1,8 @@ +INSERT INTO `wx_tags_type`(`id`, `name`, `group_id`, `group_name`, `flag`) VALUES (29, '子女', 2, '生活属性', 0); + +INSERT INTO `wx_tags`(`id`, `name`, `group_id`, `group_name`, `type_id`, `type_name`) VALUES (166, '婴儿', 2, '生活属性', 29, '子女'); +INSERT INTO `wx_tags`(`id`, `name`, `group_id`, `group_name`, `type_id`, `type_name`) VALUES (167, '幼儿', 2, '生活属性', 29, '子女'); +INSERT INTO `wx_tags`(`id`, `name`, `group_id`, `group_name`, `type_id`, `type_name`) VALUES (168, '学龄前', 2, '生活属性', 29, '子女'); +INSERT INTO `wx_tags`(`id`, `name`, `group_id`, `group_name`, `type_id`, `type_name`) VALUES (169, '学龄初', 2, '生活属性', 29, '子女'); +INSERT INTO `wx_tags`(`id`, `name`, `group_id`, `group_name`, `type_id`, `type_name`) VALUES (170, '学龄中', 2, '生活属性', 29, '子女'); +INSERT INTO `wx_tags`(`id`, `name`, `group_id`, `group_name`, `type_id`, `type_name`) VALUES (171, '学龄晚', 2, '生活属性', 29, '子女'); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java index 45c182949..32b2665b7 100755 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java @@ -13,6 +13,7 @@ import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumScoreType; import com.iformall.enums.EnumUserType; import com.iformall.service.*; +import com.iformall.utils.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -23,6 +24,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -35,7 +37,6 @@ import java.util.List; public class WxCUserController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); - @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; @@ -48,6 +49,9 @@ public class WxCUserController extends BaseController { @Autowired private WxMerchantBUserService wxMerchantBUserService; + @Autowired + private WxMerchantService wxMerchantService; + @Autowired private WxCUserFromBService wxCUserFromBService; @@ -57,7 +61,6 @@ public class WxCUserController extends BaseController { @Autowired private WxCreditHistoryService wxCreditHistoryService; - /** * 会员更新信息 * @@ -76,70 +79,147 @@ public class WxCUserController extends BaseController { if (StringUtils.isEmpty(wxCUserFromBDto.getAppId())) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "C端appId不能为空"); } - if (wxCUserFromBDto.getUserId() == null) { - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "bUserId不能为空"); + if (StringUtils.isEmpty(wxCUserFromBDto.getPhone())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "C端手机号不能为空"); } +// if (wxCUserFromBDto.getUserId() == null) { +// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "bUserId不能为空"); +// } //根据bUserId查询B端用户是否存在 - WxMerchantBUser bUser = wxMerchantBUserService.getById(wxCUserFromBDto.getUserId()); +// WxMerchantBUser bUser = wxMerchantBUserService.getById(wxCUserFromBDto.getUserId()); + WxMerchantBUser bUser = getLoginBUser(); if (bUser == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "B端用户不存在"); } + WxMerchant wxMerchant = wxMerchantService.getById(bUser.getMerchantId()); + if (wxMerchant == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "商户不存在"); + } final IdWorker idWorker = IdWorker.get(); WxCUserFromB wxCUserFromB = wxCUserFromBService.getByOpenidAndAppId(wxCUserFromBDto); - //查询C端微信信息 WxCUser wxCUser = new WxCUser(); wxCUser.setAppId(wxCUserFromBDto.getAppId()); wxCUser.setOpenId(wxCUserFromBDto.getOpenid()); wxCUser = wxCUserService.getByOpenId(wxCUser); - if (wxCUserFromB == null) { - //TODO phone可能为空 - String phone = wxCUser.getPhone(); - - WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.findInfoByPhone(bUser, phone); - //查询会员信息 - //List byPhone = wxCUserBasicInfoService.findByPhone(bUser, phone); - //存在会员信息 - if (wxCUserBasicInfo != null) { - //更新会员信息 - if (!StringUtils.isEmpty(wxCUserFromBDto.getName())) { - wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); + + boolean isAddCredit = false; + WxCUserBasicInfo wxCUserBasicInfo = null; + + if(wxCUserFromB != null){ + wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUserFromB.getCUserId(),bUser.getFinalTenantId()); + if (!wxCUserBasicInfo.getPhone().equals(wxCUserFromBDto.getPhone())){ + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(wxCUser.getTenantId()); + tenantEntity.setParentTenantId(wxCUser.getParentTenantId()); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, wxCUserFromBDto.getPhone()); + if(infoByPhone != null){ + return new ResultData(ErrorCode.USER_PHONE_IS_FOUND,"手机号已存在"); } - if (wxCUserFromBDto != null) { - wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); + wxCUser.setPhone(wxCUserFromBDto.getPhone()); + wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); + } + if (StringUtils.isNotEmpty(wxCUserFromBDto.getName())) { + if(StringUtils.isEmpty(wxCUserBasicInfo.getName())){ + isAddCredit = true; } - if (wxCUserFromBDto.getSex() != null) { - wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); + wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); + } + if (wxCUserFromBDto.getBirthdate() != null) { + wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); + } + if (wxCUserFromBDto.getSex() != null) { + wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); + } + if (StringUtils.isNotEmpty(wxCUserFromBDto.getAddress())) { + wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); + } + wxCUserBasicInfoService.update(wxCUserBasicInfo); + + }else{ + wxCUserFromB = new WxCUserFromB(); + if(wxCUser != null){ + if(wxCUser.getUserId() != null){ + wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUser.getUserId(),wxCUser.getFinalTenantId()); + if (!wxCUserBasicInfo.getPhone().equals(wxCUserFromBDto.getPhone())){ + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(wxCUser.getTenantId()); + tenantEntity.setParentTenantId(wxCUser.getParentTenantId()); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, wxCUserFromBDto.getPhone()); + if(infoByPhone != null){ + return new ResultData(ErrorCode.USER_PHONE_IS_FOUND,"手机号已存在"); + } + wxCUser.setPhone(wxCUserFromBDto.getPhone()); + wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); + } + if (StringUtils.isNotEmpty(wxCUserFromBDto.getName())) { + if(StringUtils.isEmpty(wxCUserBasicInfo.getName())){ + isAddCredit = true; + } + wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); + } + if (wxCUserFromBDto.getBirthdate() != null) { + wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); + } + if (wxCUserFromBDto.getSex() != null) { + wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); + } + if (StringUtils.isNotEmpty(wxCUserFromBDto.getAddress())) { + wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); + } + wxCUserBasicInfoService.update(wxCUserBasicInfo); + + }else{ + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(wxCUser.getTenantId()); + tenantEntity.setParentTenantId(wxCUser.getParentTenantId()); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, wxCUserFromBDto.getPhone()); + if(infoByPhone != null){ + return new ResultData(ErrorCode.USER_PHONE_IS_FOUND,"手机号已存在"); + } + isAddCredit = true; + wxCUserBasicInfo = new WxCUserBasicInfo(); + wxCUserBasicInfo.setId(idWorker.nextId()); + wxCUserBasicInfo.setTenantId("," + wxCUser.getTenantId() + ","); + wxCUserBasicInfo.setFinalTenantId(wxCUser.getFinalTenantId()); + wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); + if (StringUtils.isNotEmpty(wxCUserFromBDto.getName())) { + wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); + } + if (wxCUserFromBDto.getBirthdate() != null) { + wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); + } + if (wxCUserFromBDto.getSex() != null) { + wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); + } + if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { + wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); + } + wxCUserBasicInfo.setLoginCount(1); + wxCUserBasicInfo.setActiveTime(new Date()); + wxCUserBasicInfo.setCreateDate(new Date()); + wxCUserBasicInfo.setUpdateDate(new Date()); + wxCUserBasicInfoService.save(wxCUserBasicInfo); + } - if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { - wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); + }else{ + TenantEntity tenantEntity = new TenantEntity(); + tenantEntity.setTenantId(bUser.getTenantId()); + tenantEntity.setParentTenantId(bUser.getParentTenantId()); + WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, wxCUserFromBDto.getPhone()); + if(infoByPhone != null){ + return new ResultData(ErrorCode.USER_PHONE_IS_FOUND,"手机号已存在"); } - wxCUserBasicInfo.setPhone(wxCUser.getPhone()); - wxCUserBasicInfo.setUpdateDate(new Date()); - wxCUserBasicInfoService.update(wxCUserBasicInfo); - wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); - //增加积分 - addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, wxCUserFromBDto.getUserId(), wxCUserFromB); - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo,bUser); - //新增来自B端的会员关联数据 - wxCUserFromB = new WxCUserFromB(); - wxCUserFromB.setBUserId(wxCUserFromBDto.getUserId()); - wxCUserFromB.setCUserId(wxCUserBasicInfo.getId()); - wxCUserFromB.setOpenid(wxCUserFromBDto.getOpenid()); - wxCUserFromB.setMerchantId(bUser.getMerchantId()); - wxCUserFromB.updateTenantInfo(bUser); - wxCUserFromB.setAppId(wxCUserFromBDto.getAppId()); - wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); - wxCUserFromBService.saveOrUpdate(wxCUserFromB); - } else { - //新增来自B端的会员 - long cUserId = idWorker.nextId(); + isAddCredit = true; wxCUserBasicInfo = new WxCUserBasicInfo(); - wxCUserBasicInfo.setId(cUserId); - if (!StringUtils.isEmpty(wxCUserFromBDto.getName())) { + wxCUserBasicInfo.setId(idWorker.nextId()); + wxCUserBasicInfo.setTenantId("," + bUser.getTenantId() + ","); + wxCUserBasicInfo.setFinalTenantId(bUser.getFinalTenantId()); + wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); + if (StringUtils.isNotEmpty(wxCUserFromBDto.getName())) { wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); } - if (wxCUserFromBDto != null) { + if (wxCUserFromBDto.getBirthdate() != null) { wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); } if (wxCUserFromBDto.getSex() != null) { @@ -148,57 +228,57 @@ public class WxCUserController extends BaseController { if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); } - wxCUserBasicInfo.setPhone(wxCUser.getPhone()); + wxCUserBasicInfo.setLoginCount(1); + wxCUserBasicInfo.setActiveTime(new Date()); + wxCUserBasicInfo.setCreateDate(new Date()); wxCUserBasicInfo.setUpdateDate(new Date()); wxCUserBasicInfoService.save(wxCUserBasicInfo); - //新增来自B端的会员关联数据 - wxCUserFromB = new WxCUserFromB(); - wxCUserFromB.setBUserId(wxCUserFromBDto.getUserId()); - wxCUserFromB.setCUserId(cUserId); - wxCUserFromB.setOpenid(wxCUserFromBDto.getOpenid()); - wxCUserFromB.setMerchantId(bUser.getMerchantId()); - wxCUserFromB.updateTenantInfo(bUser); - wxCUserFromB.setAppId(wxCUserFromBDto.getAppId()); - wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); - wxCUserFromBService.saveOrUpdate(wxCUserFromB); - } - } else { - WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUserFromB.getCUserId(),bUser.getFinalTenantId()); - if (!StringUtils.isEmpty(wxCUserFromBDto.getName())) { - wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); - } - if (wxCUserFromBDto != null) { - wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); - } - if (wxCUserFromBDto.getSex() != null) { - wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); - } - if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { - wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); + + wxCUser = new WxCUser(); + wxCUser.setTenantId(bUser.getTenantId()); + wxCUser.setParentTenantId(bUser.getParentTenantId()); + wxCUser.setAppId(wxCUserFromBDto.getAppId()); + wxCUser.setOpenId(wxCUserFromBDto.getOpenid()); + wxCUser.setPhone(wxCUserBasicInfo.getPhone()); + wxCUser.setLoginCount(1); + wxCUser.setUserId(wxCUserBasicInfo.getId()); + } - wxCUserBasicInfo.setPhone(wxCUser.getPhone()); - wxCUserBasicInfoService.update(wxCUserBasicInfo); + + } + + wxCUserService.saveOrUpdate(wxCUser); + if(isAddCredit){ wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); //增加积分 - addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, wxCUserFromBDto.getUserId(), wxCUserFromB); - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo,bUser); - //更新B端来源会员 - wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); - wxCUserFromBService.saveOrUpdate(wxCUserFromB); + addCredit(wxCUserBasicInfo, EnumScoreType.COMPLETE_INFO, bUser,wxMerchant); } + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo,bUser); + wxCUserFromB.setBUserId(wxCUserFromBDto.getUserId()); + wxCUserFromB.setCUserId(wxCUserBasicInfo.getId()); + wxCUserFromB.setOpenid(wxCUserFromBDto.getOpenid()); + wxCUserFromB.setMerchantId(bUser.getMerchantId()); + wxCUserFromB.updateTenantInfo(bUser); + wxCUserFromB.setAppId(wxCUserFromBDto.getAppId()); + //更新B端来源会员 + wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); + wxCUserFromBService.saveOrUpdate(wxCUserFromB); + return new ResultData(); } - private void addCredit(WxCUserBasicInfo wxCUserBasicInfo, EnumScoreType enumScoreType, Long userId, TenantEntity tenantEntity) { + private void addCredit(WxCUserBasicInfo wxCUserBasicInfo, EnumScoreType enumScoreType, WxMerchantBUser bUser,WxMerchant wxMerchant) { WxCreditHistory wxCreditHistory = new WxCreditHistory(); wxCreditHistory.setCUserId(wxCUserBasicInfo.getId()); + wxCreditHistory.setMerchantId(wxMerchant.getId()); // wxCreditHistory.updateTenantInfo(tenantEntity); - wxCreditHistory.setTenantId(tenantEntity.getFinalTenantId()); - wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); + wxCreditHistory.setTenantId(wxCUserBasicInfo.getFinalTenantId()); + wxCreditHistory.setFinalTenantId(wxCUserBasicInfo.getFinalTenantId()); wxCreditHistory.setCreateDate(new Date()); wxCreditHistory.setCreditType(enumScoreType.getCode()); + wxCreditHistory.setChangePurpose("商户端["+wxMerchant.getName()+"]操作完善个人信息"); wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); - wxCreditHistory.setOperatorId(userId); + wxCreditHistory.setOperatorId(bUser.getId()); wxCreditHistoryService.saveOrUpdate(wxCreditHistory); } @@ -228,6 +308,16 @@ public class WxCUserController extends BaseController { if(wxCUserFromB!=null){ WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUserFromB.getCUserId(),wxCUserFromB.getFinalTenantId()); return new ResultData(wxCUserBasicInfo); + }else{ + WxCUser wxCUser = new WxCUser(); + wxCUser.updateTenantInfo(getTenantInfo()); + wxCUser.setAppId(wxCUserFromBDto.getAppId()); + wxCUser.setOpenId(wxCUserFromBDto.getOpenid()); + WxCUser byOpenId = wxCUserService.getByOpenId(wxCUser); + if(byOpenId != null && byOpenId.getUserId() != null){ + WxCUserBasicInfo byId = wxCUserBasicInfoService.getById(byOpenId.getUserId(), byOpenId.getFinalTenantId()); + return new ResultData(byId); + } } return new ResultData(Result.SUCCESS,"查询成功",null); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java index 95d4466a3..7c55e864b 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java @@ -102,7 +102,7 @@ public class WxCouponSendController extends BaseController { wxCouponSend.setSendType(EnumCouponSendSendType.MERCHANT.getCode()); wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); try { - wxCouponSendService.handSel(wxCouponSend, Long.parseLong(cUserId),EnumPayWay.PAY_WAY_NOT_UNPAY_MERCHANT); + wxCouponSendService.handSel(wxCouponSend, Long.parseLong(cUserId),EnumPayWay.PAY_WAY_NOT_UNPAY_MERCHANT,getLoginBUser().getId()); } catch (MallinkException e) { logger.error("注券异常: ", e); return new ResultData(e.getErrorCode(), e.getMessage()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index 1a0c935b0..5044bf850 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -111,13 +111,17 @@ public class WxCreditHistoryController extends BaseController { //消费积分:取当前人的商户ID if (wxCreditHistory.getCreditType() == EnumScoreType.REDUCE_CREDIT.getCode()) { wxCreditHistory.setMerchantId(getLoginBUser().getMerchantId()); + wxCreditHistory.setChangePurpose("商户端手动扣减积分["+wxCreditHistory.getChangePurpose()+"]"); } else { //新增积分: //如果为商管商户 则消费商户按前端传入的进行记录 if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { wxCreditHistory.setMerchantId(wxCreditHistory.getMerchantId()); + WxMerchant byId = wxMerchantService.getById(wxCreditHistory.getMerchantId()); + wxCreditHistory.setChangePurpose("商户端手动积分:消费商户["+byId.getName()+"] 消费金额["+wxCreditHistory.getSpendStr()+"元]"); } else { wxCreditHistory.setMerchantId(getLoginBUser().getMerchantId()); + wxCreditHistory.setChangePurpose("商户端手动积分:消费商户["+merchant.getName()+"] 消费金额["+wxCreditHistory.getSpendStr()+"元]"); } } //B端操作用户 diff --git a/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java b/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java index 84e3d4e95..62367cbae 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/BaseController.java @@ -5,7 +5,6 @@ import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.domain.po.base.TenantEntity; -import com.iformall.enums.EnumAppPlat; import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUserBasicInfo; @@ -13,8 +12,6 @@ import com.iformall.exception.MallinkException; import com.iformall.service.CUserTokenService; import com.iformall.service.WxAppinfoService; import com.iformall.service.WxCUserBasicInfoService; -import com.iformall.service.WxCUserService; -import com.iformall.service.cuser.CUserServiceFactory; import com.iformall.service.wechat.FmOpenService; import com.iformall.utils.Constant; import com.iformall.utils.IPUtil; @@ -22,10 +19,11 @@ import com.iformall.utils.MaUtil; import com.iformall.utils.RedisCacheUtils; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ValueOperations; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RestController; @@ -37,15 +35,14 @@ import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.concurrent.TimeUnit; @RestController public class BaseController { - @Autowired - private boolean isFmOpen; + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxCUserService wxCUserService; + private boolean isFmOpen; @Autowired private WxAppinfoService wxAppinfoService; @@ -104,17 +101,10 @@ public class BaseController { public String getFinalTenantId() { TenantEntity tenantEntity = getTenantInfo(); - String tenantId = tenantEntity.getTenantId(); return tenantEntity.getFinalTenantId(); } - -// public Long getUserId() { -// HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); -// Long cUserId = (Long) request.getAttribute(Constant.LOGIN_USER_KEY); -// return cUserId; -// } - public Long getMemberId() throws Exception { + public Long getMemberId() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); Long memberId = (Long) request.getAttribute(Constant.LOGIN_MEMBER_KEY); if(memberId == null){ @@ -130,8 +120,7 @@ public class BaseController { public WxCUser getWxCUser() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); BaseCUserEntity baseuser = (BaseCUserEntity) request.getAttribute(Constant.REQUEST_C_USER_KEY); -// Long cUserId = getUserId(); -// WxCUser user = wxCUserService.getById(cUserId); + if (baseuser == null) { throw new MallinkException(ErrorCode.USER_IS_EMPTY); } @@ -190,14 +179,6 @@ public class BaseController { String shortKey = "webapp:short:member:"+memberId; RedisCacheUtils.removeCache(cuserBasicInfoTemplate, shortKey); } -// public WxCUserBasicInfo getMember() throws Exception { -// Long memberId = getMemberId(); -// WxCUserBasicInfo member = wxCUserBasicInfoService.getById(memberId); -// if (member == null) { -// throw new MallinkException(ErrorCode.USER_IS_EMPTY); -// } -// return member; -// } public WxAppinfo getAppInfo(String appId) { return wxAppinfoService.getByAppId(appId); @@ -236,62 +217,56 @@ public class BaseController { byId = wxCUserBasicInfoService.getById(userId,getFinalTenantId()); } -// List list = wxCUserBasicInfoService.findByPhone(tenantEntity, phone); WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, userPhone); if (basicInfo != null) { - if(byId != null && !byId.getPhone().equals(basicInfo.getPhone())){ - return Long.valueOf(-1); + if (byId != null) { + if (!byId.getId().equals(basicInfo.getId())) { + //数据库存在此手机号的会员,并且当前微信存在另一手机号会员 + logger.error("会员" + userId + "更换手机号时,当前手机号会员表已存在:" + userPhone); + return Long.valueOf(-1); + } } - if(!basicInfo.getTenantId().contains(","+tenantEntity.getTenantId()+",")){ - basicInfo.setTenantId(basicInfo.getTenantId()+tenantEntity.getTenantId()+","); - wxCUserBasicInfoService.update(basicInfo); + if (!basicInfo.getTenantId().contains("," + tenantEntity.getTenantId() + ",")) { + basicInfo.setTenantId(basicInfo.getTenantId() + tenantEntity.getTenantId() + ","); } -// WxCUserBasicInfo basicInfo = list.get(0); - // 微信名称,统一成微信昵称 -// if (!Objects.equals(basicInfo.getNickName(), user.getNickName())) { -// basicInfo.setNickName(user.getNickName()); -// } -// // 性别 -// if (basicInfo.getSex() == null) { -// basicInfo.setSex(user.getGender()); -// } -// // 成长值 -// if (Objects.nonNull(user.getScore())) { -// basicInfo.setPoins(user.getScore()); -// } -// // 积分 -// if (Objects.nonNull(user.getCredit())) { -// basicInfo.setCredit(user.getCredit()); -// } - //wxCUserBasicInfoService.updateObj(basicInfo, user); - return basicInfo.getId(); - } else if(byId != null){ - byId.setPhone(userPhone); - byId.setNickName(userName); - byId.setAvatarUrl(avatarUrl); - byId.setSex(sex); - wxCUserBasicInfoService.update(byId); - removeCacheMember(byId.getId()); - return byId.getId(); - }else{ - Date cur = new Date(); - basicInfo = new WxCUserBasicInfo(); - final IdWorker idWorker = IdWorker.get(); - basicInfo.setId(idWorker.nextId()); - basicInfo.setTenantId(","+tenantEntity.getTenantId()+","); - basicInfo.undateFinalTenantId(tenantEntity); - basicInfo.setPhone(userPhone); basicInfo.setNickName(userName); basicInfo.setAvatarUrl(avatarUrl); basicInfo.setSex(sex); - basicInfo.setLoginCount(1); - basicInfo.setActiveTime(cur); - basicInfo.setCreateDate(cur); - basicInfo.setUpdateDate(cur); - wxCUserBasicInfoService.save(basicInfo); + wxCUserBasicInfoService.update(basicInfo); removeCacheMember(basicInfo.getId()); return basicInfo.getId(); + } else { + if (byId != null) { + if (!byId.getTenantId().contains("," + tenantEntity.getTenantId() + ",")) { + byId.setTenantId(byId.getTenantId() + tenantEntity.getTenantId() + ","); + } + byId.setPhone(userPhone); + byId.setNickName(userName); + byId.setAvatarUrl(avatarUrl); + byId.setSex(sex); + wxCUserBasicInfoService.update(byId); + removeCacheMember(basicInfo.getId()); + return byId.getId(); + } else { + Date cur = new Date(); + basicInfo = new WxCUserBasicInfo(); + final IdWorker idWorker = IdWorker.get(); + basicInfo.setId(idWorker.nextId()); + basicInfo.setTenantId("," + tenantEntity.getTenantId() + ","); + basicInfo.setFinalTenantId(tenantEntity.getFinalTenantId()); + basicInfo.setPhone(userPhone); + basicInfo.setNickName(userName); + basicInfo.setAvatarUrl(avatarUrl); + basicInfo.setSex(sex); + basicInfo.setLoginCount(1); + basicInfo.setActiveTime(cur); + basicInfo.setCreateDate(cur); + basicInfo.setUpdateDate(cur); + wxCUserBasicInfoService.save(basicInfo); + removeCacheMember(basicInfo.getId()); + return basicInfo.getId(); + } } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index 48db39967..ffb599d52 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -4,9 +4,14 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; +import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxCUser; +import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.WxCreditHistory; +import com.iformall.enums.EnumScoreType; +import com.iformall.enums.EnumUserType; +import com.iformall.exception.MallinkException; import com.iformall.service.WxCreditHistoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -53,4 +58,38 @@ public class WxCreditHistoryController extends BaseController{ final PageInfo page = wxCreditHistoryService.listAsPage(wxCreditHistory, pageNum, pageSize); return new ResultData(page); } + + @ApiOperation("新增接口") + @PostMapping("add") + public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) { + logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::add"); + WxCUser wxCUser = getWxCUser(); + if(wxCUser.getUserId() == null){ + return new ResultData(ErrorCode.PHONE_NOT_FOUND,"用户未授权手机号"); + } + + wxCreditHistory.setTenantId(wxCUser.getFinalTenantId()); + wxCreditHistory.setCUserId(wxCUser.getId()); + wxCreditHistory.setOperatorId(wxCUser.getId()); + wxCreditHistory.setOperatorType(EnumUserType.CUSER.getCode()); + + if(wxCreditHistory.getCreditType().equals(EnumScoreType.GAME_ADD_CREDIT.getCode())){ + wxCreditHistory.setChangePurpose(EnumScoreType.GAME_ADD_CREDIT.getMessage()); + }else if(wxCreditHistory.getCreditType().equals(EnumScoreType.GAME_LES_CREDIT.getCode())){ + wxCreditHistory.setChangePurpose(EnumScoreType.GAME_LES_CREDIT.getMessage()); + }else{ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"未知操作"); + } + + try { + wxCreditHistoryService.creditUsercheck(wxCreditHistory.getCUserId(),getTenantInfo()) ; + WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); + removeCacheCUser(); + return new ResultData(Result.SUCCESS, "操作成功", credit); + } catch (MallinkException e) { + logger.error(e.getMessage()); + return new ResultData(e.getErrorCode(), e.getMessage()); + } + } + } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCuserFloatingLayerController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCuserFloatingLayerController.java index 88b4c7c03..3f46ef31f 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCuserFloatingLayerController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCuserFloatingLayerController.java @@ -28,7 +28,7 @@ public class WxCuserFloatingLayerController extends BaseController { @Autowired WxCuserFloatingLayerService wxCuserFloatingLayerService; - @AuthIgnore +// @AuthIgnore @ApiOperation("获取浮层") @GetMapping("/getFloatingLayer") @ApiImplicitParams({ diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java index 0cf753f33..75e85b649 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxGameController.java @@ -1,15 +1,11 @@ package com.iformall.controller; -import com.github.pagehelper.Page; -import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.enums.EnumGameStatus; import com.iformall.service.WxCouponOrderService; import com.iformall.service.WxGameService; -import com.iformall.service.WxGameTemplateService; -import com.iformall.service.WxOrderService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; @@ -18,7 +14,6 @@ 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 diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java index 2274a6b1e..9cf63bf74 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxPressOrderController.java @@ -68,7 +68,7 @@ public class WxPressOrderController extends BaseController { @ApiOperation(value = "参与砍价", notes = "{\"orderId\":\"String\"}") @PostMapping("pressOrderJoin") - @Transactional + @Transactional(rollbackFor = {Exception.class}) public ResultData pressOrderJoin(@RequestBody Map paramMap) { Date curDate = new Date(); String orderIdStr = paramMap.get("orderId"); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 1d326c150..8bdd6397a 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -549,11 +549,6 @@ public class WxUserGrantController extends BaseController { if (user != null) { logger.debug(user.toString()); - boolean bFirstNickName = false; - if(StringUtils.isNoneEmpty(user.getNickName())) { - bFirstNickName = true; - } - WxMaService wxMaService = getWeappService(user.getAppId()); String session_key = user.getSessionKey(); @@ -592,13 +587,6 @@ public class WxUserGrantController extends BaseController { removeCacheCUser(); - if(bFirstNickName) { - // 首次获取昵称 - // 成长值 - wxScoreRulesService.addScore(getTenantInfo(),EnumScoreType.WECHAT_PERSION, user); - //增加积分 - wxCUserService.addCredit(user, EnumScoreType.WECHAT_PERSION); - } resultMap.put("openId", user.getOpenId()); resultMap.put("unionId", user.getUnionId()); resultMap.put("msg", "获取用户信息成功!"); @@ -624,9 +612,9 @@ public class WxUserGrantController extends BaseController { @PostMapping("/getUserPhone") @ApiOperation(value = "授权后获取用户的手机号", notes = "{\"encryptedData\":\"string\",\"iv\":\"string\"}") public ResultData getUserPhone(@RequestBody Map map) { - logger.debug(map.toString()); + logger.info(map.toString()); TenantEntity tenantEntity = getTenantInfo(); - Map resultMap = new HashMap(); + String encryptedData = map.get("encryptedData"); String iv = map.get("iv"); @@ -638,6 +626,8 @@ public class WxUserGrantController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); } + Map resultMap = new HashMap(); + WxCUser user = getWxCUser(); if (user == null) { @@ -645,7 +635,7 @@ public class WxUserGrantController extends BaseController { } boolean isFirstPhone = false; - if(StringUtils.isBlank(user.getPhone())) { + if(user.getUserId() == null) { isFirstPhone = true; } @@ -660,18 +650,6 @@ public class WxUserGrantController extends BaseController { user.setPhone(phoneNoInfo.getPhoneNumber()); user.setPurePhone(phoneNoInfo.getPurePhoneNumber()); user.setCountryCode(phoneNoInfo.getCountryCode()); - if (isFirstPhone) { - //检查是否存在会员信息 如果有 赋值积分 -// WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, user.getPhone()); -// if (basicInfo != null ) { -// int credit = user.getCredit() == null ? 0 : user.getCredit(); -// int score = user.getScore() == null ? 0 : user.getScore(); -// int memScore = basicInfo.getPoins() == null ? 0 : basicInfo.getPoins(); -// int memCredit = basicInfo.getCredit() == null ? 0 : basicInfo.getCredit(); -// user.setCredit(memCredit + credit); -// user.setScore(memScore + score); -// } - } if (!user.getPhone().contains("*")) { // 用户手机非加密 String phone = user.getPhone(); @@ -685,6 +663,8 @@ public class WxUserGrantController extends BaseController { return new ResultData(ErrorCode.USER_PHONE_IS_FOUND); } user.setUserId(userBasicId); + }else{ + return new ResultData(ErrorCode.PHONE_DECODE_ERR, resultMap); } wxCUserService.saveOrUpdate(user); wxCUserService.delForUserIdOnly(user.getId(),user.getUserId(),user.getTenantId()); @@ -889,7 +869,7 @@ public class WxUserGrantController extends BaseController { } catch (Exception e) { return new ResultData(Result.ERROR,e.getMessage()); } - + userCar.updateTenantInfo(getTenantInfo()); userCar.setCUserId(memberId); List list = wxCUserCarService.getList(userCar); return new ResultData(Result.SUCCESS, "获取查询成功", list); @@ -976,10 +956,13 @@ public class WxUserGrantController extends BaseController { wxCreditHistory.setFinalTenantId(tenantEntity.getFinalTenantId()); wxCreditHistory.setCreateDate(new Date()); wxCreditHistory.setCreditType(EnumScoreType.COMPLETE_INFO.getCode()); + wxCreditHistory.setChangePurpose(EnumScoreType.COMPLETE_INFO.getMessage()); wxCreditHistory.setOperatorType(EnumUserType.CUSER.getCode()); wxCreditHistory.setOperatorId(memberId); wxCreditHistoryService.saveOrUpdate(wxCreditHistory); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, record,tenantEntity); + + removeCacheCUser(); } return new ResultData(); } diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index 5bf051b72..c6c4daa73 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -58,6 +58,7 @@ public class PosServiceImpl implements PosService { private final WxCouponOrderMapper couponOrderMapper; private final WxCouponMerchantMapper couponMerchantMapper; private final WxCouponMapper couponMapper; + private final WxMerchantMapper merchantMapper; /** @@ -1357,12 +1358,12 @@ public class PosServiceImpl implements PosService { logger.info("核销已完成: " + couponOrderCVo.getId()); } - private int posAddCredit(WxCouponOrderCVo couponOrderCVo, WxCoupon coupon, Long merchantId, Long buUserId) { + private int posAddCredit(WxCouponOrderCVo couponOrderCVo, WxCoupon coupon, WxMerchantBUser merchantBUser, WxMerchant wxMerchant) { try { //-------此处为【现金支付】记录增加积分操作------- WxCreditHistory creditHistory = new WxCreditHistory(); creditHistory.setOperatorType(EnumUserType.BUSER.getCode()); - creditHistory.setOperatorId(buUserId); + creditHistory.setOperatorId(merchantBUser.getId()); creditHistory.setCUserId(couponOrderCVo.getcUserId()); creditHistory.setCreateDate(new Date()); // creditHistory.updateTenantInfo(couponOrderCVo); @@ -1373,7 +1374,8 @@ public class PosServiceImpl implements PosService { creditHistory.setBusinessId(coupon.getBusiness()); creditHistory.setSpend(couponOrderCVo.getCouponPrice()); //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 - creditHistory.setMerchantId(merchantId); + creditHistory.setMerchantId(wxMerchant.getId()); + creditHistory.setChangePurpose("pos消费:消费商户["+wxMerchant.getName()+"] 卷名称["+coupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] "); creditHistory = creditHistoryService.saveOrUpdate(creditHistory); if (creditHistory.getCreditNum() != null) { return creditHistory.getCreditNum(); @@ -1386,12 +1388,12 @@ public class PosServiceImpl implements PosService { return 0; } - private int posAddCreditForPay(WxMerchant merchant, Long buUserId, Long memId, Integer payment) { + private int posAddCreditForPay(WxMerchant merchant,WxMerchantBUser buUser, Long memId, Integer payment) { try { //-------此处为【现金支付】记录增加积分操作------- WxCreditHistory creditHistory = new WxCreditHistory(); creditHistory.setOperatorType(EnumUserType.BUSER.getCode()); - creditHistory.setOperatorId(buUserId); + creditHistory.setOperatorId(buUser.getId()); creditHistory.setCUserId(memId); creditHistory.setCreateDate(new Date()); // creditHistory.updateTenantInfo(merchant); @@ -1402,6 +1404,7 @@ public class PosServiceImpl implements PosService { creditHistory.setSpend(payment); //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 creditHistory.setMerchantId(merchant.getId()); + creditHistory.setChangePurpose("pos消费:消费商户["+merchant.getName()+"] 消费金额["+creditHistory.getSpendStr()+"元]"); creditHistory = creditHistoryService.saveOrUpdate(creditHistory); if (creditHistory.getCreditNum() != null) { return creditHistory.getCreditNum(); @@ -1414,92 +1417,92 @@ public class PosServiceImpl implements PosService { return 0; } - /** - * 核销回退 - * @param couponOrderCVo - * @param buUserId - * @param posOrderId - */ - private void cancelVerify(WxCouponOrderCVo couponOrderCVo, Long buUserId, Long posOrderId) { - // 1. 积分历史回退 - try { - WxCreditHistory creditHistory = new WxCreditHistory(); - creditHistory.setOperatorType(EnumUserType.BUSER.getCode()); - creditHistory.setOperatorId(buUserId); - creditHistory.setCUserId(couponOrderCVo.getcUserId()); -// creditHistory.updateTenantInfo(couponOrderCVo); - creditHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId()); - creditHistory.setTenantId(couponOrderCVo.getFinalTenantId()); - creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); - creditHistory.setCouponId(couponOrderCVo.getCouponId()); - int num = creditHistoryService.cancelCredit(creditHistory); - if (num <= 1) { - logger.warn("核销积分历史回退: " + creditHistory.toString()); - } - } catch (Exception e) { - String errMessage = "核销积分历史回退:" + e.getMessage(); - logger.error(errMessage); - throw new MallinkException(500, errMessage); - } - // 2. 成长值历史回退 - try { - WxScoreHistory scoreHistory = new WxScoreHistory(); -// scoreHistory.updateTenantInfo(couponOrderCVo); - scoreHistory.setTenantId(couponOrderCVo.getFinalTenantId()); - scoreHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId()); - scoreHistory.setScoreType(EnumScoreType.CONSUMPTION.getCode()); - scoreHistory.setCUserId(couponOrderCVo.getcUserId()); - scoreHistory.setOrderId(couponOrderCVo.getOrderId()); - int num = scoreRulesService.cancelScore(scoreHistory); - if (num <= 1) { - logger.warn("核销成长值历史回退: " + scoreHistory.toString()); - } - } catch (Exception e) { - String errMessage = "核销成长值历史回退:" + e.getMessage(); - logger.error(errMessage); - throw new MallinkException(500, errMessage); - } - - // 3. update posOrderId - PosCouponOrderVerify posCouponOrderVerify = new PosCouponOrderVerify(); - posCouponOrderVerify.updateTenantInfo(couponOrderCVo); - posCouponOrderVerify.setCouponOrderId(couponOrderCVo.getId()); - posCouponOrderVerify.setPosOrderId(posOrderId); - posCouponOrderVerify.setState(EnumEnableType.Enable.getCode()); - List posCouponOrderVerifyList = posCouponOrderVerifyService.getList(posCouponOrderVerify); - if (posCouponOrderVerifyList.size() == 1) { - posCouponOrderVerify = posCouponOrderVerifyList.get(0); - if (posCouponOrderVerify != null) { - try { - posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId()); - } catch(Exception e){ - logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - } - } else { - logger.error(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL.getMessage() + ": " + posOrderId); - throw new MallinkException(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL); - } - // 4. update couponOrder - int num = 0; - try { - WxCouponOrder couponOrder = new WxCouponOrder(); - couponOrder.setId(couponOrderCVo.getId()); - couponOrder.updateTenantInfo(couponOrderCVo); - couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); - couponOrder.setUpdateDate(new Date()); - num = couponOrderMapper.cancelVerifyCouponOrder(couponOrder); - } catch (Exception e) { - logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); - throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); - } - if (num != 1) { - logger.error("核销异常:updatete num " + num); - throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num); - } - logger.info("核销已取消: " + couponOrderCVo.getId()); - } +// /** +// * 核销回退 +// * @param couponOrderCVo +// * @param buUserId +// * @param posOrderId +// */ +// private void cancelVerify(WxCouponOrderCVo couponOrderCVo, Long buUserId, Long posOrderId) { +// // 1. 积分历史回退 +// try { +// WxCreditHistory creditHistory = new WxCreditHistory(); +// creditHistory.setOperatorType(EnumUserType.BUSER.getCode()); +// creditHistory.setOperatorId(buUserId); +// creditHistory.setCUserId(couponOrderCVo.getcUserId()); +//// creditHistory.updateTenantInfo(couponOrderCVo); +// creditHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId()); +// creditHistory.setTenantId(couponOrderCVo.getFinalTenantId()); +// creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); +// creditHistory.setCouponId(couponOrderCVo.getCouponId()); +// int num = creditHistoryService.cancelCredit(creditHistory); +// if (num <= 1) { +// logger.warn("核销积分历史回退: " + creditHistory.toString()); +// } +// } catch (Exception e) { +// String errMessage = "核销积分历史回退:" + e.getMessage(); +// logger.error(errMessage); +// throw new MallinkException(500, errMessage); +// } +// // 2. 成长值历史回退 +// try { +// WxScoreHistory scoreHistory = new WxScoreHistory(); +//// scoreHistory.updateTenantInfo(couponOrderCVo); +// scoreHistory.setTenantId(couponOrderCVo.getFinalTenantId()); +// scoreHistory.setFinalTenantId(couponOrderCVo.getFinalTenantId()); +// scoreHistory.setScoreType(EnumScoreType.CONSUMPTION.getCode()); +// scoreHistory.setCUserId(couponOrderCVo.getcUserId()); +// scoreHistory.setOrderId(couponOrderCVo.getOrderId()); +// int num = scoreRulesService.cancelScore(scoreHistory); +// if (num <= 1) { +// logger.warn("核销成长值历史回退: " + scoreHistory.toString()); +// } +// } catch (Exception e) { +// String errMessage = "核销成长值历史回退:" + e.getMessage(); +// logger.error(errMessage); +// throw new MallinkException(500, errMessage); +// } +// +// // 3. update posOrderId +// PosCouponOrderVerify posCouponOrderVerify = new PosCouponOrderVerify(); +// posCouponOrderVerify.updateTenantInfo(couponOrderCVo); +// posCouponOrderVerify.setCouponOrderId(couponOrderCVo.getId()); +// posCouponOrderVerify.setPosOrderId(posOrderId); +// posCouponOrderVerify.setState(EnumEnableType.Enable.getCode()); +// List posCouponOrderVerifyList = posCouponOrderVerifyService.getList(posCouponOrderVerify); +// if (posCouponOrderVerifyList.size() == 1) { +// posCouponOrderVerify = posCouponOrderVerifyList.get(0); +// if (posCouponOrderVerify != null) { +// try { +// posCouponOrderVerifyService.deleteById(posCouponOrderVerify.getId()); +// } catch(Exception e){ +// logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); +// throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); +// } +// } +// } else { +// logger.error(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL.getMessage() + ": " + posOrderId); +// throw new MallinkException(ErrorCode.VERIFY_POS_ORDER_NOT_EQUAL); +// } +// // 4. update couponOrder +// int num = 0; +// try { +// WxCouponOrder couponOrder = new WxCouponOrder(); +// couponOrder.setId(couponOrderCVo.getId()); +// couponOrder.updateTenantInfo(couponOrderCVo); +// couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()); +// couponOrder.setUpdateDate(new Date()); +// num = couponOrderMapper.cancelVerifyCouponOrder(couponOrder); +// } catch (Exception e) { +// logger.error("db failed: couponOrder-" + couponOrderCVo.getId() + ", e:" + e.getMessage()); +// throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); +// } +// if (num != 1) { +// logger.error("核销异常:updatete num " + num); +// throw new MallinkException(ErrorCode.VERIFY_ERROR.getCode(), "updatete num " + num); +// } +// logger.info("核销已取消: " + couponOrderCVo.getId()); +// } @Override @Transactional(rollbackFor = Exception.class) @@ -2201,7 +2204,8 @@ public class PosServiceImpl implements PosService { // 4. 积分 try { - int credit = posAddCredit(couponOrderCVo, wxCoupon, merchantBUser.getMerchantId(), merchantBUser.getId()); + WxMerchant wxMerchant = merchantMapper.selectById(merchantBUser.getMerchantId()); + int credit = posAddCredit(couponOrderCVo, wxCoupon, merchantBUser, wxMerchant); scoreCreditCalc.setCredit(scoreCreditCalc.getCredit() + credit); } catch (Exception e) { logger.error("交易核销积分异常:" + e.getMessage()); @@ -2359,7 +2363,7 @@ public class PosServiceImpl implements PosService { // 4. 积分 try { - int credit = posAddCreditForPay(merchant, buUser.getId(), memId, neuPaymentAmount); + int credit = posAddCreditForPay(merchant, buUser, memId, neuPaymentAmount); scoreCreditCalc.setCredit(scoreCreditCalc.getCredit() + credit); } catch (Exception e) { logger.error("交易核销积分异常:" + e.getMessage()); diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java index dde758d91..ced1d89dc 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java @@ -192,7 +192,7 @@ public class CouponSendSchedule { // 发放免费券 try { WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(), cs,cs.getCouponId(), null,EnumPayWay.PAY_WAY_NOT_UNPAY_SYSTEM_SEND); - wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId()); + wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),0L); } catch (Exception e) { logger.error("定时发券:发券失败 levelId=" + l.getId() + " couponId=" + cs.getCouponId() + " userId=" + cu.getId() + e.getMessage()); continue; @@ -322,7 +322,7 @@ public class CouponSendSchedule { // 发放生日券 try { WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cu.getId(),cs, cs.getCouponId(), null,EnumPayWay.PAY_WAY_NOT_UNPAY_SYSTEM_SEND); - wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId()); + wxCouponActionLogService.addOne(tenantEntity, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(), 0L); couponSendedUsers.add(cu); } catch (Exception e) { logger.error("定时发券:发券失败 levelId=" + cu.getId() + " couponId=" + cs.getCouponId() + " userId=" + cu.getId() + e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 2cc59dbc3..e0cd67f52 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -137,7 +137,7 @@ public enum ErrorCode{ PUSH_LIMIT_NOT_INRANG(2042, "不在疲劳度允许的时间段"), COUPON_ONLY_FOR_NEW_MEMBER(2044, "您已经参加过新会员活动"), - COUPON_ALREADY_IN_NEW_MEMBER(2045, "您正在参加别的新会员活动"), + COUPON_ALREADY_IN_NEW_MEMBER(2045, "您已经不是新用户"), COUPON_VALID_NOT_SUPPORTED(2046, "券类型不支持"), /** * 车流 2040 diff --git a/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java b/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java index 2ef8b97e2..64c5ee0ec 100644 --- a/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java +++ b/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java @@ -47,8 +47,7 @@ public class BaseMyBatisConfiguration { wxCouponrSharding.setCount(100); wxCouponrSharding.setRule(EnumShardingRule.HASH.getCode()); shardingList.add(wxCouponrSharding); - - + ShardingSphere wxCouponrMerchantSharding = new ShardingSphere(); wxCouponrMerchantSharding.setColumn("tenant_id"); wxCouponrMerchantSharding.setTableName("wx_coupon_merchant"); @@ -76,6 +75,13 @@ public class BaseMyBatisConfiguration { basicInfoSharding.setCount(100); basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); shardingList.add(basicInfoSharding); + + ShardingSphere wxbasicChildSharding = new ShardingSphere(); + wxbasicChildSharding.setColumn("tenant_id"); + wxbasicChildSharding.setTableName("wx_c_user_basic_child"); + wxbasicChildSharding.setCount(100); + wxbasicChildSharding.setRule(EnumShardingRule.HASH.getCode()); + shardingList.add(wxbasicChildSharding); ShardingSphere wxOrderSharding = new ShardingSphere(); wxOrderSharding.setColumn("tenant_id"); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicChild.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicChild.java new file mode 100644 index 000000000..b20357599 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicChild.java @@ -0,0 +1,48 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.BaseTenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import java.util.Date; + +@TableName(value = "wx_c_user_basic_child") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxCUserBasicChild extends BaseTenantEntity { + + protected Long id; + + private Long cUserId; + + @io.swagger.annotations.ApiModelProperty(value="用户姓名",name="name") + private String name; + + @io.swagger.annotations.ApiModelProperty(value="性别:0:保密 1.男 2女",name="sex") + private Integer sex; + + @io.swagger.annotations.ApiModelProperty(value="昵称",name="nickName") + private String nickName; + + @io.swagger.annotations.ApiModelProperty(value="出生日期",name="birthdate") + private Date birthdate; + + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") + private Date updateDate; + + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + private Date createDate; + + @io.swagger.annotations.ApiModelProperty(value="备注",name="remark") + private String remark; + + @TableField(exist = false) + private Date startTime; + + @TableField(exist = false) + private Date endTime; + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java index 8546f0dec..f72f07bac 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java @@ -106,6 +106,16 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @io.swagger.annotations.ApiModelProperty(value="积分",name="credit") private Integer credit; + @Excel(name="扣减总积分",width = 20, orderNum = "12") + @io.swagger.annotations.ApiModelProperty(value="扣减积分",name="lesCredit") + @TableField(exist = false) + private Integer lesCredit; + + @Excel(name="增长总积分",width = 20, orderNum = "12") + @io.swagger.annotations.ApiModelProperty(value="增加积分",name="addCredit") + @TableField(exist = false) + private Integer addCredit; + @io.swagger.annotations.ApiModelProperty(value="活动记录",name="actRecord") private Integer actRecord; @@ -117,6 +127,9 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { private String tagNames; + @TableField(exist = false) + private List childrenList; + @TableField(exist = false) private String tagIds; @@ -129,11 +142,20 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @TableField(exist = false) private Integer carCount; + @TableField(exist = false) + private String carNumber; + @TableField(exist = false) private Date startTime; @TableField(exist = false) private Date endTime; + + @TableField(exist = false) + private Date creditStartTime; + + @TableField(exist = false) + private Date creditEndTime; @TableField(exist = false) private Integer begin; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java index 2a8c641aa..4661f60a6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserCar.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.BaseTenantEntity; import com.iformall.domain.po.base.TenantEntity; @@ -18,6 +19,10 @@ public class WxCUserCar extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="c端用户id",name="cUserId") private Long cUserId; + + @TableField(exist = false) + private String userPhone; + @io.swagger.annotations.ApiModelProperty(value="车牌号",name="carNumber") private String carNumber; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java index 37f666986..95c1f8e07 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponActionLog.java @@ -2,6 +2,7 @@ package com.iformall.domain.po; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -36,4 +37,8 @@ public class WxCouponActionLog extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="月日",name="createTimeMd") private String createTimeMd; + @JsonIgnore + @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") + private Long operatorId; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java index 467bf1871..489bace93 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.base.TenantEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -78,4 +79,10 @@ public class WxCreditHistory extends BaseTenantEntity { @io.swagger.annotations.ApiModelProperty(value = "标签", name = "tags") private List tags; + public String getSpendStr() { + if(getSpend()!=null) { + spendStr = new BigDecimal(getSpend()).divide(new BigDecimal(100)).toString(); + } + return spendStr; + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxGame.java b/mallinkService/src/main/java/com/iformall/domain/po/WxGame.java index 6655dadde..a8a439d28 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxGame.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxGame.java @@ -34,9 +34,15 @@ public class WxGame extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "触发条件(-1:不受限制,1:登录触发, 2:主页固定入口,3:购买触发,4:核销触发,5:公众号链接触发,6:二维码触发)", name = "triggleAction") private Integer triggleAction; - @io.swagger.annotations.ApiModelProperty(value = "限玩次数(0:不受限制,n:限玩次数)", name = "playLimit") + @io.swagger.annotations.ApiModelProperty(value = "限玩免费次数(-1:不能免费玩,0:不受限制,n:限玩次数)", name = "playLimit") private Integer playLimit; + @io.swagger.annotations.ApiModelProperty(value = "限玩积分次数(-1:不能积分玩法,0:不受限制,n:限玩次数)", name = "playCreditLimit") + private Integer playCreditLimit; + + @io.swagger.annotations.ApiModelProperty(value = "积分玩法消耗积分", name = "playCredit") + private Integer playCredit; + @io.swagger.annotations.ApiModelProperty(value = "限奖次数(0:不受限制,n:限奖次数)", name = "awardLimit") private Integer awardLimit; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxGameActionLog.java b/mallinkService/src/main/java/com/iformall/domain/po/WxGameActionLog.java index 3ca496830..ee963434c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxGameActionLog.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxGameActionLog.java @@ -33,5 +33,8 @@ public class WxGameActionLog extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="",name="createTime") private Date createTime; + @io.swagger.annotations.ApiModelProperty(value = "", name = "type") + private Integer type; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java index 9da453fea..960255d94 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/base/BaseTenantEntity.java @@ -26,7 +26,10 @@ public class BaseTenantEntity extends BaseEntity { protected String finalTenantId; public String getFinalTenantId() { - return finalTenantId; + if (!StringUtils.isBlank(parentTenantId)) { + return parentTenantId; + } + return tenantId; } public void setFinalTenantId(String finalTenantId) { diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java index d7eaef5b0..1b0fff986 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java @@ -45,7 +45,7 @@ public class WxCreditHistoryVo extends BaseTenantEntity { @io.swagger.annotations.ApiModelProperty(value = "操作人类型", name = "operator") private Integer operatorType; - @Excel(name = "操作说明", width = 20, orderNum = "9", replace = {"每日登录_1", "消费_2", "绑车牌_3", "连接WIFI_4", "微信用户昵称授权_5", "微信用户手机授权_6", "完善个人信息_7", "会员导入_8", "会员成长值扣减_9", "新增积分_10", "积分兑换_11", "消费积分_12", "活动报名_13"}) + @Excel(name = "操作说明", width = 20, orderNum = "9", replace = {"每日登录_1", "消费_2", "绑车牌_3", "连接WIFI_4", "微信用户昵称授权_5", "微信用户手机授权_6", "完善个人信息_7", "会员导入_8", "会员成长值扣减_9", "新增积分_10", "积分兑换_11", "消费积分_12", "活动报名_13", "积分清零计划_14", "游戏消耗积分_15", "游戏奖励积分_16"}) @io.swagger.annotations.ApiModelProperty(value = "积分类型", name = "creditType") private Integer creditType; @@ -73,6 +73,7 @@ public class WxCreditHistoryVo extends BaseTenantEntity { @io.swagger.annotations.ApiModelProperty(value = "小票号", name = "ticketNumber") private String ticketNumber; + @Excel(name = "说明", width = 20, orderNum = "11") @io.swagger.annotations.ApiModelProperty(value = "兑换用途", name = "changePurpose") private String changePurpose; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java b/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java index 8e80a70ee..8544c22d5 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumScoreType.java @@ -18,7 +18,9 @@ public enum EnumScoreType { CHANGE_CREDIT(11, "积分兑换"), REDUCE_CREDIT(12, "消费积分"), ACTIVITY_JOIN(13, "活动报名"), - CLEAN_CREDIT(14, "积分清零计划"),; + CLEAN_CREDIT(14, "积分清零计划"), + GAME_LES_CREDIT(15, "游戏消耗积分"), + GAME_ADD_CREDIT(16, "游戏奖励积分"),; public static EnumScoreType getEnum(Integer code) { for (EnumScoreType value : values()) { diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTag.java b/mallinkService/src/main/java/com/iformall/enums/EnumTag.java index 07fb22417..312f4b61c 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTag.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTag.java @@ -204,6 +204,13 @@ public enum EnumTag { ID_164(164L, EnumTagType.ID_28, "鞋尺码"), ID_165(165L, EnumTagType.ID_28, "鞋尺码"), + ID_166(166L, EnumTagType.ID_29, "婴儿"), + ID_167(167L, EnumTagType.ID_29, "幼儿"), + ID_168(168L, EnumTagType.ID_29, "学龄前"), + ID_169(169L, EnumTagType.ID_29, "学龄初"), + ID_170(170L, EnumTagType.ID_29, "学龄中"), + ID_171(171L, EnumTagType.ID_29, "学龄晚"), + ID_1000(1000L, EnumTagType.ID_50,"一天以内"), ID_1001(1001L, EnumTagType.ID_50,"一周以内"), ID_1002(1002L, EnumTagType.ID_50,"一月以内"), diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java b/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java index e14d37011..5e29be998 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumTagType.java @@ -35,6 +35,8 @@ public enum EnumTagType { ID_27(27L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_1, "服饰尺码"), ID_28(28L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_1, "鞋尺码"), + ID_29(29L, EnumTagTypeFlag.FLAG_NORMAL, EnumTagGroup.ID_2, "子女"), + ID_0(0L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员手机"), ID_50(50L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员会龄"), ID_51(51L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员等级"), diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicChildMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicChildMapper.java new file mode 100644 index 000000000..31a42e63d --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicChildMapper.java @@ -0,0 +1,15 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxCUserBasicChild; +import com.iformall.domain.po.WxCreditHistory; + +import java.util.List; + +public interface WxCUserBasicChildMapper extends CommonMapper{ + + List findList(WxCUserBasicChild record); + + int updDelById(WxCUserBasicChild record); + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java index 8f9b90d88..c11ca931f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserCarMapper.java @@ -17,4 +17,6 @@ public interface WxCUserCarMapper extends CommonMapper { long queryCarCount(Map carParams); List> queryCarCountHistory(HashMap params); + + List findList1(WxCUserCar record); } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java index 0f34a83e3..580d1ebb4 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java @@ -32,4 +32,10 @@ public interface WxCreditHistoryMapper extends CommonMapper findList(WxGameActionLog wxGameActionLog); int getPlayCount(WxGameActionLog wxGameActionLog); int getAwardCount(WxGameActionLog wxGameActionLog); + + int getPlayCreditCount(WxGameActionLog wxGameActionLog); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserBasicChildService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicChildService.java new file mode 100644 index 000000000..e6967e686 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicChildService.java @@ -0,0 +1,18 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.*; +import java.util.List; + +public interface WxCUserBasicChildService { + + PageInfo listAsPage(WxCUserBasicChild record, Integer pageIndex, Integer pageSize); + + List findList(WxCUserBasicChild record); + + WxCUserBasicChild saveOrUpdate(WxCUserBasicChild record); + + int updDelById(WxCUserBasicChild record); + +} + diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponActionLogService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponActionLogService.java index d2a8046b8..bddd6bdca 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponActionLogService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponActionLogService.java @@ -42,7 +42,7 @@ public interface WxCouponActionLogService { void deleteById(Long id,String tenantId); - void addOne(TenantEntity tenantEntity,Long couponId,Long coupon_order_id,int channelType,Long channelId); + void addOne(TenantEntity tenantEntity,Long couponId,Long coupon_order_id,int channelType,Long channelId,Long bUserId); int getCountByChannelId(TenantEntity tenantEntity, int channelType, Long channelId); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java index c4b75e144..a5ca39b7d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java @@ -96,7 +96,7 @@ public interface WxCouponSendService { * * @param wxCouponSend */ - void handSel(WxCouponSend wxCouponSend,Long cUserId,EnumPayWay payWay) ; + void handSel(WxCouponSend wxCouponSend,Long cUserId,EnumPayWay payWay,Long bUserId) ; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java index cc951076f..e69815d94 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java @@ -8,6 +8,7 @@ import com.iformall.domain.vo.WxCreditHistoryVo; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.Map; public interface WxCreditHistoryService { @@ -72,8 +73,13 @@ public interface WxCreditHistoryService { void clearCreditByYear(); + void clearCreditByYear(WxCreditHistory wxCreditHistory); + void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory); ResultData getCreditSummary(WxCreditHistory wxCreditHistory); + Integer getAddCreditSummary(WxCreditHistory wxCreditHistory); + + Integer getLesCreditSummary(WxCreditHistory wxCreditHistory); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java index 4d5458bbf..3b988ed87 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxActivityJoinServiceImpl.java @@ -187,6 +187,7 @@ public class WxActivityJoinServiceImpl implements WxActivityJoinService { wxCreditHistory.setCUserId(wxActivityJoin.getUserId()); wxCreditHistory.setCreditNum(credit); wxCreditHistory.setCreditType(EnumScoreType.ACTIVITY_JOIN.getCode()); + wxCreditHistory.setChangePurpose(EnumScoreType.ACTIVITY_JOIN.getMessage()+"["+wxActivity.getTitle()+"]"); wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); wxCreditHistory.setOperatorId(wxActivityJoin.getUserId()); wxCreditHistoryService.saveOrUpdate(wxCreditHistory); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicChildServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicChildServiceImpl.java new file mode 100644 index 000000000..000fa7302 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicChildServiceImpl.java @@ -0,0 +1,55 @@ +package com.iformall.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.*; +import com.iformall.mapper.WxCUserBasicChildMapper; +import com.iformall.service.*; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.*; + +@Service +@Slf4j +public class WxCUserBasicChildServiceImpl implements WxCUserBasicChildService { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxCUserBasicChildMapper wxCUserBasicChildMapper; + + @Override + public PageInfo listAsPage(WxCUserBasicChild record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserBasicChildMapper.findList(record)); + } + + @Override + public List findList(WxCUserBasicChild record) { + return wxCUserBasicChildMapper.findList(record); + } + + @Override + public WxCUserBasicChild saveOrUpdate(WxCUserBasicChild record) { + Date curr = new Date(); + if (record.getId() == null) { + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + record.setCreateDate(curr); + record.setUpdateDate(curr); + wxCUserBasicChildMapper.insert(record); + } else { + record.setUpdateDate(curr); + wxCUserBasicChildMapper.updateById(record); + } + return record; + } + + @Override + public int updDelById(WxCUserBasicChild record) { + return wxCUserBasicChildMapper.updDelById(record); + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index a531d7af4..7f462cb86 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -1101,6 +1101,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc wxCreditHistory.setOperatorType(EnumUserType.MALLUSER.getCode()); } wxCreditHistory.setCreditType(EnumScoreType.MEM_IMPORT.getCode()); + wxCreditHistory.setChangePurpose(EnumScoreType.MEM_IMPORT.getMessage()); if (oldUserBase != null) { wxCreditHistory.setCUserId(oldUserBase.getId()); } else { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserCarServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserCarServiceImpl.java index a33ef6c3b..8e000aa91 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserCarServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserCarServiceImpl.java @@ -26,7 +26,7 @@ public class WxCUserCarServiceImpl implements WxCUserCarService { @Override public PageInfo listAsPage(WxCUserCar record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserCarMapper.findList(record)); + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserCarMapper.findList1(record)); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java index 5032b0eba..2cde73cf7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java @@ -346,12 +346,13 @@ public class WxCUserServiceImpl implements WxCUserService { wxCreditHistory.setFinalTenantId(user.getFinalTenantId()); wxCreditHistory.setCreateDate(new Date()); wxCreditHistory.setCreditType(enumScoreType.getCode()); + wxCreditHistory.setChangePurpose(enumScoreType.getMessage()); wxCreditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); wxCreditHistory.setOperatorId(user.getUserId()); - wxCreditHistory.setCreditNum(user.getCredit()); - wxCreditHistory.setCreditAmount(user.getCredit()); +// wxCreditHistory.setCreditNum(user.getCredit()); +// wxCreditHistory.setCreditAmount(user.getCredit()); WxCreditHistory record = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); - user.setCredit(record.getCreditAmount()); +// user.setCredit(record.getCreditAmount()); return record.getCreditAmount(); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java index 14877221b..ae79e2036 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -13,6 +13,7 @@ import com.iformall.enums.*; import com.iformall.mapper.*; import com.iformall.service.WxCUserTagsService; import com.iformall.service.WxTagsService; +import com.iformall.utils.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +33,9 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { @Autowired WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + @Autowired + WxCUserBasicChildMapper wxCUserBasicChildMapper; + @Autowired WxCouponOrderMapper wxCouponOrderMapper; @@ -161,6 +165,54 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { return wxTagsMapper.findList(wxTags); } + //按type 替换 + private List assign(WxCUserBasicInfo user, List enumTags, EnumTagType type){ + + if(user == null){ + return null; + } + WxCUserTags record = new WxCUserTags(); + record.setUserId(user.getId()); + record.setTenantId(user.getFinalTenantId()); + List cUserTagsList = wxCUserTagsMapper.findList(record); + List tagIdList; + if(cUserTagsList != null && cUserTagsList.size() > 0){ + record.setId(cUserTagsList.get(0).getId()); + record.setTags(cUserTagsList.get(0).getTags()); + } + String tags = record.getTags(); + if (tags == null){ + tagIdList = new ArrayList(); + }else{ + tagIdList = JSON.parseArray(tags, Long.class); + } + + Iterator it = tagIdList.iterator(); + while(it.hasNext()){ + Long id = it.next(); + if(null != id && null != EnumTag.getEnum(id) && EnumTag.getEnum(id).getType().equals(type)){ + it.remove(); + } + } + + if(enumTags != null && enumTags.size() > 0){ + for (EnumTag enumTag:enumTags) { + tagIdList.add(enumTag.getCode()); + } + } + + record.setTags(JSON.toJSONString(tagIdList)); + saveOrUpdate(record); + + if (user.getTagId() == null || !user.getTagId().equals(record.getId())) { + user.setTagId(record.getId()); + wxCUserBasicInfoMapper.updateById(user); + } + WxTags wxTags = new WxTags(); + wxTags.setIds(tagIdList); + return wxTagsMapper.findList(wxTags); + } + //去标 private List resign(WxCUserBasicInfo user, EnumTag tag){ if (tag == null || user == null) @@ -593,6 +645,53 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { return resList; } + private List assignTypeId29(WxCUserBasicInfo user) { + List resList = null; + WxCUserBasicChild uChild = new WxCUserBasicChild(); + uChild.setTenantId(user.getFinalTenantId()); + uChild.setCUserId(user.getId()); + List list = wxCUserBasicChildMapper.findList(uChild); + if(list != null && list.size() > 0){ + List tags = new ArrayList<>(); + for (WxCUserBasicChild child:list) { + if(child.getBirthdate() != null){ + if (new Date().after(child.getBirthdate())) { + int age = DateUtils.getAge(child.getBirthdate()); + if(age < 1){ + if(!tags.contains(EnumTag.ID_166)){ + tags.add(EnumTag.ID_166); + } + }else if(age >= 1 && age < 3){ + if(!tags.contains(EnumTag.ID_167)){ + tags.add(EnumTag.ID_167); + } + }else if(age >= 3 && age < 6){ + if(!tags.contains(EnumTag.ID_168)){ + tags.add(EnumTag.ID_168); + } + }else if(age >= 6 && age < 12){ + if(!tags.contains(EnumTag.ID_169)){ + tags.add(EnumTag.ID_169); + } + }else if(age >= 12 && age < 15){ + if(!tags.contains(EnumTag.ID_170)){ + tags.add(EnumTag.ID_170); + } + }else if(age >= 15 && age < 18){ + if(!tags.contains(EnumTag.ID_171)){ + tags.add(EnumTag.ID_171); + } + } + } + } + } + resList = assign(user,tags,EnumTagType.ID_29); + }else{ + resList = assign(user,null,EnumTagType.ID_29); + } + return resList; + } + //打标接口 @Override public List assignTags(List tagIdList, WxCUserBasicInfo user) { @@ -638,6 +737,7 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { //学历 resList = assignTypeId6(user, param.getEducation()); } + resList = assignTypeId29(user); } } break; @@ -730,6 +830,8 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { //学历 resList = assignTypeId6(user, user.getEducation()); } + + resList = assignTypeId29(user); //消费类别 resList = assignTypeId14(user,tenantEntity); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 432b4b797..c1901cd70 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -310,6 +310,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { creditHistory.setSpend(real_payment); //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 creditHistory.setMerchantId(record.getMerchantId()); + WxMerchant wxMerchant = wxMerchantMapper.selectById(record.getMerchantId()); + creditHistory.setChangePurpose("卡消费:消费商户["+wxMerchant.getName()+"] 金额["+creditHistory.getSpendStr()+"元]"); wxCreditHistoryService.saveOrUpdate(creditHistory); } catch (Exception e) { logger.error("积分值:" + e.getMessage()); @@ -931,6 +933,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { creditHistory.setSpend(record.getRealPayment()); //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 creditHistory.setMerchantId(record.getMerchantId()); +// WxMerchant wxMerchant = wxMerchantMapper.selectById(record.getMerchantId()); + creditHistory.setChangePurpose("pos卡消费:消费商户["+merchant.getName()+"] 金额["+creditHistory.getSpendStr()+"元]"); creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory); if (creditHistory != null) { scoreCreditCalc.setCredit(scoreCreditCalc.getCredit() + creditHistory.getCreditNum()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponActionLogServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponActionLogServiceImpl.java index 251ab5748..903be3bbf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponActionLogServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponActionLogServiceImpl.java @@ -56,17 +56,18 @@ public class WxCouponActionLogServiceImpl implements WxCouponActionLogService { } @Override - public void addOne(TenantEntity tenantEntity, Long couponId, Long coupon_order_id, int channelType, Long channelId) { + public void addOne(TenantEntity tenantEntity, Long couponId, Long coupon_order_id, int channelType, Long channelId,Long bUserId) { Date curDate = new Date(); - WxCouponActionLog actionLog = new WxCouponActionLog() {{ - updateTenantInfo(tenantEntity); - setCouponId(couponId); - setChannelId(channelId); - setCouponOrderId(coupon_order_id); - setChannelType(channelType); - setCreateTime(curDate); - setCreateTimeMd(new SimpleDateFormat("MM/dd").format(curDate)); - }}; + WxCouponActionLog actionLog = new WxCouponActionLog(); + actionLog.updateTenantInfo(tenantEntity); + actionLog.setCouponId(couponId); + actionLog.setChannelId(channelId); + actionLog.setCouponOrderId(coupon_order_id); + actionLog.setChannelType(channelType); + actionLog.setCreateTime(curDate); + actionLog.setCreateTimeMd(new SimpleDateFormat("MM/dd").format(curDate)); + actionLog.setOperatorId(bUserId); + saveOrUpdate(actionLog); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java index 0a8508c5d..2d6a32936 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponInjectServiceImpl.java @@ -276,7 +276,7 @@ public class WxCouponInjectServiceImpl implements WxCouponInjectService { try { couponOrder = wxOrderService.sendFreeCouponToUser(tempCUser.getId(),wxCoupon, wxCoupon.getId(),null,EnumPayWay.PAY_WAY_NOT_UNPAY_BATCH_SEND); if (couponOrder != null) { - wxCouponActionLogService.addOne(couponOrder, wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId); + wxCouponActionLogService.addOne(couponOrder, wxCoupon.getId(), couponOrder.getId(), EnumCouponSendSendType.INJECT.getCode(), couponInjectId,0L); } } catch (MallinkException e) { logger.error(e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 616417864..328bfe8bb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -465,6 +465,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 creditHistory.setMerchantId(bUser.getMerchantId()); creditHistory.setBuserId(bUser.getBuserId()); + WxMerchant wxMerchant = wxMerchantMapper.selectById(bUser.getMerchantId()); + creditHistory.setChangePurpose("商户核销增加积分:商户名称["+wxMerchant.getName()+"] 券名称["+wxCoupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] "); wxCreditHistoryService.saveOrUpdate(creditHistory); } catch (Exception e) { logger.error("积分值:" + e.getMessage()); @@ -495,6 +497,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { creditHistory.setCouponId(wxCoupon.getId()); creditHistory.setBusinessId(wxCoupon.getBusiness()); creditHistory.setSpend(couponOrder.getCouponPrice()); + creditHistory.setChangePurpose("核销停车劵["+wxCoupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] "); wxCreditHistoryService.saveOrUpdate(creditHistory); } catch (Exception e) { logger.error("积分值:" + e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index cc6dec98f..c6c63d459 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -72,21 +72,21 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override public PageInfo listAsPage(WxCouponSend record, Integer pageIndex, Integer pageSize) { PageInfo pageInfo; - /** - * 设置商户购买券数 - * 前端排序:时间、商户总库存、商户已发数、商户剩余 - */ + /** + * 设置商户购买券数 + * 前端排序:时间、商户总库存、商户已发数、商户剩余 + */ if (Objects.equals(EnumCouponSendSendType.MERCHANT.getCode(), record.getSendType())) { String sortStr = null; - if (Objects.equals(record.getSortColumn(), WxCouponSend.SORT_MERCHANT_LNVENTORY) || - Objects.equals(record.getSortColumn(), WxCouponSend.SORT_MERCHANT_SEND) || + if (Objects.equals(record.getSortColumn(), WxCouponSend.SORT_MERCHANT_LNVENTORY) || + Objects.equals(record.getSortColumn(), WxCouponSend.SORT_MERCHANT_SEND) || Objects.equals(record.getSortColumn(), WxCouponSend.SORT_REMAIN)) { sortStr = record.getSortColumn() + " " + record.getSortOrder(); } else if (Objects.equals(record.getSortColumn(), "createDate")) { sortStr = "create_date" + " " + record.getSortOrder(); } - record.setSortColumn(null); - record.setSortCol(sortStr); + record.setSortColumn(null); + record.setSortCol(sortStr); pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponSendMapper.findListVoByValidType(record)); for (WxCouponSendVo cs : pageInfo.getList()) { JSONObject jo = JSONObject.parseObject(cs.getConditions()); @@ -375,7 +375,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { if (couponOrder != null) { bRet = true; - wxCouponActionLogService.addOne(couponOrder, send.getCouponId(), couponOrder.getId(), type.getCode(), send.getId()); + wxCouponActionLogService.addOne(couponOrder, send.getCouponId(), couponOrder.getId(), type.getCode(), send.getId(),0L); // 发送消息 if (couponOrder != null) { @@ -430,8 +430,8 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { List appList = wxAppinfoService.getList(appinfoQ); appName = appList.get(0).getName(); }else { - WxAppinfo appInfo = wxAppinfoService.getCAppInfo(tenantEntity,payw); - appName = appInfo.getName(); + WxAppinfo appInfo = wxAppinfoService.getCAppInfo(tenantEntity,payw); + appName = appInfo.getName(); } Map msgReplaceMap = new HashMap(); msgReplaceMap.put("title", title); @@ -628,7 +628,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public void handSel(WxCouponSend wxCouponSend, Long cUserId,EnumPayWay payWay) { + public void handSel(WxCouponSend wxCouponSend, Long cUserId,EnumPayWay payWay,Long bUserId) { WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoMapper.selectById(cUserId,wxCouponSend.getFinalTenantId()); if (Objects.isNull(wxCUserBasicInfo)) { @@ -643,7 +643,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { // 发放免费券 WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cUserId,cs, cs.getCouponId(), cs,payWay); if (couponOrder != null) { - wxCouponActionLogService.addOne(couponOrder, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId()); + wxCouponActionLogService.addOne(couponOrder, cs.getCouponId(), couponOrder.getId(), cs.getSendType(), cs.getId(),bUserId); sendMsgForSendCoupon(couponOrder, cs, couponOrder, wxCUserBasicInfo); } else { logger.warn("handSel couponOrder is null"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index cd7311048..3e5a17e6d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -17,6 +17,7 @@ import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.ExcelService; import com.iformall.service.WxCreditHistoryService; +import com.iformall.service.WxMallService; import com.iformall.service.WxScoreRulesService; import com.iformall.utils.CreditUtil; import com.iformall.utils.RedisLock; @@ -26,6 +27,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -33,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -43,8 +46,11 @@ import java.util.stream.Collectors; @Service @Slf4j public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + @Autowired WxCreditHistoryMapper wxCreditHistoryMapper; @@ -54,6 +60,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { @Autowired WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + @Autowired + WxProjectConfigMapper wxProjectConfigMapper; + @Autowired WxMerchantBUserMapper wxMerchantBUserMapper; @@ -78,6 +87,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { @Autowired WxLevelConfigMapper wxLevelConfigMapper; + @Autowired + private WxMallService wxMallService; + @Override public void clearCreditByYear() { WxScoreRules wxScoreRules = new WxScoreRules(); @@ -87,6 +99,20 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { } + /** + * @param + */ + @Override + public void clearCreditByYear(WxCreditHistory wxCreditHistory) { + if(wxCreditHistory.getEndTime() == null){ + wxCreditHistory.setEndTime(new Date()); + } + String tableSuffix = "_" + Integer.parseInt(wxCreditHistory.getFinalTenantId())%100; + + wxCreditHistoryMapper.userCreditClear(dateFormat.format(wxCreditHistory.getEndTime()),tableSuffix); + + } + @Override public void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory) { List wxCreditHistoryVoList = wxCreditHistoryMapper.findListMore(wxCreditHistory); @@ -108,6 +134,16 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { return new ResultData(result); } + @Override + public Integer getAddCreditSummary(WxCreditHistory wxCreditHistory) { + return wxCreditHistoryMapper.getAddCreditSummary(wxCreditHistory); + } + + @Override + public Integer getLesCreditSummary(WxCreditHistory wxCreditHistory) { + return wxCreditHistoryMapper.getLesCreditSummary(wxCreditHistory); + } + @Override public PageInfo listAsPage(WxCreditHistory record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCreditHistoryMapper.findList(record)); @@ -212,13 +248,11 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { record.setSpend(new BigDecimal(record.getSpendStr()).multiply(new BigDecimal(100)).intValue()); } int currentCreditAmount = 0; - //获取当前用户总积分规则:优先获取wxCUser中数据 若不存在 再获取wxCUserBasicInfo表中数据 + //获取当前用户总积分规则: if (wxCUserBasicInfo != null && wxCUserBasicInfo.getCredit() != null && wxCUserBasicInfo.getCredit() > 0) { currentCreditAmount = wxCUserBasicInfo.getCredit(); } - if (record.getCreditAmount() == null) { - record.setCreditAmount(currentCreditAmount); - } + record.setCreditAmount(currentCreditAmount); int creditChangeNumOrigin = creditIncrement(record); int creditChangeNum = creditChangeNumOrigin ; @@ -350,9 +384,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { if (record.getCreditType() == EnumScoreType.BIND_CAR.getCode()) { return bindCarAddCredit(record); } - if (record.getCreditType() == EnumScoreType.WECHAT_PERSION.getCode()) { - return personAddCredit(record); - } +// if (record.getCreditType() == EnumScoreType.WECHAT_PERSION.getCode()) { +// return personAddCredit(record); +// } if (record.getCreditType() == EnumScoreType.WECHAT_PHONE.getCode()) { return phoneAddCredit(record); } @@ -377,6 +411,12 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { if (record.getCreditType() == EnumScoreType.ACTIVITY_JOIN.getCode()) { return reduceCredit(record); } + if (record.getCreditType() == EnumScoreType.GAME_LES_CREDIT.getCode()) { + return reduceCredit(record); + } + if (record.getCreditType() == EnumScoreType.GAME_ADD_CREDIT.getCode()) { + return record.getCreditNum(); + } return 0; } @@ -407,12 +447,12 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { return wxScoreRules.getRule(EnumScoreType.BIND_CAR, WxScoreRules.SCORE); } - private int personAddCredit(WxCreditHistory record) { - // 1. 获取score rules - WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); - // 2. 增长的积分 - return wxScoreRules.getRule(EnumScoreType.WECHAT_PERSION, WxScoreRules.SCORE); - } +// private int personAddCredit(WxCreditHistory record) { +// // 1. 获取score rules +// WxScoreRules wxScoreRules = wxScoreRulesService.getCreditRules(record.getTenantId()); +// // 2. 增长的积分 +// return wxScoreRules.getRule(EnumScoreType.WECHAT_PERSION, WxScoreRules.SCORE); +// } private int phoneAddCredit(WxCreditHistory record) { // 1. 获取score rules diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java index 8b9ae6cab..247a3f493 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java @@ -155,18 +155,35 @@ public class WxGameServiceImpl implements WxGameService { wxGameActionLog.setGameId(gameId); int playLimit = wxGame.getPlayLimit(); + int playCreditLimit = wxGame.getPlayCreditLimit(); + int playCredit = wxGame.getPlayCredit(); int AwardLimit = wxGame.getAwardLimit(); int playCount = wxGameActionLogMapper.getPlayCount(wxGameActionLog); + int playCreditCount = wxGameActionLogMapper.getPlayCreditCount(wxGameActionLog); int AwardCount = wxGameActionLogMapper.getAwardCount(wxGameActionLog); - boolean playAble = !(( playLimit != 0 && playCount >= playLimit) - || (AwardLimit != 0 && AwardCount >= AwardLimit)); +// boolean playAble = !(( playLimit != 0 && playCount >= playLimit) +// || (AwardLimit != 0 && AwardCount >= AwardLimit)); Map map = new HashMap(); - map.put("playLimit",playLimit); - map.put("AwardLimit",AwardLimit); - map.put("playCount",playCount); - map.put("AwardCount",AwardCount); + map.put("playLimit",playLimit);//免费次数限制(为0是不限制次数,为-1是不能玩) + map.put("playCreditLimit",playCreditLimit);//消耗积分次数限制(为0是不限制次数,为-1是不能玩) + map.put("playCredit",playCredit);//消耗积分数量 + map.put("AwardLimit",AwardLimit);//中奖次数限制(为0是不限制次数) + map.put("playCount",playCount);//当前玩的免费次数 + map.put("playCreditCount",playCreditCount);//当前玩的消耗积分次数 + map.put("AwardCount",AwardCount);//当前中奖次数 + + boolean playAble = true; + if(AwardLimit != 0 && AwardCount >= AwardLimit){//中奖次数没了,不能完了 + playAble = false; + } + if((playLimit > 0 && playCount >= playLimit) || playLimit < 0){//免费不能玩了 + if((playCreditLimit > 0 && playCreditCount >= playCreditLimit) || playCreditLimit < 0){//积分不能玩了 + playAble = false; + } + } + map.put("playAble",playAble); return new ResultData(map); } @@ -280,7 +297,9 @@ public class WxGameServiceImpl implements WxGameService { Long couponId = obj.getLong("couponId"); int weight = obj.getIntValue("weight"); try { - saveOrUpdateCouponChannel(couponId, wxCouponChannelsMap, record); + if(couponId != null){ + saveOrUpdateCouponChannel(couponId, wxCouponChannelsMap, record); + } } catch (MallinkException e) { logger.error(e.getMessage()); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeModelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeModelServiceImpl.java index 66b01240e..c8fd705a8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeModelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgValidationcodeModelServiceImpl.java @@ -39,7 +39,7 @@ public class WxMsgValidationcodeModelServiceImpl implements WxMsgValidationcodeM WxMsgConfigMapper wxMsgConfigMapper; @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void wxMsgValidationcodeModelInit(String tenantId, String signature, String emailBgImg) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String nowTimestr = format.format(new Date()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 72d2fa97f..6adf93033 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -469,7 +469,6 @@ public class WxOrderServiceImpl implements WxOrderService { statusS.add(EnumOrderStatus.ORDER_STATUS_PENDING_REFUND.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_REFUND_SUCCESS.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_REFUND_FAILD.getCode()); - statusS.add(EnumOrderStatus.ORDER_STATUS_PRESSING.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_PRESS_COMPLETE.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_PRESS_CANCEL.getCode()); @@ -479,10 +478,10 @@ public class WxOrderServiceImpl implements WxOrderService { statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_OVERTIME.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_BREAK.getCode()); - + statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_SCHEDU_REFUND.getCode()); statusS.add(EnumOrderStatus.ORDER_STATUS_COOPERATING_COMPLETE_REFUND.getCode()); - + orderQ.setStatusS(statusS); return wxOrderMapper.countCouponConditionType1(orderQ); } catch (Exception e) { @@ -1566,13 +1565,18 @@ public class WxOrderServiceImpl implements WxOrderService { creditHistory.setTenantId(wxMerchant.getFinalTenantId()); creditHistory.setFinalTenantId(wxMerchant.getFinalTenantId()); creditHistory.setCreditType(EnumScoreType.CONSUMPTION.getCode()); + creditHistory.setBusinessId(wxMerchant.getBusinessId()); + creditHistory.setSpend(updateOrder.getPayment()); + creditHistory.setMerchantId(wxMerchant.getId()); if (updateOrder.getCouponChannelId() != null) { WxCouponChannel wxCouponChannel = wxCouponChannelMapper.selectById(updateOrder.getCouponChannelId(),updateOrder.getTenantId()); creditHistory.setCouponId(wxCouponChannel.getCouponId()); + } - creditHistory.setBusinessId(wxMerchant.getBusinessId()); - creditHistory.setSpend(updateOrder.getPayment()); - creditHistory.setMerchantId(wxMerchant.getId()); + + creditHistory.setChangePurpose("付款码消费:消费商户["+wxMerchant.getName()+"] 金额["+creditHistory.getSpendStr()+"元]"); + + wxCreditHistoryService.saveOrUpdate(creditHistory); } catch (Exception e) { logger.error("积分值:" + e.getMessage()); @@ -2012,7 +2016,7 @@ public class WxOrderServiceImpl implements WxOrderService { } // couponActionLog try { - wxCouponActionLogService.addOne(order, order.getProductId(), order.getOrderNumber(), EnumCouponSendSendType.ACTIVE.getCode(), orderSaveDto.getCouponChannelId()); + wxCouponActionLogService.addOne(order, order.getProductId(), order.getOrderNumber(), EnumCouponSendSendType.ACTIVE.getCode(), orderSaveDto.getCouponChannelId(),0L); } catch (Exception e) { // 库存恢复 stockBack(order); @@ -2191,23 +2195,27 @@ public class WxOrderServiceImpl implements WxOrderService { private void creditPay(WxCUserBasicInfo user, WxCoupon coupon) { //-------此处为【积分支付】记录增加积分操作------- WxCreditHistory creditHistory = new WxCreditHistory(); - //记录操作人类型 操作人id - if (user.getOperatorType() == EnumUserType.MALLUSER.getCode()) { - creditHistory.setOperatorType(EnumUserType.MALLUSER.getCode()); - creditHistory.setOperatorId(user.getOperatorId()); - } else { - creditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); - creditHistory.setOperatorId(user.getId()); - } creditHistory.setCreditNum(coupon.getCreditPrice()); creditHistory.setCUserId(user.getId()); // creditHistory.updateTenantInfo(coupon); creditHistory.setTenantId(coupon.getFinalTenantId()); creditHistory.setFinalTenantId(coupon.getFinalTenantId()); creditHistory.setCreditType(EnumScoreType.CHANGE_CREDIT.getCode()); + creditHistory.setCouponId(coupon.getId()); //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 setMerchantId(coupon, creditHistory); + //记录操作人类型 操作人id + if (user.getOperatorType() == EnumUserType.MALLUSER.getCode()) { + creditHistory.setOperatorType(EnumUserType.MALLUSER.getCode()); + creditHistory.setOperatorId(user.getOperatorId()); + creditHistory.setChangePurpose("管理端积分兑换"+"["+coupon.getTitle()+"]"); + } else { + creditHistory.setOperatorType(EnumUserType.CUSERBASIC.getCode()); + creditHistory.setOperatorId(user.getId()); + creditHistory.setChangePurpose("积分兑换"+"["+coupon.getTitle()+"]"); + } + wxCreditHistoryService.saveOrUpdate(creditHistory); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxParkServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxParkServiceImpl.java index 8d4560d0c..b10aaefc1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxParkServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxParkServiceImpl.java @@ -69,7 +69,7 @@ public class WxParkServiceImpl implements WxParkService { } @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void saveOrUpdate(WxPark record) { Date now = new Date(); if (record.getId() == null) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java index 7a873b924..3a5880555 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProjectConfigServiceImpl.java @@ -69,7 +69,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { MallUserInfoService userInfoService; @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void initProjectConfig(Long id) { // WxProjectConfig wxProjectConfig = wxProjectConfigMapper.selectById(id); // if(wxProjectConfig!=null && wxProjectConfig.getDelType()<10000){ @@ -131,7 +131,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { } @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void initMall(WxMall wxMall) { if(wxMall.getId() == null){ wxMall.setTenantId("-1"); @@ -157,7 +157,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { } @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void initBuilding(List wxMallBuildings) { wxMallBuildingService.deleteByTenantId(wxMallBuildings.get(0).getTenantId()); wxMallFloorService.deleteByTenantId(wxMallBuildings.get(0).getTenantId()); @@ -185,7 +185,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { } @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void initPayAccount(WxPayAccount wxPayAccount) { wxPayAccountService.saveOrUpdate(wxPayAccount); WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantId(wxPayAccount.getTenantId()); @@ -218,7 +218,7 @@ public class WxProjectConfigServiceImpl implements WxProjectConfigService { @Override - @Transactional + @Transactional(rollbackFor = {Exception.class}) public void initUserInfo(MallUserInfo userInfo) { userInfoService.saveOrUpdate(userInfo); //创建角色 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index ebc7854d2..376b599bc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -66,10 +66,8 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"数码家电\", \"businessId\": 11}," + " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"其他\", \"businessId\": 6}]}," + " {\"id\": 3, \"desc\": \"绑定车牌1个\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 5, \"desc\": \"授权个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}," + " {\"id\": 6, \"desc\": \"授权手机号\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 7, \"desc\": \"编辑个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 8, \"desc\": \"编辑个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}]"); + " {\"id\": 7, \"desc\": \"编辑个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}]"); wxScoreRules.setCreateDate(new Date()); wxScoreRules.setUpdateDate(new Date()); wxScoreRules.setType(2); @@ -93,7 +91,6 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"数码家电\", \"businessId\": 11}," + " {\"desc\": \"线上交易1元\", \"step\": 1, \"limit\": 0, \"score\": 0, \"title\": \"其他\", \"businessId\": 6}]}," + " {\"id\": 3, \"desc\": \"绑定车牌1个\", \"step\": 1, \"limit\": 1, \"score\": 0}," + - " {\"id\": 5, \"desc\": \"授权个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}," + " {\"id\": 6, \"desc\": \"授权手机号\", \"step\": 1, \"limit\": 1, \"score\": 0}," + " {\"id\": 7, \"desc\": \"编辑个人信息\", \"step\": 1, \"limit\": 1, \"score\": 0}]"); wxScoreRules.setCreateDate(new Date()); @@ -419,21 +416,21 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { return addScoreNumber; } - private int personAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { - int addScoreNumber = 0; - // 1. 获取score rules - WxScoreRules scoreRules = getScoreRules(tenantEntity); - - // 2. 获取成长值 - addScoreNumber = scoreRules.getRule(EnumScoreType.WECHAT_PERSION,WxScoreRules.SCORE); - - // 3. 增长的成长值 - updateScore(user.getId(),tenantEntity, addScoreNumber); - - // 4. 记录历史 - recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PERSION); - return addScoreNumber; - } +// private int personAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { +// int addScoreNumber = 0; +// // 1. 获取score rules +// WxScoreRules scoreRules = getScoreRules(tenantEntity); +// +// // 2. 获取成长值 +// addScoreNumber = scoreRules.getRule(EnumScoreType.WECHAT_PERSION,WxScoreRules.SCORE); +// +// // 3. 增长的成长值 +// updateScore(user.getId(),tenantEntity, addScoreNumber); +// +// // 4. 记录历史 +// recordScoreHistory(addScoreNumber, tenantEntity, user.getId(), EnumScoreType.WECHAT_PERSION); +// return addScoreNumber; +// } private int phoneAddScore(TenantEntity tenantEntity,WxCUserBasicInfo user) { int addScoreNumber = 0; @@ -600,9 +597,9 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { case BIND_CAR:{ return bindCarAddScore(tenantEntity,wxCUserBasicInfo); } - case WECHAT_PERSION:{ - return personAddScore(tenantEntity,wxCUserBasicInfo); - } +// case WECHAT_PERSION:{ +// return personAddScore(tenantEntity,wxCUserBasicInfo); +// } case WECHAT_PHONE:{ return phoneAddScore(tenantEntity,wxCUserBasicInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java b/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java index 92f776c88..b0def6f5a 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/util/ParkHelper.java @@ -85,6 +85,7 @@ public class ParkHelper { wxCreditHistory.setFinalTenantId(park.getFinalTenantId()); // wxCreditHistory.setCreateDate(new Date()); wxCreditHistory.setCreditType(EnumScoreType.BIND_CAR.getCode()); + wxCreditHistory.setChangePurpose(EnumScoreType.BIND_CAR.getMessage()); wxCreditHistory.setOperatorType(EnumUserType.CUSER.getCode()); wxCreditHistory.setOperatorId(cuUserId); wxCreditHistoryService.saveOrUpdate(wxCreditHistory); diff --git a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java index e3810038f..5bc1e01e2 100755 --- a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java @@ -1258,4 +1258,34 @@ public class DateUtils { System.out.println(next); } */ + + + /** + * 获取多少岁 + * @param birthDay + * @return + * @throws Exception + */ + public static int getAge(Date birthDay){ + Calendar cal = Calendar.getInstance(); + if (cal.before(birthDay)) { //出生日期晚于当前时间,无法计算 + throw new IllegalArgumentException( + "The birthDay is before Now.It's unbelievable!"); + } + int yearNow = cal.get(Calendar.YEAR); //当前年份 + int monthNow = cal.get(Calendar.MONTH); //当前月份 + int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); //当前日期 + cal.setTime(birthDay); + int yearBirth = cal.get(Calendar.YEAR); + int monthBirth = cal.get(Calendar.MONTH); + int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH); + int age = yearNow - yearBirth; //计算整岁数 + if (monthNow <= monthBirth) { + if (monthNow == monthBirth) { + if (dayOfMonthNow < dayOfMonthBirth) age--;//当前日期在生日之前,年龄减一 + }else{ + age--;//当前月份在生日之前,年龄减一 + } + } return age; + } } diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 9522bde60..e36d32813 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -35,7 +35,7 @@ wcubi.`avatar_url`,wcubi.`credit`,wcubi.`active_time`,wcubi.`login_count`,wcubi.`act_record` ,(select level from wx_level_config where poins >= points and tenant_id=wcubi.final_tenant_id - order by points desc limit 1 ) level,wcubi.status + order by points desc limit 1 ) level,wcubi.score_date,wcubi.status @@ -116,6 +116,12 @@ and wcubi.`status` = #{status} + + + and wcubi.id in (select c_user_id from wx_c_user_car + where (`tenant_id` = #{finalTenantId} or `parent_tenant_id` = #{finalTenantId}) + and car_number like concat('%', #{carNumber},'%')) + and wcubi.id in @@ -220,6 +226,18 @@ and wcubi.`status` = #{basicInfo.status} + + and wcubi.id in (select c_user_id from wx_c_user_car + where 1=1 + + and `tenant_id` = #{tenantInfo.tenantId} + + + and `parent_tenant_id` = #{tenantInfo.parentTenantId} + + and car_number like concat('%', #{basicInfo.carNumber},'%')) + + and wcubi.id in @@ -617,6 +635,9 @@ + + + @@ -801,6 +822,24 @@ + + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml index 724dbfb4f..6d3a5dcb8 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml @@ -346,7 +346,8 @@ LEFT JOIN wx_coupon_order co ON cal.coupon_order_id = co.id LEFT JOIN wx_coupon c ON cal.coupon_id = c.id LEFT JOIN wx_c_user_basic_info cu ON cu.id = co.c_user_id - LEFT JOIN wx_merchant_b_user mbu ON concat(mbu.merchant_id,'') = JSON_EXTRACT(cs.conditions , '$.id') + LEFT JOIN wx_merchant_b_user mbu ON mbu.id = cal.operator_id + WHERE cal.channel_type = #{channelType} AND cs.conditions -> '$.id' = concat(#{merchantId},'') diff --git a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml index 0d1ac2a46..91f355615 100644 --- a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml @@ -247,6 +247,33 @@ and credit.credit_num < 0 + + + + select COUNT(*) FROM wx_game_action_log a + and `type` = 0 + + + - select `tenant_id`,`parent_tenant_id` from wx_mall where id > 1 + select `tenant_id`,`parent_tenant_id` from wx_mall where 1=1 and `tenant_id` = #{tenantId} diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index d409f1fee..c01c32150 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -149,7 +149,7 @@ select count(*) from wx_order o,wx_coupon c where o.product_id = c.id and c.conditions is not null - and JSON_EXTRACT(c.conditions, '$.type') = 1 + /*and JSON_EXTRACT(c.conditions, '$.type') = 1*/ and o.c_user_id = #{cUserId} diff --git a/mallinkService/src/main/resources/mapper/wxCUserBasicChildMapper.xml b/mallinkService/src/main/resources/mapper/wxCUserBasicChildMapper.xml new file mode 100644 index 000000000..aa54d63a5 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/wxCUserBasicChildMapper.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`c_user_id`,`name`,`nick_name`,`birthdate`,`sex`,`remark`,`create_date`,`update_date` + + + + where del_status = 0 + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `c_user_id` = #{cUserId} + + + and `name` like concat('%', #{name},'%') + + + and `nick_name` like concat('%', #{nickName},'%') + + + and `sex` = #{sex} + + + + and create_date >= #{startTime} + + + and create_date <= #{endTime} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + update wx_c_user_basic_child set del_status = 0 where id = #{id} and tenant_id = #{tenantId} + + + diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java index 215e8e986..a385a71c8 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java @@ -58,6 +58,9 @@ public class DataInitController extends BaseController { @Resource private WxMerchantBUserMapper merchantBUserMapper; + @Resource + private WxMerchantService merchantService; + @Autowired private WxOrderService wxOrderService; @@ -211,6 +214,8 @@ public class DataInitController extends BaseController { creditHistory.setSpend(co.getCouponPrice()); //如果券与商户一对一 则直接将消费商户更新为此商户 若一对多 则消费商户显示多商户 creditHistory.setMerchantId(buUser.getMerchantId()); + WxMerchant wxMerchant = merchantService.getById(buUser.getMerchantId()); + creditHistory.setChangePurpose("核销积分数据修复:消费商户["+wxMerchant.getName()+"] 卷名称["+coupon.getTitle()+"("+creditHistory.getSpendStr()+"元)] "); creditHistoryService.saveOrUpdate(creditHistory); }); } diff --git a/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java b/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java index 574d6cd2c..60927c9de 100644 --- a/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java +++ b/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java @@ -14,6 +14,7 @@ import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.logging.LogFactory; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.mapping.StatementType; import org.apache.ibatis.plugin.*; import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.SystemMetaObject; @@ -86,7 +87,11 @@ public class ShardingSpherePlugin implements MyBatisPlus { MetaObject metaStatementHandler = SystemMetaObject.forObject(statementHandler); MappedStatement ms = (MappedStatement) metaStatementHandler.getValue("delegate.mappedStatement"); - //String id = ms.getId(); + if(ms.getStatementType().equals(StatementType.CALLABLE)){ + return chainMap; + } + + //String id = ms.getId(); //String className = id.substring(0, id.lastIndexOf(".")); //String methodName = id.substring(id.lastIndexOf(".") + 1); //Class clazz = Class.forName(className);