| @@ -407,7 +407,7 @@ public class WxMerchantController extends BaseController { | |||||
| } | } | ||||
| WxPayAccount payAcount = payAccountService.getById(appInfo.getPayId()); | WxPayAccount payAcount = payAccountService.getById(appInfo.getPayId()); | ||||
| if(payAcount == null){ | if(payAcount == null){ | ||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | } | ||||
| if(anEnum.equals(AppAddSubMerchantUrlType.improt_URL)){ | if(anEnum.equals(AppAddSubMerchantUrlType.improt_URL)){ | ||||
| return wxProfitSharingReceiverService.getTtReceiverImprotURL(merchant,appInfo.getAppId(),payAcount.getApiKey()); | return wxProfitSharingReceiverService.getTtReceiverImprotURL(merchant,appInfo.getAppId(),payAcount.getApiKey()); | ||||
| @@ -197,7 +197,7 @@ public class WxCUserBasicInfoController extends BaseController { | |||||
| updateLevelParam(wxCUserBasicInfo); | updateLevelParam(wxCUserBasicInfo); | ||||
| } | } | ||||
| } | } | ||||
| wxCUserBasicInfo.undateFinalTenantId(getTenantInfo()); | |||||
| wxCUserBasicInfo.updateFinalTenantId(getTenantInfo()); | |||||
| wxCUserBasicInfo.setSortColumns(BaseEntity.SortField.wcubiActiveTime_DESC); | wxCUserBasicInfo.setSortColumns(BaseEntity.SortField.wcubiActiveTime_DESC); | ||||
| PageInfo<WxCUserBasicInfo> page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize); | PageInfo<WxCUserBasicInfo> page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize); | ||||
| @@ -172,6 +172,16 @@ public class WxCreditHistoryController extends BaseController { | |||||
| return new ResultData(Result.SUCCESS); | return new ResultData(Result.SUCCESS); | ||||
| } | } | ||||
| @ApiOperation("积分清零计划 刷新商圈积分") | |||||
| @PostMapping("syncClearCredit") | |||||
| @SystemControllerLog(description = "刷新商圈积分") | |||||
| @TenantIgnore | |||||
| public ResultData syncClearCredit() { | |||||
| logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::syncClearCredit"); | |||||
| wxCreditHistoryService.syncClearCredit(getTenantInfo()); | |||||
| return new ResultData(Result.SUCCESS); | |||||
| } | |||||
| @ApiOperation("门店排行榜") | @ApiOperation("门店排行榜") | ||||
| @GetMapping("merchantCreditRanking") | @GetMapping("merchantCreditRanking") | ||||
| @ApiImplicitParams({ | @ApiImplicitParams({ | ||||
| @@ -0,0 +1,4 @@ | |||||
| ALTER TABLE `mallink`.`wx_pay_account` | |||||
| ADD COLUMN `business_type` smallint(2) COMMENT '商圈版本' AFTER `merchant_cert_pem_path`, | |||||
| ADD COLUMN `brandid` varchar(50) COMMENT '商圈品牌ID' AFTER `business_type`, | |||||
| ADD COLUMN `card_id` varchar(50) COMMENT '商圈会员卡ID' AFTER `brandid`; | |||||
| @@ -0,0 +1,19 @@ | |||||
| INSERT INTO `mallink`.`mall_sale_type`(`id`, `name`, `type`, `period`, `menus`) VALUES (103500103610, '金茂合同全能版+抖音', 10, 12, '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 211, 212, 221, 222, 223, 251, 299, 300, 307, 308, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 712, 713, 714, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5310, 5320, 6611, 60701, 60702]'); | |||||
| INSERT INTO `mallink`.`mall_sale_type`(`id`, `name`, `type`, `period`, `menus`) VALUES (12, '尊享全能版+抖音', 12, 12, '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 211, 212, 221, 222, 223, 251, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 712, 713, 714, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5310, 5320, 6611, 60701, 60702]'); | |||||
| INSERT INTO `mallink`.`mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (615, '抖音CPS佣金', 6, 'Y', NULL, 0, NULL, NULL, NULL, 'icon-jifen', 0, 602); | |||||
| INSERT INTO `mallink`.`mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (61501, '通用佣金', 615, 'Y', NULL, 1, NULL, NULL, 'commonPlan', NULL, 0, 61501); | |||||
| INSERT INTO `mallink`.`mall_permission`(`id`, `name`, `parent_id`, `available`, `permission`, `resource_type`, `module_color`, `module_color_num`, `url`, `icon`, `version_type`, `sort`) VALUES (61502, '定向佣金', 615, 'Y', NULL, 1, NULL, NULL, 'orientedPlan', NULL, 0, 61502); | |||||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 211, 212, 221, 222, 223, 251, 409, 410, 411, 416, 500, 502, 504, 505, 506, 507, 508, 511, 512, 521, 522, 523, 591, 592, 595, 601, 602, 605, 606, 610, 615, 622, 647, 676, 680, 711, 901, 902, 904, 907, 5310, 5320, 61501, 61502]' WHERE `id` = 11; | |||||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 211, 212, 221, 222, 223, 251, 299, 300, 301, 302, 303, 304, 305, 306, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 712, 713, 714, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5310, 5320, 6611, 60701, 60702, 61501, 61502]' WHERE `id` = 12; | |||||
| UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 50, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 201, 202, 203, 204, 205, 206, 209, 211, 212, 221, 222, 223, 251, 299, 300, 307, 308, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 521, 522, 523, 531, 532, 533, 591, 592, 595, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 621, 622, 623, 624, 625, 626, 627, 641, 642, 643, 644, 645, 646, 647, 651, 661, 662, 663, 664, 665, 666, 671, 672, 673, 674, 675, 676, 680, 681, 682, 683, 684, 685, 687, 691, 692, 693, 694, 695, 701, 702, 703, 704, 711, 712, 713, 714, 901, 902, 903, 904, 905, 906, 907, 908, 910, 931, 932, 951, 952, 961, 962, 963, 965, 966, 967, 968, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 5310, 5320, 6611, 60701, 60702, 61501, 61502]' WHERE `id` = 103500103610; | |||||
| @@ -0,0 +1,400 @@ | |||||
| ALTER TABLE `mallink`.`wx_c_user_0` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_1` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_2` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_3` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_4` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_5` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_6` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_7` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_8` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_9` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_10` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_11` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_12` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_13` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_14` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_15` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_16` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_17` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_18` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_19` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_20` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_21` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_22` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_23` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_24` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_25` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_26` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_27` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_28` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_29` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_30` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_31` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_32` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_33` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_34` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_35` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_36` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_37` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_38` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_39` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_40` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_41` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_42` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_43` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_44` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_45` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_46` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_47` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_48` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_49` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_50` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_51` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_52` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_53` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_54` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_55` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_56` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_57` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_58` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_59` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_60` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_61` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_62` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_63` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_64` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_65` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_66` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_67` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_68` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_69` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_70` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_71` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_72` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_73` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_74` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_75` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_76` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_77` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_78` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_79` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_80` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_81` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_82` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_83` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_84` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_85` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_86` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_87` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_88` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_89` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_90` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_91` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_92` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_93` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_94` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_95` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_96` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_97` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_98` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| ALTER TABLE `mallink`.`wx_c_user_99` | |||||
| ADD COLUMN `authorize_state` smallint(2) DEFAULT 0 COMMENT '用户授权快速积分' AFTER `qr_code`, | |||||
| ADD COLUMN `authorize_time` datetime(0) COMMENT '授权时间' AFTER `authorize_state`, | |||||
| ADD COLUMN `deauthorize_time` datetime(0) COMMENT '取消授权时间' AFTER `authorize_time`; | |||||
| @@ -0,0 +1,54 @@ | |||||
| package com.iformall.controller; | |||||
| import com.iformall.annotation.RedisCache; | |||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.enums.EnumAppPlat; | |||||
| import com.iformall.service.*; | |||||
| import io.swagger.annotations.Api; | |||||
| import io.swagger.annotations.ApiOperation; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| @RestController | |||||
| @RequestMapping("/api/circle") | |||||
| @Api(description = "业态查询接口") | |||||
| public class WxBusinessCircleController extends BaseController { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| WxBusinessCircleOrderService wxBusinessCircleOrderService; | |||||
| @ApiOperation("获取商圈授权状态") | |||||
| @GetMapping("/getAuthorizeState") | |||||
| @RedisCache | |||||
| public ResultData getAuthorizeState() { | |||||
| logger.debug("[" + getIpAddr() + "] WxBusinessCircleController::getAuthorizeState"); | |||||
| CUser user = getCUser(); | |||||
| if(!EnumAppPlat.WX.equals(user.getAppPlat())){ | |||||
| return new ResultData(ErrorCode.SYS_METHOD_NOT_SUPPORT.getCode(),"平台不支持此请求"); | |||||
| } | |||||
| ResultData resultData = wxBusinessCircleOrderService.syncauthorizeState(getTenantInfo(), user.getOpenId()); | |||||
| return resultData; | |||||
| } | |||||
| @ApiOperation("获取商圈有未提交的积分") | |||||
| @GetMapping("/getPointsCommitStatus") | |||||
| public ResultData getPointsCommitStatus() { | |||||
| logger.debug("[" + getIpAddr() + "] WxBusinessCircleController::getPointsCommitStatus"); | |||||
| CUser user = getCUser(); | |||||
| if(!EnumAppPlat.WX.equals(user.getAppPlat())){ | |||||
| return new ResultData(ErrorCode.SYS_METHOD_NOT_SUPPORT.getCode(),"平台不支持此请求"); | |||||
| } | |||||
| return wxBusinessCircleOrderService.getPointsCommitStatus(getTenantInfo(), user.getOpenId()); | |||||
| } | |||||
| } | |||||
| @@ -5,24 +5,17 @@ import com.github.binarywang.wxpay.bean.businesscircle.MemberCardAuthorizeNotify | |||||
| import com.github.binarywang.wxpay.bean.businesscircle.PaidResult; | import com.github.binarywang.wxpay.bean.businesscircle.PaidResult; | ||||
| import com.github.binarywang.wxpay.bean.businesscircle.RefundResult; | import com.github.binarywang.wxpay.bean.businesscircle.RefundResult; | ||||
| import com.github.binarywang.wxpay.bean.ecommerce.SignatureHeader; | import com.github.binarywang.wxpay.bean.ecommerce.SignatureHeader; | ||||
| import com.github.binarywang.wxpay.bean.membercard.MemberCardActivateResult; | |||||
| import com.github.binarywang.wxpay.bean.membercard.MemberCardNotifyData; | |||||
| import com.github.binarywang.wxpay.exception.WxPayException; | import com.github.binarywang.wxpay.exception.WxPayException; | ||||
| import com.github.binarywang.wxpay.service.WxPayService; | import com.github.binarywang.wxpay.service.WxPayService; | ||||
| import com.iformall.controller.base.BaseController; | import com.iformall.controller.base.BaseController; | ||||
| import com.iformall.domain.po.WxAppinfo; | |||||
| import com.iformall.domain.po.WxBusinessCircleOrder; | |||||
| import com.iformall.domain.po.WxMemberCard; | |||||
| import com.iformall.domain.po.WxPayAccount; | |||||
| import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.interceptor.BodyReaderHttpServletRequestWrapper; | |||||
| import com.iformall.pay.WxPayConstant; | import com.iformall.pay.WxPayConstant; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.MaUtil; | import com.iformall.utils.MaUtil; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.apache.shiro.web.servlet.ShiroHttpServletRequest; | |||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| @@ -35,6 +28,7 @@ import java.io.InputStream; | |||||
| import java.io.InputStreamReader; | import java.io.InputStreamReader; | ||||
| import java.text.ParseException; | import java.text.ParseException; | ||||
| import java.text.SimpleDateFormat; | import java.text.SimpleDateFormat; | ||||
| import java.util.Date; | |||||
| import java.util.HashMap; | import java.util.HashMap; | ||||
| import java.util.Locale; | import java.util.Locale; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| @@ -62,6 +56,9 @@ public class WxBusinessOrderController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| WxMemberCardService wxMemberCardService; | WxMemberCardService wxMemberCardService; | ||||
| @Autowired | |||||
| WxCUserService wxCUserService; | |||||
| @Autowired | @Autowired | ||||
| MaUtil maUtil; | MaUtil maUtil; | ||||
| @@ -99,8 +96,12 @@ public class WxBusinessOrderController extends BaseController { | |||||
| String body = this.getBody(request); | String body = this.getBody(request); | ||||
| logger.info("商圈授权通知---body{}"+body); | logger.info("商圈授权通知---body{}"+body); | ||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantId, EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantId, EnumAppPlat.WX); | ||||
| if(cAppInfo == null){ | |||||
| resultMap.put("code","FAIL"); | |||||
| return resultMap; | |||||
| } | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | ||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(payAccount == null){ | |||||
| resultMap.put("code","FAIL"); | resultMap.put("code","FAIL"); | ||||
| return resultMap; | return resultMap; | ||||
| } | } | ||||
| @@ -115,22 +116,31 @@ public class WxBusinessOrderController extends BaseController { | |||||
| logger.info("商圈授权通知---解密结果{}"+result.toString()); | logger.info("商圈授权通知---解密结果{}"+result.toString()); | ||||
| WxMemberCard memberCard = new WxMemberCard(); | WxMemberCard memberCard = new WxMemberCard(); | ||||
| memberCard.updateTenantInfo(tenantEntity); | |||||
| memberCard.setAppId(cAppInfo.getAppId()); | |||||
| memberCard.setTenantId(tenantEntity.getTenantId()); | |||||
| memberCard.setParentTenantId(tenantEntity.getParentTenantId()); | |||||
| memberCard.updateFinalTenantId(tenantEntity); | |||||
| memberCard.setCardId(payAccount.getCardId()); | memberCard.setCardId(payAccount.getCardId()); | ||||
| memberCard.setCardCode(result.getCode()); | memberCard.setCardCode(result.getCode()); | ||||
| memberCard.setOpenId(result.getOpenid()); | |||||
| if(WxPayConstant.REGISTERED_MODE.equals(result.getAuthType())){ | if(WxPayConstant.REGISTERED_MODE.equals(result.getAuthType())){ | ||||
| memberCard.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode()); | memberCard.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode()); | ||||
| memberCard.setAuthorizeState(EnumMemberCardAuthorizeState.UNAUTHORIZED.getCode()); | |||||
| wxMemberCardService.saveorupdateByCode(memberCard); | wxMemberCardService.saveorupdateByCode(memberCard); | ||||
| wxMemberCardService.sendSyncMemberCardMsg(tenantEntity,memberCard.getCardId(),memberCard.getCardCode()); | |||||
| resultMap.put("code","SUCCESS"); | resultMap.put("code","SUCCESS"); | ||||
| return resultMap; | return resultMap; | ||||
| }else if(WxPayConstant.REGISTERED_AND_AUTHORIZATION_MODE.equals(result.getAuthType())){ | }else if(WxPayConstant.REGISTERED_AND_AUTHORIZATION_MODE.equals(result.getAuthType())){ | ||||
| memberCard.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode()); | memberCard.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode()); | ||||
| memberCard.setAuthorizeState(EnumMemberCardAuthorizeState.AUTHORIZED.getCode()); | |||||
| wxMemberCardService.saveorupdateByCode(memberCard); | wxMemberCardService.saveorupdateByCode(memberCard); | ||||
| WxCUser updCuser = new WxCUser(); | |||||
| updCuser.updateTenantInfo(tenantEntity); | |||||
| updCuser.setOpenId(result.getOpenid()); | |||||
| updCuser.setAuthorizeState(EnumBusinessCircleAuthorizeState.AUTHORIZED.getCode()); | |||||
| updCuser.setAuthorizeTime(new Date()); | |||||
| wxCUserService.updateAuthorizeStateByOpenId(updCuser); | |||||
| wxMemberCardService.sendSyncMemberCardMsg(tenantEntity,memberCard.getCardId(),memberCard.getCardCode()); | |||||
| resultMap.put("code","SUCCESS"); | resultMap.put("code","SUCCESS"); | ||||
| return resultMap; | return resultMap; | ||||
| } | } | ||||
| @@ -95,8 +95,12 @@ public class WxMemberCardController extends BaseController { | |||||
| String body = this.getBody(request); | String body = this.getBody(request); | ||||
| logger.info("微信会员卡通知---body{}"+body); | logger.info("微信会员卡通知---body{}"+body); | ||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantId, EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantId, EnumAppPlat.WX); | ||||
| if(cAppInfo == null){ | |||||
| resultMap.put("code","FAIL"); | |||||
| return resultMap; | |||||
| } | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | ||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(payAccount == null){ | |||||
| resultMap.put("code","FAIL"); | resultMap.put("code","FAIL"); | ||||
| return resultMap; | return resultMap; | ||||
| } | } | ||||
| @@ -110,8 +114,9 @@ public class WxMemberCardController extends BaseController { | |||||
| logger.info("微信会员卡通知---解密结果{}"+result.toString()); | logger.info("微信会员卡通知---解密结果{}"+result.toString()); | ||||
| WxMemberCard memberCard = new WxMemberCard(); | WxMemberCard memberCard = new WxMemberCard(); | ||||
| memberCard.updateTenantInfo(tenantEntity); | |||||
| memberCard.setAppId(cAppInfo.getAppId()); | |||||
| memberCard.setTenantId(tenantEntity.getTenantId()); | |||||
| memberCard.setParentTenantId(tenantEntity.getParentTenantId()); | |||||
| memberCard.updateFinalTenantId(tenantEntity); | |||||
| memberCard.setCardId(result.getCardId()); | memberCard.setCardId(result.getCardId()); | ||||
| memberCard.setCardCode(result.getCode()); | memberCard.setCardCode(result.getCode()); | ||||
| memberCard.setOpenId(result.getOpenid()); | memberCard.setOpenId(result.getOpenid()); | ||||
| @@ -122,6 +127,8 @@ public class WxMemberCardController extends BaseController { | |||||
| memberCard.setActivateScene(EnumMemberCardActivateScene.getEnum(result.getActivateScene()).getCode()); | memberCard.setActivateScene(EnumMemberCardActivateScene.getEnum(result.getActivateScene()).getCode()); | ||||
| // memberCard.setOuterStr(result.getOuterStr()); | // memberCard.setOuterStr(result.getOuterStr()); | ||||
| wxMemberCardService.saveorupdateByCode(memberCard); | wxMemberCardService.saveorupdateByCode(memberCard); | ||||
| wxMemberCardService.sendSyncMemberCardMsg(tenantEntity,memberCard.getCardId(),memberCard.getCardCode()); | |||||
| resultMap.put("code","SUCCESS"); | resultMap.put("code","SUCCESS"); | ||||
| return resultMap; | return resultMap; | ||||
| }else if(WxPayConstant.USER_VIEW_MEMBERCARD.equals(result.getEventType())){ | }else if(WxPayConstant.USER_VIEW_MEMBERCARD.equals(result.getEventType())){ | ||||
| @@ -131,9 +138,13 @@ public class WxMemberCardController extends BaseController { | |||||
| memberCard.setUpdateDate(sdf.parse(result.getEventTime())); | memberCard.setUpdateDate(sdf.parse(result.getEventTime())); | ||||
| memberCard.setUserCardStatus(EnumMemberCardStatus.DELETE.getCode()); | memberCard.setUserCardStatus(EnumMemberCardStatus.DELETE.getCode()); | ||||
| wxMemberCardService.delUserCardStatusByCode(memberCard); | wxMemberCardService.delUserCardStatusByCode(memberCard); | ||||
| wxMemberCardService.sendSyncMemberCardMsg(tenantEntity,memberCard.getCardId(),memberCard.getCardCode()); | |||||
| resultMap.put("code","SUCCESS"); | resultMap.put("code","SUCCESS"); | ||||
| return resultMap; | return resultMap; | ||||
| }else if(WxPayConstant.USER_MODIFY_INFORMATION.equals(result.getEventType())){//todo 暂未同步会员卡信息 | |||||
| }else if(WxPayConstant.USER_MODIFY_INFORMATION.equals(result.getEventType())){ | |||||
| wxMemberCardService.sendSyncMemberCardMsg(tenantEntity,memberCard.getCardId(),memberCard.getCardCode()); | |||||
| resultMap.put("code","SUCCESS"); | resultMap.put("code","SUCCESS"); | ||||
| return resultMap; | return resultMap; | ||||
| } | } | ||||
| @@ -31,6 +31,14 @@ public class MqBaseConsumer { | |||||
| @Autowired | @Autowired | ||||
| private SendWeappUniformMsgServiceImpl sendWeappUniformMsgService; | private SendWeappUniformMsgServiceImpl sendWeappUniformMsgService; | ||||
| @Autowired | @Autowired | ||||
| private AfterAddCreditMsgServiceImpl afterAddCreditMsgService; | |||||
| @Autowired | |||||
| private AfterAddScoreMsgServiceImpl afterAddScoreMsgService; | |||||
| @Autowired | |||||
| private AfterCarInOutMsgServiceImpl afterCarInOutMsgService; | |||||
| @Autowired | |||||
| private SyncMemberCardMsgServiceImpl syncMemberCardMsgService; | |||||
| @Autowired | |||||
| private FmInsideOrderSuccessMsgServiceImpl fmInsideOrderSuccessMsgService; | private FmInsideOrderSuccessMsgServiceImpl fmInsideOrderSuccessMsgService; | ||||
| @Autowired | @Autowired | ||||
| private FmInsideCouponVerifyMsgServiceImpl fmInsideCouponVerifyMsgService; | private FmInsideCouponVerifyMsgServiceImpl fmInsideCouponVerifyMsgService; | ||||
| @@ -79,40 +87,69 @@ public class MqBaseConsumer { | |||||
| //短信 | //短信 | ||||
| WxMsgRecord msg = (WxMsgRecord)JsonUtil.readValue(message,WxMsgRecord.class); | WxMsgRecord msg = (WxMsgRecord)JsonUtil.readValue(message,WxMsgRecord.class); | ||||
| sendSmsService.send(msg); | sendSmsService.send(msg); | ||||
| } else if(EnumMsgRecordType.SMS_CALLBACK.getCode().equals(baseMsg.getMsgType())){ | |||||
| } | |||||
| else if(EnumMsgRecordType.SMS_CALLBACK.getCode().equals(baseMsg.getMsgType())){ | |||||
| //业务短信 | //业务短信 | ||||
| WxMsg msg = (WxMsg)JsonUtil.readValue(message,WxMsg.class); | WxMsg msg = (WxMsg)JsonUtil.readValue(message,WxMsg.class); | ||||
| sendCallBackSmsService.send(msg); | sendCallBackSmsService.send(msg); | ||||
| } else if(EnumMsgRecordType.EMAIL.getCode().equals(baseMsg.getMsgType())){ | |||||
| } | |||||
| else if(EnumMsgRecordType.EMAIL.getCode().equals(baseMsg.getMsgType())){ | |||||
| //邮件 | //邮件 | ||||
| MailMsg msg = (MailMsg)JsonUtil.readValue(message,MailMsg.class); | MailMsg msg = (MailMsg)JsonUtil.readValue(message,MailMsg.class); | ||||
| sendEmailService.send(msg); | sendEmailService.send(msg); | ||||
| // } else if(EnumMsgRecordType.SMART_APP.getCode().equals(baseMsg.getMsgType())){ | // } else if(EnumMsgRecordType.SMART_APP.getCode().equals(baseMsg.getMsgType())){ | ||||
| } else if(EnumMsgRecordType.SMART_APP_TO.getCode().equals(baseMsg.getMsgType())){ | |||||
| } | |||||
| else if(EnumMsgRecordType.SMART_APP_TO.getCode().equals(baseMsg.getMsgType())){ | |||||
| //微信小程序-订阅消息 | //微信小程序-订阅消息 | ||||
| SmartAppMsg msg = (SmartAppMsg)JsonUtil.readValue(message,SmartAppMsg.class); | SmartAppMsg msg = (SmartAppMsg)JsonUtil.readValue(message,SmartAppMsg.class); | ||||
| sendSmartAppMsgService.send(msg); | sendSmartAppMsgService.send(msg); | ||||
| } else if(EnumMsgRecordType.PUBLIC.getCode().equals(baseMsg.getMsgType())) { | |||||
| } | |||||
| else if(EnumMsgRecordType.PUBLIC.getCode().equals(baseMsg.getMsgType())) { | |||||
| //公众号-模板消息 | //公众号-模板消息 | ||||
| MpAppMsg msg = (MpAppMsg)JsonUtil.readValue(message,MpAppMsg.class); | MpAppMsg msg = (MpAppMsg)JsonUtil.readValue(message,MpAppMsg.class); | ||||
| sendMpMsgService.send(msg); | sendMpMsgService.send(msg); | ||||
| } else if(EnumMsgRecordType.SMART_APP_UNIFORM.getCode().equals(baseMsg.getMsgType())) { | |||||
| } | |||||
| else if(EnumMsgRecordType.SMART_APP_UNIFORM.getCode().equals(baseMsg.getMsgType())) { | |||||
| //微信小程序-统一消息 | //微信小程序-统一消息 | ||||
| AppUniformMsg msg = (AppUniformMsg)JsonUtil.readValue(message,AppUniformMsg.class); | AppUniformMsg msg = (AppUniformMsg)JsonUtil.readValue(message,AppUniformMsg.class); | ||||
| sendWeappUniformMsgService.send(msg); | sendWeappUniformMsgService.send(msg); | ||||
| } else if(EnumMsgRecordType.INSIDE_ORDER_SUCCESS.getCode().equals(baseMsg.getMsgType())) { | |||||
| } | |||||
| else if(EnumMsgRecordType.SYNC_MEMBER_CARD.getCode().equals(baseMsg.getMsgType())) { | |||||
| //微信商圈同步会员 | |||||
| SyncMemberCardMsg msg = (SyncMemberCardMsg)JsonUtil.readValue(message,SyncMemberCardMsg.class); | |||||
| syncMemberCardMsgService.send(msg); | |||||
| } | |||||
| else if(EnumMsgRecordType.AFTER_ADD_CREDIT.getCode().equals(baseMsg.getMsgType())) { | |||||
| //积分变更后 | |||||
| AfterAddCreditMsg msg = (AfterAddCreditMsg)JsonUtil.readValue(message,AfterAddCreditMsg.class); | |||||
| afterAddCreditMsgService.send(msg); | |||||
| } | |||||
| else if(EnumMsgRecordType.AFTER_ADD_SCORE.getCode().equals(baseMsg.getMsgType())) { | |||||
| //成长值变更后 | |||||
| AfterAddScoreMsg msg = (AfterAddScoreMsg)JsonUtil.readValue(message,AfterAddScoreMsg.class); | |||||
| afterAddScoreMsgService.send(msg); | |||||
| } | |||||
| else if(EnumMsgRecordType.AFTER_CAR_IN_OR_OUT.getCode().equals(baseMsg.getMsgType())) { | |||||
| //车辆入场,出场后 | |||||
| AfterCarInOutMsg msg = (AfterCarInOutMsg)JsonUtil.readValue(message,AfterCarInOutMsg.class); | |||||
| afterCarInOutMsgService.send(msg); | |||||
| } | |||||
| else if(EnumMsgRecordType.INSIDE_ORDER_SUCCESS.getCode().equals(baseMsg.getMsgType())) { | |||||
| // 内部消息 - 下订单成功 | // 内部消息 - 下订单成功 | ||||
| FmInsideOrderSuccessMsg msg = (FmInsideOrderSuccessMsg)JsonUtil.readValue(message,FmInsideOrderSuccessMsg.class); | FmInsideOrderSuccessMsg msg = (FmInsideOrderSuccessMsg)JsonUtil.readValue(message,FmInsideOrderSuccessMsg.class); | ||||
| fmInsideOrderSuccessMsgService.send(msg); | fmInsideOrderSuccessMsgService.send(msg); | ||||
| } else if(EnumMsgRecordType.INSIDE_COUPON_VERIFY.getCode().equals(baseMsg.getMsgType())) { | |||||
| } | |||||
| else if(EnumMsgRecordType.INSIDE_COUPON_VERIFY.getCode().equals(baseMsg.getMsgType())) { | |||||
| // 内部消息 - 券核销 | // 内部消息 - 券核销 | ||||
| FmInsideCouponVerifyMsg msg = (FmInsideCouponVerifyMsg)JsonUtil.readValue(message,FmInsideCouponVerifyMsg.class); | FmInsideCouponVerifyMsg msg = (FmInsideCouponVerifyMsg)JsonUtil.readValue(message,FmInsideCouponVerifyMsg.class); | ||||
| fmInsideCouponVerifyMsgService.send(msg); | fmInsideCouponVerifyMsgService.send(msg); | ||||
| } else if(EnumMsgRecordType.INSIDE_ORDER_REFUND.getCode().equals(baseMsg.getMsgType())){ | |||||
| } | |||||
| else if(EnumMsgRecordType.INSIDE_ORDER_REFUND.getCode().equals(baseMsg.getMsgType())){ | |||||
| //内部消息 - 退款申请成功 | //内部消息 - 退款申请成功 | ||||
| FmInsideOrderRefundMsg msg = (FmInsideOrderRefundMsg) JsonUtil.readValue(message,FmInsideOrderRefundMsg.class); | FmInsideOrderRefundMsg msg = (FmInsideOrderRefundMsg) JsonUtil.readValue(message,FmInsideOrderRefundMsg.class); | ||||
| fmInsideOrderRefundMsgService.send(msg); | fmInsideOrderRefundMsgService.send(msg); | ||||
| } else if(EnumMsgRecordType.INSIDE_C_LOGIN.getCode().equals(baseMsg.getMsgType())) { | |||||
| } | |||||
| else if(EnumMsgRecordType.INSIDE_C_LOGIN.getCode().equals(baseMsg.getMsgType())) { | |||||
| // 内部消息 - c端登录 | // 内部消息 - c端登录 | ||||
| FmInsideCLoginMsg msg = (FmInsideCLoginMsg)JsonUtil.readValue(message,FmInsideCLoginMsg.class); | FmInsideCLoginMsg msg = (FmInsideCLoginMsg)JsonUtil.readValue(message,FmInsideCLoginMsg.class); | ||||
| fmInsideCLoginMsgService.send(msg); | fmInsideCLoginMsgService.send(msg); | ||||
| @@ -68,7 +68,7 @@ public class UserBasicInfoController extends BaseController { | |||||
| TenantEntity tenantEntity = getTenantInfo(); | TenantEntity tenantEntity = getTenantInfo(); | ||||
| WxCUserBasicInfo userBasicInfo = wxCUserBasicInfoService.registerByPhone(tenantEntity, phone,nickName,sex,avatarUrl); | |||||
| WxCUserBasicInfo userBasicInfo = wxCUserBasicInfoService.registerByPhone(tenantEntity, phone,nickName,null,sex,avatarUrl); | |||||
| this.setLevel(userBasicInfo,tenantEntity); | this.setLevel(userBasicInfo,tenantEntity); | ||||
| @@ -90,7 +90,7 @@ public class BaseMyBatisConfiguration { | |||||
| shardingList.add(ttCUserSharding); | shardingList.add(ttCUserSharding); | ||||
| ShardingSphere wxMemberCardSharding = new ShardingSphere(); | ShardingSphere wxMemberCardSharding = new ShardingSphere(); | ||||
| wxMemberCardSharding.setColumn("tenant_id"); | |||||
| wxMemberCardSharding.setColumn("final_tenant_id"); | |||||
| wxMemberCardSharding.setTableName("wx_member_card"); | wxMemberCardSharding.setTableName("wx_member_card"); | ||||
| wxMemberCardSharding.setCount(100); | wxMemberCardSharding.setCount(100); | ||||
| wxMemberCardSharding.setRule(EnumShardingRule.HASH.getCode()); | wxMemberCardSharding.setRule(EnumShardingRule.HASH.getCode()); | ||||
| @@ -25,6 +25,15 @@ public class WxCUser extends CUser { | |||||
| appPlat = EnumAppPlat.WX; | appPlat = EnumAppPlat.WX; | ||||
| } | } | ||||
| @io.swagger.annotations.ApiModelProperty(value="EnumBusinessCircleAuthorizeState 授权商圈快速积分状态",name="authorizeState") | |||||
| private Integer authorizeState; | |||||
| @io.swagger.annotations.ApiModelProperty(value="授权时间",name="authorizeTime") | |||||
| private Date authorizeTime; | |||||
| @io.swagger.annotations.ApiModelProperty(value="取消授权时间",name="deauthorizeTime") | |||||
| private Date deauthorizeTime; | |||||
| public String createToken(Date currentDate,String tenantId) { | public String createToken(Date currentDate,String tenantId) { | ||||
| if(StringUtils.isBlank(tenantId)){ | if(StringUtils.isBlank(tenantId)){ | ||||
| tenantId = "1"; | tenantId = "1"; | ||||
| @@ -237,7 +237,7 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { | |||||
| return Objects.hash(this.phone); | return Objects.hash(this.phone); | ||||
| } | } | ||||
| public void undateFinalTenantId(TenantEntity tenantEntity){ | |||||
| public void updateFinalTenantId(TenantEntity tenantEntity){ | |||||
| // setTenantId(tenantEntity.getTenantId()); | // setTenantId(tenantEntity.getTenantId()); | ||||
| // setParentTenantId(tenantEntity.getParentTenantId()); | // setParentTenantId(tenantEntity.getParentTenantId()); | ||||
| setFinalTenantId(tenantEntity.getTenantId()); | setFinalTenantId(tenantEntity.getTenantId()); | ||||
| @@ -2,9 +2,11 @@ package com.iformall.domain.po; | |||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.po.base.TenantEntityWithoutFinalTenantId; | |||||
| import lombok.Data; | import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||
| import lombok.ToString; | import lombok.ToString; | ||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| @@ -12,7 +14,10 @@ import java.util.Date; | |||||
| @Data | @Data | ||||
| @ToString(callSuper = true) | @ToString(callSuper = true) | ||||
| @EqualsAndHashCode(callSuper = true) | @EqualsAndHashCode(callSuper = true) | ||||
| public class WxMemberCard extends TenantEntity { | |||||
| public class WxMemberCard extends TenantEntityWithoutFinalTenantId { | |||||
| @io.swagger.annotations.ApiModelProperty(value="如果是集团版的,存集团版的tenantId,如果是商场,则存商场",name="sex") | |||||
| private String finalTenantId; | |||||
| protected Long id; | protected Long id; | ||||
| @@ -79,16 +84,14 @@ public class WxMemberCard extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="",name="appId") | |||||
| private String appId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumMemberCardAuthorizeState 授权商圈快速积分状态",name="authorizeState") | |||||
| private Integer authorizeState; | |||||
| @io.swagger.annotations.ApiModelProperty(value="授权时间",name="authorizeTime") | |||||
| private Date authorizeTime; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="userId") | |||||
| private Long userId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="取消授权时间",name="deauthorizeTime") | |||||
| private Date deauthorizeTime; | |||||
| public void updateFinalTenantId(TenantEntity tenantEntity){ | |||||
| setFinalTenantId(tenantEntity.getTenantId()); | |||||
| if(StringUtils.isNotBlank(tenantEntity.getParentTenantId())){ | |||||
| setFinalTenantId(tenantEntity.getParentTenantId()); | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,23 @@ | |||||
| package com.iformall.domain.po.msg; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| import java.util.List; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class AfterAddCreditMsg extends BaseMsg { | |||||
| private static final long serialVersionUID = -1l; | |||||
| @io.swagger.annotations.ApiModelProperty(value="会员ID",name="basicUserId") | |||||
| private Long basicUserId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="积分变动ID",name="creditHistoryId") | |||||
| private Long creditHistoryId; | |||||
| } | |||||
| @@ -0,0 +1,21 @@ | |||||
| package com.iformall.domain.po.msg; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class AfterAddScoreMsg extends BaseMsg { | |||||
| private static final long serialVersionUID = -1l; | |||||
| @io.swagger.annotations.ApiModelProperty(value="会员ID",name="basicUserId") | |||||
| private Long basicUserId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="成长值变动ID",name="scoreHistoryId") | |||||
| private Long scoreHistoryId; | |||||
| } | |||||
| @@ -0,0 +1,19 @@ | |||||
| package com.iformall.domain.po.msg; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class AfterCarInOutMsg extends BaseMsg { | |||||
| private static final long serialVersionUID = -1l; | |||||
| @io.swagger.annotations.ApiModelProperty(value="停车记录ID",name="carCmdLogId") | |||||
| private Long carCmdLogId; | |||||
| } | |||||
| @@ -0,0 +1,22 @@ | |||||
| package com.iformall.domain.po.msg; | |||||
| import lombok.Data; | |||||
| import lombok.EqualsAndHashCode; | |||||
| import lombok.ToString; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Data | |||||
| @ToString(callSuper = true) | |||||
| @EqualsAndHashCode(callSuper = true) | |||||
| public class SyncMemberCardMsg extends BaseMsg { | |||||
| private static final long serialVersionUID = -1l; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="cardId") | |||||
| private String cardId; | |||||
| @io.swagger.annotations.ApiModelProperty(value="",name="code") | |||||
| private String code; | |||||
| } | |||||
| @@ -3,7 +3,7 @@ package com.iformall.enums; | |||||
| /** | /** | ||||
| * . | * . | ||||
| */ | */ | ||||
| public enum EnumMemberCardAuthorizeState { | |||||
| public enum EnumBusinessCircleAuthorizeState { | |||||
| //UNAUTHORIZED:未授权 | //UNAUTHORIZED:未授权 | ||||
| //AUTHORIZED:已授权 | //AUTHORIZED:已授权 | ||||
| @@ -13,16 +13,16 @@ public enum EnumMemberCardAuthorizeState { | |||||
| DEAUTHORIZED(2, "DEAUTHORIZED"), | DEAUTHORIZED(2, "DEAUTHORIZED"), | ||||
| ; | ; | ||||
| public static EnumMemberCardAuthorizeState getEnum(Integer code) { | |||||
| for (EnumMemberCardAuthorizeState value : values()) { | |||||
| public static EnumBusinessCircleAuthorizeState getEnum(Integer code) { | |||||
| for (EnumBusinessCircleAuthorizeState value : values()) { | |||||
| if (value.getCode().equals(code)) { | if (value.getCode().equals(code)) { | ||||
| return value; | return value; | ||||
| } | } | ||||
| } | } | ||||
| return null; | return null; | ||||
| } | } | ||||
| public static EnumMemberCardAuthorizeState getEnum(String message) { | |||||
| for (EnumMemberCardAuthorizeState value : values()) { | |||||
| public static EnumBusinessCircleAuthorizeState getEnum(String message) { | |||||
| for (EnumBusinessCircleAuthorizeState value : values()) { | |||||
| if (value.getMessage().equals(message)) { | if (value.getMessage().equals(message)) { | ||||
| return value; | return value; | ||||
| } | } | ||||
| @@ -33,7 +33,7 @@ public enum EnumMemberCardAuthorizeState { | |||||
| private Integer code; | private Integer code; | ||||
| private String message; | private String message; | ||||
| EnumMemberCardAuthorizeState(Integer code, String message) { | |||||
| EnumBusinessCircleAuthorizeState(Integer code, String message) { | |||||
| this.code = code; | this.code = code; | ||||
| this.message = message; | this.message = message; | ||||
| } | } | ||||
| @@ -13,6 +13,12 @@ public enum EnumMsgRecordType { | |||||
| SYSTEM(6, "系统通知"), | SYSTEM(6, "系统通知"), | ||||
| SMART_APP_UNIFORM(7, "小程序统一消息"), | SMART_APP_UNIFORM(7, "小程序统一消息"), | ||||
| WEBSOCKET_APP(8, "小程序websocket"), | WEBSOCKET_APP(8, "小程序websocket"), | ||||
| SYNC_MEMBER_CARD(10,"微信商圈同步会员"), | |||||
| AFTER_ADD_CREDIT(11,"积分变更后"), | |||||
| AFTER_ADD_SCORE(12,"成长值变更后"), | |||||
| AFTER_CAR_IN_OR_OUT(13,"车辆入场,出场后"), | |||||
| INSIDE_ORDER_SUCCESS(100, "下订单成功"), | INSIDE_ORDER_SUCCESS(100, "下订单成功"), | ||||
| INSIDE_COUPON_VERIFY(101, "券核销"), | INSIDE_COUPON_VERIFY(101, "券核销"), | ||||
| INSIDE_C_LOGIN(102, "C端用户登录"),//内部消息,加积分等 | INSIDE_C_LOGIN(102, "C端用户登录"),//内部消息,加积分等 | ||||
| @@ -40,9 +40,11 @@ public interface WxCUserMapper extends CommonMapper<WxCUser, Long> { | |||||
| // void updateMsgCountDown(@Param("tenantId")String tenantId, @Param("openId")String openId); | // void updateMsgCountDown(@Param("tenantId")String tenantId, @Param("openId")String openId); | ||||
| List<String> findOpenIdList(@Param("userId")Long userId, @Param("tenantId")String tenantId); | |||||
| String findOpenId(@Param("userId")Long userId, @Param("tenantId")String tenantId); | |||||
| List<String> findTokenList(@Param("id")Long id,@Param("userId")Long userId, @Param("tenantId")String tenantId); | List<String> findTokenList(@Param("id")Long id,@Param("userId")Long userId, @Param("tenantId")String tenantId); | ||||
| List<UserStructureVo> findCountData(WxCUserBasicInfoDto dto); | List<UserStructureVo> findCountData(WxCUserBasicInfoDto dto); | ||||
| void updateAuthorizeStateByOpenId(WxCUser updCuser); | |||||
| } | } | ||||
| @@ -12,7 +12,7 @@ import java.util.List; | |||||
| public interface WxCreditHistoryMapper extends CommonMapper<WxCreditHistory, Long>{ | public interface WxCreditHistoryMapper extends CommonMapper<WxCreditHistory, Long>{ | ||||
| WxCreditHistory selectById(@Param("id")Long id,@Param("tenantId")String tenantId); | |||||
| WxCreditHistory selectById(@Param("id")Long id,@Param("tenantId")String finalTenantId); | |||||
| List<WxCreditHistory> findList(WxCreditHistory wxCreditHistory); | List<WxCreditHistory> findList(WxCreditHistory wxCreditHistory); | ||||
| @@ -51,4 +51,6 @@ public interface WxCreditHistoryMapper extends CommonMapper<WxCreditHistory, Lon | |||||
| List<WxCreditHistory> findAddList(WxCreditHistory chaddq); | List<WxCreditHistory> findAddList(WxCreditHistory chaddq); | ||||
| List<WxCreditHistory> findLesList(WxCreditHistory chlesq); | List<WxCreditHistory> findLesList(WxCreditHistory chlesq); | ||||
| List<WxCreditHistory> getIsMemberCarAndClearCredit(WxCreditHistory record); | |||||
| } | } | ||||
| @@ -14,4 +14,6 @@ public interface WxMemberCardMapper extends CommonMapper<WxMemberCard, Long> { | |||||
| Long getIdByCode(WxMemberCard record); | Long getIdByCode(WxMemberCard record); | ||||
| int updateByOpenId(WxMemberCard record); | int updateByOpenId(WxMemberCard record); | ||||
| WxMemberCard getByCode(WxMemberCard record); | |||||
| } | } | ||||
| @@ -62,6 +62,11 @@ public interface WxBusinessCircleOrderService { | |||||
| Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); | Integer sumCircleRefundAmount(BusinessCircleBase circleOrder); | ||||
| /** | |||||
| * 同步授权快速积分 | |||||
| */ | |||||
| ResultData syncauthorizeState(TenantEntity tenantEntity,String openid); | |||||
| /** | /** | ||||
| * 查询待积分状态 | * 查询待积分状态 | ||||
| */ | */ | ||||
| @@ -75,4 +80,6 @@ public interface WxBusinessCircleOrderService { | |||||
| */ | */ | ||||
| ResultData syncParkings(TenantEntity tenantEntity,String openId,String plate_number,String state,Date time); | ResultData syncParkings(TenantEntity tenantEntity,String openId,String plate_number,String state,Date time); | ||||
| void sendSyncParkingsMsg(TenantEntity tenantEntity,Long carCmdLogId); | |||||
| } | } | ||||
| @@ -169,7 +169,7 @@ public interface WxCUserBasicInfoService { | |||||
| void cuserOldToNew(Long oldCuserId, Long newCuserId,TenantEntity tenantinfo); | void cuserOldToNew(Long oldCuserId, Long newCuserId,TenantEntity tenantinfo); | ||||
| WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl); | |||||
| WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName,String name, Integer sex, String avatarUrl); | |||||
| int addCredit(Long userId, TenantEntity tenantInfo, EnumScoreType wechatPhone); | int addCredit(Long userId, TenantEntity tenantInfo, EnumScoreType wechatPhone); | ||||
| @@ -136,4 +136,6 @@ public interface WxCUserService { | |||||
| void delForUserIdOnly(Long id, Long userId, String tenantId); | void delForUserIdOnly(Long id, Long userId, String tenantId); | ||||
| void updateMsgCount(WxCUser user); | void updateMsgCount(WxCUser user); | ||||
| void updateAuthorizeStateByOpenId(WxCUser updCuser); | |||||
| } | } | ||||
| @@ -40,7 +40,7 @@ public interface WxCreditHistoryService { | |||||
| * @param id | * @param id | ||||
| * @return | * @return | ||||
| */ | */ | ||||
| WxCreditHistory getById(Long id,String tenantId); | |||||
| WxCreditHistory getById(Long id,String finalTenantId); | |||||
| /** | /** | ||||
| * 添加积分时,需要校验用户以及手机号是否存在 | * 添加积分时,需要校验用户以及手机号是否存在 | ||||
| @@ -76,6 +76,8 @@ public interface WxCreditHistoryService { | |||||
| void clearCreditByYear(WxCreditHistory wxCreditHistory); | void clearCreditByYear(WxCreditHistory wxCreditHistory); | ||||
| void syncClearCredit(TenantEntity tenantInfo); | |||||
| void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory); | void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory); | ||||
| ResultData getCreditSummary(WxCreditHistory wxCreditHistory); | ResultData getCreditSummary(WxCreditHistory wxCreditHistory); | ||||
| @@ -89,4 +91,5 @@ public interface WxCreditHistoryService { | |||||
| long getIncrementCreditAmount(WxCreditHistory wxCreditHistory); | long getIncrementCreditAmount(WxCreditHistory wxCreditHistory); | ||||
| PageInfo<WxCreditHistoryVo> findListMorePage(WxCreditHistory wxCreditHistory,Integer pageIndex, Integer pageSize); | PageInfo<WxCreditHistoryVo> findListMorePage(WxCreditHistory wxCreditHistory,Integer pageIndex, Integer pageSize); | ||||
| } | } | ||||
| @@ -17,6 +17,8 @@ public interface WxMemberCardService { | |||||
| */ | */ | ||||
| PageInfo<WxMemberCard> listAsPage(WxMemberCard record, Integer pageIndex, Integer pageSize); | PageInfo<WxMemberCard> listAsPage(WxMemberCard record, Integer pageIndex, Integer pageSize); | ||||
| ResultData saveorupdate(WxMemberCard record); | |||||
| ResultData saveorupdateByCode(WxMemberCard record); | ResultData saveorupdateByCode(WxMemberCard record); | ||||
| ResultData delUserCardStatusByCode(WxMemberCard record); | ResultData delUserCardStatusByCode(WxMemberCard record); | ||||
| @@ -26,22 +28,23 @@ public interface WxMemberCardService { | |||||
| */ | */ | ||||
| ResultData syncMemberCard(TenantEntity tenantEntity,String card_id,String code); | ResultData syncMemberCard(TenantEntity tenantEntity,String card_id,String code); | ||||
| void sendSyncMemberCardMsg(TenantEntity tenantEntity,String card_id,String code); | |||||
| /** | /** | ||||
| * 同步会员卡等级 | * 同步会员卡等级 | ||||
| * need_inform_level 是否发送等级变更通知 | * need_inform_level 是否发送等级变更通知 | ||||
| */ | */ | ||||
| ResultData syncMemberCardLevel(TenantEntity tenantEntity,String card_id,String code, | |||||
| ResultData syncMemberCardLevel(TenantEntity tenantEntity,String card_id,String code,String markid, | |||||
| String level,Boolean need_inform_level); | String level,Boolean need_inform_level); | ||||
| void sendsyncMemberCardLevelMsg(TenantEntity tenantEntity,Long baseUserId,Long scoreHistoryId); | |||||
| /** | /** | ||||
| * 更新会员卡积分 | * 更新会员卡积分 | ||||
| */ | */ | ||||
| ResultData syncMemberCardBonus(TenantEntity tenantEntity,String card_id,String code, | |||||
| Integer bonus_value,Boolean need_inform_bonus); | |||||
| ResultData syncMemberCardBonus(TenantEntity tenantEntity,String card_id,String code,String markid, | |||||
| int before_bonus_value,int bonus_value,Boolean need_inform_bonus); | |||||
| /** | |||||
| * 同步授权快速积分 | |||||
| */ | |||||
| ResultData syncauthorizeState(TenantEntity tenantEntity,String openid); | |||||
| void sendsyncMemberCardBonusMsg(TenantEntity tenantEntity,Long baseUserId,Long creditHistoryId); | |||||
| } | } | ||||
| @@ -149,7 +149,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||||
| } | } | ||||
| }else if(record.getCUserPhone() != null) { | }else if(record.getCUserPhone() != null) { | ||||
| WxCUserBasicInfo byPhone = wxCUserBasicInfoService.registerByPhone(record, record.getCUserPhone(), null, null, null); | |||||
| WxCUserBasicInfo byPhone = wxCUserBasicInfoService.registerByPhone(record, record.getCUserPhone(), null,null, null, null); | |||||
| if (byPhone != null) { | if (byPhone != null) { | ||||
| record.setCUserId(byPhone.getId()); | record.setCUserId(byPhone.getId()); | ||||
| record.setCUserNickName(byPhone.getNickName()); | record.setCUserNickName(byPhone.getNickName()); | ||||
| @@ -162,7 +162,7 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||||
| AliPayCUser aliUser = aliPayCUserService.getByAliPayUserId(userQ); | AliPayCUser aliUser = aliPayCUserService.getByAliPayUserId(userQ); | ||||
| if(aliUser != null){ | if(aliUser != null){ | ||||
| // WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(aliUser, aliUser.getPhone()); | // WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.findInfoByPhone(aliUser, aliUser.getPhone()); | ||||
| WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.registerByPhone(aliUser, aliUser.getPhone(),aliUser.getName(),null,null); | |||||
| WxCUserBasicInfo infoByPhone = wxCUserBasicInfoService.registerByPhone(aliUser, aliUser.getPhone(),aliUser.getName(),null,null,null); | |||||
| if(infoByPhone != null ){ | if(infoByPhone != null ){ | ||||
| record.setCUserId(infoByPhone.getId()); | record.setCUserId(infoByPhone.getId()); | ||||
| record.setCUserNickName(infoByPhone.getNickName()); | record.setCUserNickName(infoByPhone.getNickName()); | ||||
| @@ -1,5 +1,6 @@ | |||||
| package com.iformall.service.impl; | package com.iformall.service.impl; | ||||
| import com.github.binarywang.wxpay.bean.businesscircle.MemberCardAuthorizeResult; | |||||
| import com.github.binarywang.wxpay.bean.businesscircle.ParkingNotifyRequest; | import com.github.binarywang.wxpay.bean.businesscircle.ParkingNotifyRequest; | ||||
| import com.github.binarywang.wxpay.bean.businesscircle.PointsCommitStatusResult; | import com.github.binarywang.wxpay.bean.businesscircle.PointsCommitStatusResult; | ||||
| import com.github.binarywang.wxpay.exception.WxPayException; | import com.github.binarywang.wxpay.exception.WxPayException; | ||||
| @@ -11,9 +12,12 @@ import com.iformall.common.IdWorker; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.po.msg.AfterAddCreditMsg; | |||||
| import com.iformall.domain.po.msg.AfterCarInOutMsg; | |||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.WxBusinessCircleOrderMapper; | import com.iformall.mapper.WxBusinessCircleOrderMapper; | ||||
| import com.iformall.mq.MqBaseProducer; | |||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.DateUtils; | import com.iformall.utils.DateUtils; | ||||
| import com.iformall.utils.MaUtil; | import com.iformall.utils.MaUtil; | ||||
| @@ -72,6 +76,9 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||||
| @Autowired | @Autowired | ||||
| WxPayAccountService wxPayAccountService; | WxPayAccountService wxPayAccountService; | ||||
| @Autowired | |||||
| MqBaseProducer mqBaseProducer; | |||||
| @Autowired | @Autowired | ||||
| MaUtil maUtil; | MaUtil maUtil; | ||||
| @@ -170,7 +177,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||||
| } | } | ||||
| } | } | ||||
| if(record.getCUserId() == null){ | if(record.getCUserId() == null){ | ||||
| WxCUserBasicInfo byPhone = wxCUserBasicInfoService.registerByPhone(record, record.getCUserPhone(),null,null,null); | |||||
| WxCUserBasicInfo byPhone = wxCUserBasicInfoService.registerByPhone(record, record.getCUserPhone(),null,null,null,null); | |||||
| if(byPhone != null){ | if(byPhone != null){ | ||||
| record.setCUserNickName(byPhone.getNickName()); | record.setCUserNickName(byPhone.getNickName()); | ||||
| record.setCUserPhone(byPhone.getPhone()); | record.setCUserPhone(byPhone.getPhone()); | ||||
| @@ -406,12 +413,49 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||||
| } | } | ||||
| @Override | @Override | ||||
| public ResultData getPointsCommitStatus(TenantEntity tenantEntity, String openId) { | |||||
| public ResultData syncauthorizeState(TenantEntity tenantEntity, String openid) { | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | ||||
| if(cAppInfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | |||||
| } | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | ||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(payAccount == null){ | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | |||||
| } | |||||
| try { | |||||
| WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | |||||
| MemberCardAuthorizeResult authorizations = wxPayService.getBusinessCircleService().getAuthorizations(openid); | |||||
| EnumBusinessCircleAuthorizeState authorizeState = EnumBusinessCircleAuthorizeState.getEnum(authorizations.getAuthorizeState()); | |||||
| if(!EnumBusinessCircleAuthorizeState.UNAUTHORIZED.equals(authorizeState)){ | |||||
| WxCUser updCuser = new WxCUser(); | |||||
| updCuser.updateTenantInfo(tenantEntity); | |||||
| updCuser.setOpenId(authorizations.getOpenid()); | |||||
| updCuser.setAuthorizeState(authorizeState.getCode()); | |||||
| String formaStr = "yyyy-MM-dd'T'HH:mm:ss'+'mm:ss"; | |||||
| updCuser.setAuthorizeTime(DateUtils.stringToDate(authorizations.getAuthorizeTime(),formaStr)); | |||||
| updCuser.setDeauthorizeTime(DateUtils.stringToDate(authorizations.getDeauthorizeTime(),formaStr)); | |||||
| wxCUserService.updateAuthorizeStateByOpenId(updCuser); | |||||
| } | |||||
| return new ResultData(authorizeState); | |||||
| } catch (WxPayException e) { | |||||
| e.printStackTrace(); | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public ResultData getPointsCommitStatus(TenantEntity tenantEntity, String openId) { | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | |||||
| if(cAppInfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | ||||
| } | } | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | ||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | ||||
| } | } | ||||
| @@ -429,10 +473,13 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||||
| public ResultData syncParkings(TenantEntity tenantEntity, String openId, String plate_number, String state, Date time) { | public ResultData syncParkings(TenantEntity tenantEntity, String openId, String plate_number, String state, Date time) { | ||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(cAppInfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | ||||
| } | } | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | ||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | ||||
| } | } | ||||
| @@ -454,5 +501,15 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||||
| } | } | ||||
| } | } | ||||
| @Override | |||||
| public void sendSyncParkingsMsg(TenantEntity tenantEntity, Long carCmdLogId) { | |||||
| //停车出入场通知 todo | |||||
| // AfterCarInOutMsg msg = new AfterCarInOutMsg(); | |||||
| // msg.updateTenantInfo(tenantEntity); | |||||
| // msg.setMsgType(EnumMsgRecordType.AFTER_ADD_CREDIT.getCode()); | |||||
| // msg.setCarCmdLogId(carCmdLogId); | |||||
| // mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | |||||
| } | |||||
| } | } | ||||
| @@ -672,7 +672,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc | |||||
| @Override | @Override | ||||
| public WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl) { | |||||
| public WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName,String name, Integer sex, String avatarUrl) { | |||||
| if (StringUtils.isBlank(phone)) | if (StringUtils.isBlank(phone)) | ||||
| return null; | return null; | ||||
| @@ -682,6 +682,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc | |||||
| basicInfo.setTenantId("," + tenantEntity.getTenantId() + ","); | basicInfo.setTenantId("," + tenantEntity.getTenantId() + ","); | ||||
| basicInfo.setFinalTenantId(tenantEntity.getFinalTenantId()); | basicInfo.setFinalTenantId(tenantEntity.getFinalTenantId()); | ||||
| basicInfo.setPhone(phone); | basicInfo.setPhone(phone); | ||||
| basicInfo.setName(name); | |||||
| basicInfo.setNickName(nickName); | basicInfo.setNickName(nickName); | ||||
| basicInfo.setSex(sex); | basicInfo.setSex(sex); | ||||
| basicInfo.setAvatarUrl(avatarUrl); | basicInfo.setAvatarUrl(avatarUrl); | ||||
| @@ -690,6 +691,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc | |||||
| WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); | WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); | ||||
| wxCUserBasicInfo.setId(basicInfo.getId()); | wxCUserBasicInfo.setId(basicInfo.getId()); | ||||
| wxCUserBasicInfo.setFinalTenantId(basicInfo.getFinalTenantId()); | wxCUserBasicInfo.setFinalTenantId(basicInfo.getFinalTenantId()); | ||||
| wxCUserBasicInfo.setName(name); | |||||
| wxCUserBasicInfo.setNickName(nickName); | wxCUserBasicInfo.setNickName(nickName); | ||||
| wxCUserBasicInfo.setSex(sex); | wxCUserBasicInfo.setSex(sex); | ||||
| wxCUserBasicInfo.setAvatarUrl(avatarUrl); | wxCUserBasicInfo.setAvatarUrl(avatarUrl); | ||||
| @@ -346,4 +346,9 @@ public class WxCUserServiceImpl implements WxCUserService { | |||||
| wxCUserMapper.updateMsgCount(user); | wxCUserMapper.updateMsgCount(user); | ||||
| } | } | ||||
| @Override | |||||
| public void updateAuthorizeStateByOpenId(WxCUser updCuser) { | |||||
| wxCUserMapper.updateAuthorizeStateByOpenId(updCuser); | |||||
| } | |||||
| } | } | ||||
| @@ -4,8 +4,10 @@ import com.github.pagehelper.PageHelper; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.domain.po.WxCarCmdLog; | import com.iformall.domain.po.WxCarCmdLog; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumCarCmd; | |||||
| import com.iformall.mapper.WxCarCmdLogMapper; | import com.iformall.mapper.WxCarCmdLogMapper; | ||||
| import com.iformall.mapper.WxMallMapper; | import com.iformall.mapper.WxMallMapper; | ||||
| import com.iformall.service.WxBusinessCircleOrderService; | |||||
| import com.iformall.service.WxCarCmdLogService; | import com.iformall.service.WxCarCmdLogService; | ||||
| import com.iformall.service.WxMallService; | import com.iformall.service.WxMallService; | ||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| @@ -31,6 +33,9 @@ public class WxCarCmdLogServiceImpl implements WxCarCmdLogService { | |||||
| @Autowired | @Autowired | ||||
| WxMallService wxMallService; | WxMallService wxMallService; | ||||
| @Autowired | |||||
| WxBusinessCircleOrderService wxBusinessCircleOrderService; | |||||
| @Override | @Override | ||||
| public PageInfo<WxCarCmdLog> listAsPage(WxCarCmdLog record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxCarCmdLog> listAsPage(WxCarCmdLog record, Integer pageIndex, Integer pageSize) { | ||||
| @@ -49,11 +54,22 @@ public class WxCarCmdLogServiceImpl implements WxCarCmdLogService { | |||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| record.setId(idWorker.nextId()); | record.setId(idWorker.nextId()); | ||||
| wxCarCmdLogMapper.insert(record); | wxCarCmdLogMapper.insert(record); | ||||
| this.afterCarInOrOut(record); | |||||
| } else { | } else { | ||||
| wxCarCmdLogMapper.updateById(record); | wxCarCmdLogMapper.updateById(record); | ||||
| } | } | ||||
| } | } | ||||
| private void afterCarInOrOut(WxCarCmdLog record){ | |||||
| if(StringUtils.isBlank(record.getPlateNumber())){ | |||||
| return; | |||||
| } | |||||
| if(EnumCarCmd.getCarIn().contains(record.getCmdType()) | |||||
| || EnumCarCmd.getCarOut().contains(record.getCmdType())){ | |||||
| wxBusinessCircleOrderService.sendSyncParkingsMsg(record,record.getId()); | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| public void deleteById(Long id,String tenantId) { | public void deleteById(Long id,String tenantId) { | ||||
| wxCarCmdLogMapper.deleteById(id,tenantId); | wxCarCmdLogMapper.deleteById(id,tenantId); | ||||
| @@ -18,6 +18,7 @@ import com.iformall.exception.MallinkException; | |||||
| import com.iformall.mapper.*; | import com.iformall.mapper.*; | ||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.CreditUtil; | import com.iformall.utils.CreditUtil; | ||||
| import com.iformall.utils.DateUtils; | |||||
| import com.iformall.utils.RedisLock; | import com.iformall.utils.RedisLock; | ||||
| import com.iformall.utils.UserUtil; | import com.iformall.utils.UserUtil; | ||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
| @@ -98,6 +99,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||||
| @Autowired | @Autowired | ||||
| private WxTemplateMsgService wxTemplateMsgService; | private WxTemplateMsgService wxTemplateMsgService; | ||||
| @Autowired | |||||
| private WxMemberCardService wxMemberCardService; | |||||
| @Override | @Override | ||||
| public void clearCreditByYear() { | public void clearCreditByYear() { | ||||
| WxScoreRules wxScoreRules = new WxScoreRules(); | WxScoreRules wxScoreRules = new WxScoreRules(); | ||||
| @@ -121,6 +125,20 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||||
| } | } | ||||
| @Override | |||||
| public void syncClearCredit(TenantEntity tenantInfo) { | |||||
| WxCreditHistory creditHistoryQ = new WxCreditHistory(); | |||||
| creditHistoryQ.setTenantId(tenantInfo.getFinalTenantId()); | |||||
| creditHistoryQ.setCreditType(EnumScoreType.CLEAN_CREDIT.getCode()); | |||||
| String beforeYesterday = DateUtils.getTimeBefore(2, new Date()); | |||||
| Date date = DateUtils.stringToDate(beforeYesterday); | |||||
| creditHistoryQ.setStartTime(date); | |||||
| List<WxCreditHistory> list = wxCreditHistoryMapper.getIsMemberCarAndClearCredit(creditHistoryQ); | |||||
| for (WxCreditHistory history:list) { | |||||
| wxMemberCardService.sendsyncMemberCardBonusMsg(tenantInfo,history.getCUserId(),history.getId()); | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| public void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory) { | public void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory) { | ||||
| PageInfo<WxCreditHistoryVo> wxCreditHistoryVoList = findListMorePage(wxCreditHistory,0,50000); | PageInfo<WxCreditHistoryVo> wxCreditHistoryVoList = findListMorePage(wxCreditHistory,0,50000); | ||||
| @@ -546,8 +564,8 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||||
| // } | // } | ||||
| @Override | @Override | ||||
| public WxCreditHistory getById(Long id,String tenantId) { | |||||
| return wxCreditHistoryMapper.selectById(id,tenantId); | |||||
| public WxCreditHistory getById(Long id,String finalTenantId) { | |||||
| return wxCreditHistoryMapper.selectById(id,finalTenantId); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -646,15 +664,15 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { | |||||
| temp.setType(EnumTemplateType.CREDIT_UPD_REMIND.getCode()); | temp.setType(EnumTemplateType.CREDIT_UPD_REMIND.getCode()); | ||||
| temp = wxTemplateMsgService.getByObj(temp); | temp = wxTemplateMsgService.getByObj(temp); | ||||
| if(temp.getId() != null){ | if(temp.getId() != null){ | ||||
| List<String> openIds = wxCUserMapper.findOpenIdList(wxCUserBasicInfo.getId(),tenantId); | |||||
| if(openIds != null && openIds.size() > 0){ | |||||
| String openId = wxCUserMapper.findOpenId(wxCUserBasicInfo.getId(),tenantId); | |||||
| if(StringUtils.isNotBlank(openId)){ | |||||
| WxMsg msg = new WxMsg(); | WxMsg msg = new WxMsg(); | ||||
| // msg.updateTenantInfo(record); | // msg.updateTenantInfo(record); | ||||
| msg.setTenantId(tenantId); | msg.setTenantId(tenantId); | ||||
| // msg.setWay(EnumSendWay.APPINFOR.getCode()); | // msg.setWay(EnumSendWay.APPINFOR.getCode()); | ||||
| // msg.setIsright(EnumMsgSend.MSG_SEND_IMMEDIATELY.getCode()); | // msg.setIsright(EnumMsgSend.MSG_SEND_IMMEDIATELY.getCode()); | ||||
| // msg.setStatus(EnumMsgStatus.MSG_STATUS_NOT_SEND.getCode()); | // msg.setStatus(EnumMsgStatus.MSG_STATUS_NOT_SEND.getCode()); | ||||
| msg.setPhones(String.join(",", openIds)); | |||||
| msg.setPhones(openId); | |||||
| msg.setModelId(temp.getId()); | msg.setModelId(temp.getId()); | ||||
| Map<String,String> map = new HashMap<>(); | Map<String,String> map = new HashMap<>(); | ||||
| map.put("character_string1",record.getCreditNum().toString()); | map.put("character_string1",record.getCreditNum().toString()); | ||||
| @@ -14,8 +14,13 @@ import com.iformall.common.IdWorker; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.po.msg.AfterAddCreditMsg; | |||||
| import com.iformall.domain.po.msg.AfterAddScoreMsg; | |||||
| import com.iformall.domain.po.msg.FmInsideCLoginMsg; | |||||
| import com.iformall.domain.po.msg.SyncMemberCardMsg; | |||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.mapper.WxMemberCardMapper; | import com.iformall.mapper.WxMemberCardMapper; | ||||
| import com.iformall.mq.MqBaseProducer; | |||||
| import com.iformall.service.*; | import com.iformall.service.*; | ||||
| import com.iformall.utils.DateUtils; | import com.iformall.utils.DateUtils; | ||||
| import com.iformall.utils.MaUtil; | import com.iformall.utils.MaUtil; | ||||
| @@ -25,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | |||||
| @Service | @Service | ||||
| public class WxMemberCardServiceImpl implements WxMemberCardService { | public class WxMemberCardServiceImpl implements WxMemberCardService { | ||||
| @@ -40,6 +46,12 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| @Autowired | @Autowired | ||||
| WxPayAccountService wxPayAccountService; | WxPayAccountService wxPayAccountService; | ||||
| @Autowired | |||||
| WxCUserBasicInfoService wxCUserBasicInfoService; | |||||
| @Autowired | |||||
| private MqBaseProducer mqBaseProducer; | |||||
| @Autowired | @Autowired | ||||
| MaUtil maUtil; | MaUtil maUtil; | ||||
| @@ -48,6 +60,22 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMemberCardMapper.findList(record)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMemberCardMapper.findList(record)); | ||||
| } | } | ||||
| @Override | |||||
| public ResultData saveorupdate(WxMemberCard record) { | |||||
| Date now = new Date(); | |||||
| if(record.getId() == null){ | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| record.setId(idWorker.nextId()); | |||||
| record.setCreateDate(now); | |||||
| record.setUpdateDate(now); | |||||
| wxMemberCardMapper.insert(record); | |||||
| }else{ | |||||
| record.setUpdateDate(now); | |||||
| wxMemberCardMapper.updateById(record); | |||||
| } | |||||
| return new ResultData(); | |||||
| } | |||||
| @Override | @Override | ||||
| public ResultData saveorupdateByCode(WxMemberCard record) { | public ResultData saveorupdateByCode(WxMemberCard record) { | ||||
| Long id = wxMemberCardMapper.getIdByCode(record); | Long id = wxMemberCardMapper.getIdByCode(record); | ||||
| @@ -84,10 +112,13 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| @Override | @Override | ||||
| public ResultData syncMemberCard(TenantEntity tenantEntity, String card_id, String code) { | public ResultData syncMemberCard(TenantEntity tenantEntity, String card_id, String code) { | ||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(cAppInfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | ||||
| } | } | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | ||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | ||||
| } | } | ||||
| @@ -95,7 +126,9 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | ||||
| MemberCardResult memberCard = wxPayService.getMemberCardService().getMemberCard(card_id, code); | MemberCardResult memberCard = wxPayService.getMemberCardService().getMemberCard(card_id, code); | ||||
| WxMemberCard record = new WxMemberCard(); | WxMemberCard record = new WxMemberCard(); | ||||
| record.updateTenantInfo(tenantEntity); | |||||
| record.setTenantId(tenantEntity.getTenantId()); | |||||
| record.setParentTenantId(tenantEntity.getParentTenantId()); | |||||
| record.updateFinalTenantId(tenantEntity); | |||||
| record.setCardId(card_id); | record.setCardId(card_id); | ||||
| record.setCardCode(code); | record.setCardCode(code); | ||||
| record.setOpenId(memberCard.getOpenid()); | record.setOpenId(memberCard.getOpenid()); | ||||
| @@ -109,9 +142,8 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| if(enumMemberCardStatus != null){ | if(enumMemberCardStatus != null){ | ||||
| record.setUserCardStatus(enumMemberCardStatus.getCode()); | record.setUserCardStatus(enumMemberCardStatus.getCode()); | ||||
| } | } | ||||
| if(memberCard.getUserInformation() != null){ | |||||
| record.setUserInformation(JSON.toJSONString(memberCard.getUserInformation())); | |||||
| } | |||||
| record.setUserInformation(JSON.toJSONString(memberCard.getUserInformation())); | |||||
| record.setBonusValue(memberCard.getBonusValue()); | record.setBonusValue(memberCard.getBonusValue()); | ||||
| if(memberCard.getServiceModules() != null){ | if(memberCard.getServiceModules() != null){ | ||||
| record.setServiceModules(JSON.toJSONString(memberCard.getServiceModules())); | record.setServiceModules(JSON.toJSONString(memberCard.getServiceModules())); | ||||
| @@ -121,7 +153,52 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| if(memberCard.getGuide() != null){ | if(memberCard.getGuide() != null){ | ||||
| record.setGuide(JSON.toJSONString(memberCard.getGuide())); | record.setGuide(JSON.toJSONString(memberCard.getGuide())); | ||||
| } | } | ||||
| this.saveorupdateByCode(record); | |||||
| MemberCardResult.UserInformation userInformation = memberCard.getUserInformation(); | |||||
| List<MemberCardResult.CommonField> commonFieldList = userInformation.getCommonFieldList(); | |||||
| String phone = null, name = null, avatarUrl = null; | |||||
| Integer sex = null; | |||||
| for (MemberCardResult.CommonField commonField:commonFieldList) { | |||||
| /** | |||||
| * 平台提供了一些通用的开卡字段供开发者选用 | |||||
| * USER_FORM_FLAG_MOBILE:手机号 | |||||
| * USER_FORM_FLAG_SEX:性别 | |||||
| * USER_FORM_FLAG_NAME:姓名 | |||||
| * USER_FORM_FLAG_BIRTHDAY:生日 | |||||
| * USER_FORM_FLAG_ADDRESS:地址 | |||||
| * USER_FORM_FLAG_EMAIL:邮箱 | |||||
| * USER_FORM_FLAG_CITY:城市 | |||||
| */ | |||||
| if("USER_FORM_FLAG_MOBILE".equals(commonField.getName())){ | |||||
| phone = commonField.getValue(); | |||||
| }else if("USER_FORM_FLAG_SEX".equals(commonField.getName())){ | |||||
| if("男".equals(commonField.getValue())){ | |||||
| sex = 1; | |||||
| }else if("女".equals(commonField.getValue())){ | |||||
| sex = 2; | |||||
| }else{ | |||||
| sex = 0; | |||||
| } | |||||
| }else if("USER_FORM_FLAG_NAME".equals(commonField.getName())){ | |||||
| name = commonField.getValue(); | |||||
| } | |||||
| } | |||||
| WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.registerByPhone(tenantEntity, phone, null,name, sex, avatarUrl); | |||||
| WxMemberCard old = wxMemberCardMapper.getByCode(record); | |||||
| if(old == null){ | |||||
| record.setUserId(basicInfo.getId()); | |||||
| }else{ | |||||
| record.setId(old.getId()); | |||||
| if(!basicInfo.getId().equals(old.getUserId())){ | |||||
| record.setUserId(basicInfo.getId());; | |||||
| } | |||||
| } | |||||
| this.saveorupdate(record); | |||||
| if(record.getUserId() != null){ | |||||
| this.sendsyncMemberCardBonusMsg(tenantEntity,record.getUserId(),null); | |||||
| this.sendsyncMemberCardLevelMsg(tenantEntity,record.getUserId(),null); | |||||
| } | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } catch (WxPayException e) { | } catch (WxPayException e) { | ||||
| e.printStackTrace(); | e.printStackTrace(); | ||||
| @@ -130,13 +207,26 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public ResultData syncMemberCardLevel(TenantEntity tenantEntity, String card_id, String code, | |||||
| public void sendSyncMemberCardMsg(TenantEntity tenantEntity, String card_id, String code) { | |||||
| SyncMemberCardMsg msg = new SyncMemberCardMsg(); | |||||
| msg.updateTenantInfo(tenantEntity); | |||||
| msg.setMsgType(EnumMsgRecordType.SYNC_MEMBER_CARD.getCode()); | |||||
| msg.setCardId(card_id); | |||||
| msg.setCode(code); | |||||
| mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | |||||
| } | |||||
| @Override | |||||
| public ResultData syncMemberCardLevel(TenantEntity tenantEntity, String card_id, String code,String markid, | |||||
| String level, Boolean need_inform_level) { | String level, Boolean need_inform_level) { | ||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(cAppInfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | ||||
| } | } | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | ||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | ||||
| } | } | ||||
| @@ -144,10 +234,12 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | ||||
| MemberCardUpdRequest request = new MemberCardUpdRequest(); | MemberCardUpdRequest request = new MemberCardUpdRequest(); | ||||
| request.setLevel(level); | request.setLevel(level); | ||||
| request.setOutRequestNo(getOutRequestNo()); | |||||
| request.setOutRequestNo(markid); | |||||
| request.setNeedInformLevel(need_inform_level); | request.setNeedInformLevel(need_inform_level); | ||||
| wxPayService.getMemberCardService().updMemberCard(card_id,code,request); | wxPayService.getMemberCardService().updMemberCard(card_id,code,request); | ||||
| this.sendSyncMemberCardMsg(tenantEntity,card_id,code); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } catch (WxPayException e) { | } catch (WxPayException e) { | ||||
| e.printStackTrace(); | e.printStackTrace(); | ||||
| @@ -156,23 +248,41 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public ResultData syncMemberCardBonus(TenantEntity tenantEntity, String card_id, String code, | |||||
| Integer bonus_value, Boolean need_inform_bonus) { | |||||
| public void sendsyncMemberCardLevelMsg(TenantEntity tenantEntity, Long baseUserId, Long scoreHistoryId) { | |||||
| //todo 暂不推送等级给商圈 | |||||
| // AfterAddScoreMsg msg = new AfterAddScoreMsg(); | |||||
| // msg.updateTenantInfo(tenantEntity); | |||||
| // msg.setMsgType(EnumMsgRecordType.AFTER_ADD_SCORE.getCode()); | |||||
| // msg.setBasicUserId(baseUserId); | |||||
| // msg.setScoreHistoryId(scoreHistoryId); | |||||
| // mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | |||||
| } | |||||
| @Override | |||||
| public ResultData syncMemberCardBonus(TenantEntity tenantEntity, String card_id, String code,String markid, | |||||
| int before_bonus_value,int bonus_value, Boolean need_inform_bonus) { | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(cAppInfo == null || payAccount == null){ | |||||
| if(cAppInfo == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | ||||
| } | } | ||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| return new ResultData(ErrorCode.API_KEY_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | ||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | ||||
| } | } | ||||
| try { | try { | ||||
| WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | ||||
| MemberCardRightsRequest request = new MemberCardRightsRequest(); | MemberCardRightsRequest request = new MemberCardRightsRequest(); | ||||
| request.setBeforeBonusValue(before_bonus_value); | |||||
| request.setBonusValue(bonus_value); | request.setBonusValue(bonus_value); | ||||
| request.setOutRequestNo(getOutRequestNo()); | |||||
| request.setAddBonusValue(bonus_value - before_bonus_value); | |||||
| request.setOutRequestNo(markid); | |||||
| request.setNeedInformBonus(need_inform_bonus); | request.setNeedInformBonus(need_inform_bonus); | ||||
| wxPayService.getMemberCardService().setMemberCardRights(card_id,code,request); | wxPayService.getMemberCardService().setMemberCardRights(card_id,code,request); | ||||
| this.sendSyncMemberCardMsg(tenantEntity,card_id,code); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } catch (WxPayException e) { | } catch (WxPayException e) { | ||||
| e.printStackTrace(); | e.printStackTrace(); | ||||
| @@ -180,39 +290,14 @@ public class WxMemberCardServiceImpl implements WxMemberCardService { | |||||
| } | } | ||||
| } | } | ||||
| private String getOutRequestNo(){ | |||||
| final IdWorker idWorker = IdWorker.get(); | |||||
| String dateStr = DateUtils.date2String(new Date(), "yyyyMMddHHmmss"); | |||||
| String id = Long.toString(idWorker.nextId()); | |||||
| return dateStr+"_"+id; | |||||
| } | |||||
| @Override | @Override | ||||
| public ResultData syncauthorizeState(TenantEntity tenantEntity, String openid) { | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(cAppInfo == null || payAccount == null){ | |||||
| return new ResultData(ErrorCode.APP_ID_NOT_FOUND); | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"未开通商圈或不支持此项操作"); | |||||
| } | |||||
| try { | |||||
| WxPayService wxPayService = maUtil.getWxPayService(cAppInfo, payAccount); | |||||
| MemberCardAuthorizeResult authorizations = wxPayService.getBusinessCircleService().getAuthorizations(openid); | |||||
| WxMemberCard record = new WxMemberCard(); | |||||
| record.updateTenantInfo(tenantEntity); | |||||
| record.setOpenId(authorizations.getOpenid()); | |||||
| record.setAuthorizeState(EnumMemberCardAuthorizeState.getEnum(authorizations.getAuthorizeState()).getCode()); | |||||
| String formaStr = "yyyy-MM-dd'T'HH:mm:ss'+'mm:ss"; | |||||
| record.setAuthorizeTime(DateUtils.stringToDate(authorizations.getAuthorizeTime(),formaStr)); | |||||
| record.setDeauthorizeTime(DateUtils.stringToDate(authorizations.getDeauthorizeTime(),formaStr)); | |||||
| wxMemberCardMapper.updateByOpenId(record); | |||||
| return new ResultData(record); | |||||
| } catch (WxPayException e) { | |||||
| e.printStackTrace(); | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| public void sendsyncMemberCardBonusMsg(TenantEntity tenantEntity, Long baseUserId, Long creditHistoryId) { | |||||
| AfterAddCreditMsg msg = new AfterAddCreditMsg(); | |||||
| msg.updateTenantInfo(tenantEntity); | |||||
| msg.setMsgType(EnumMsgRecordType.AFTER_ADD_CREDIT.getCode()); | |||||
| msg.setBasicUserId(baseUserId); | |||||
| msg.setCreditHistoryId(creditHistoryId); | |||||
| mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -160,7 +160,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||||
| basicInfo = wxCUserBasicInfoService.getById(userId, record.getFinalTenantId()); | basicInfo = wxCUserBasicInfoService.getById(userId, record.getFinalTenantId()); | ||||
| } | } | ||||
| if(basicInfo == null && StringUtils.isNotBlank(record.getUserPhone())){ | if(basicInfo == null && StringUtils.isNotBlank(record.getUserPhone())){ | ||||
| basicInfo = wxCUserBasicInfoService.registerByPhone(record, record.getUserPhone(),null,null,null); | |||||
| basicInfo = wxCUserBasicInfoService.registerByPhone(record, record.getUserPhone(),null,null,null,null); | |||||
| } | } | ||||
| if(basicInfo != null){ | if(basicInfo != null){ | ||||
| @@ -377,7 +377,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||||
| basicInfo = wxCUserBasicInfoService.getById(userId, record.getFinalTenantId()); | basicInfo = wxCUserBasicInfoService.getById(userId, record.getFinalTenantId()); | ||||
| } | } | ||||
| if(basicInfo == null){ | if(basicInfo == null){ | ||||
| basicInfo = wxCUserBasicInfoService.registerByPhone(record, record.getUserPhone(),null,null,null); | |||||
| basicInfo = wxCUserBasicInfoService.registerByPhone(record, record.getUserPhone(),null,null,null,null); | |||||
| } | } | ||||
| if(basicInfo == null){ | if(basicInfo == null){ | ||||
| logger.error("--第三方积分订单--未找到用户---userId="+record.getUserNumber()); | logger.error("--第三方积分订单--未找到用户---userId="+record.getUserNumber()); | ||||
| @@ -562,7 +562,7 @@ public class WxThirdPartyOrdersServiceImpl implements WxThirdPartyOrdersService | |||||
| basicInfo = wxCUserBasicInfoService.getById(userId, record.getFinalTenantId()); | basicInfo = wxCUserBasicInfoService.getById(userId, record.getFinalTenantId()); | ||||
| } | } | ||||
| if(basicInfo == null){ | if(basicInfo == null){ | ||||
| basicInfo = wxCUserBasicInfoService.registerByPhone(record, record.getUserPhone(),null,null,null); | |||||
| basicInfo = wxCUserBasicInfoService.registerByPhone(record, record.getUserPhone(),null,null,null,null); | |||||
| } | } | ||||
| if(basicInfo == null){ | if(basicInfo == null){ | ||||
| logger.error("--第三方积分变动--未找到用户---userId="+record.getUserNumber()); | logger.error("--第三方积分变动--未找到用户---userId="+record.getUserNumber()); | ||||
| @@ -0,0 +1,115 @@ | |||||
| package com.iformall.service.msg.impl; | |||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.msg.AfterAddCreditMsg; | |||||
| import com.iformall.domain.po.msg.AppUniformMsg; | |||||
| import com.iformall.domain.po.msg.BaseMsg; | |||||
| import com.iformall.enums.EnumAppPlat; | |||||
| import com.iformall.enums.EnumBusinessType; | |||||
| import com.iformall.enums.EnumMemberCardStatus; | |||||
| import com.iformall.mapper.*; | |||||
| import com.iformall.service.WxAppinfoService; | |||||
| import com.iformall.service.WxCUserService; | |||||
| import com.iformall.service.WxMemberCardService; | |||||
| import com.iformall.service.WxPayAccountService; | |||||
| import com.iformall.service.msg.MsgSendService; | |||||
| import com.iformall.service.wechat.FmOpenService; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Service | |||||
| public class AfterAddCreditMsgServiceImpl implements MsgSendService { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxAppinfoService wxAppinfoService; | |||||
| @Autowired | |||||
| private WxPayAccountService wxPayAccountService; | |||||
| @Autowired | |||||
| private WxMemberCardService wxMemberCardService; | |||||
| @Autowired | |||||
| private WxCUserBasicInfoMapper wxCUserBasicInfoMapper; | |||||
| @Autowired | |||||
| private WxCUserMapper wxCUserMapper; | |||||
| @Autowired | |||||
| private WxMemberCardMapper wxMemberCardMapper; | |||||
| @Autowired | |||||
| private WxCreditHistoryMapper wxCreditHistoryMapper; | |||||
| @Override | |||||
| public void send(BaseMsg baseMsg) throws Exception{ | |||||
| AfterAddCreditMsg afterAddCreditMsg = (AfterAddCreditMsg)baseMsg; | |||||
| TenantEntity tenantEntity = new TenantEntity(); | |||||
| tenantEntity.setTenantId(afterAddCreditMsg.getTenantId()); | |||||
| tenantEntity.setParentTenantId(afterAddCreditMsg.getParentTenantId()); | |||||
| //微信商圈同步会员积分 | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | |||||
| if(cAppInfo == null){ | |||||
| logger.error("未找到微信C端小程序"); | |||||
| return; | |||||
| } | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| logger.error("未找到微信支付配置"); | |||||
| return; | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | |||||
| logger.error("未找到商圈配置或商圈版本不支持"); | |||||
| return; | |||||
| } | |||||
| WxMemberCard memberCardQ = new WxMemberCard(); | |||||
| memberCardQ.updateFinalTenantId(tenantEntity); | |||||
| memberCardQ.setUserId(afterAddCreditMsg.getBasicUserId()); | |||||
| memberCardQ.setUserCardStatus(EnumMemberCardStatus.EFFECTIVE.getCode()); | |||||
| List<WxMemberCard> memberCards = wxMemberCardMapper.findList(memberCardQ); | |||||
| if(memberCards == null || memberCards.isEmpty()){ | |||||
| logger.error("该用户未授权商圈"+afterAddCreditMsg.getBasicUserId()); | |||||
| return; | |||||
| } | |||||
| String markid = null; | |||||
| Integer before_bonus_value = 0,bonus_value = 0; | |||||
| if(afterAddCreditMsg.getCreditHistoryId() == null){ | |||||
| WxCUserBasicInfo basicInfo = wxCUserBasicInfoMapper.selectById(afterAddCreditMsg.getBasicUserId(), tenantEntity.getFinalTenantId()); | |||||
| markid = basicInfo.getId().toString(); | |||||
| bonus_value = basicInfo.getCredit(); | |||||
| }else{ | |||||
| WxCreditHistory wxCreditHistory = wxCreditHistoryMapper.selectById(afterAddCreditMsg.getCreditHistoryId(), tenantEntity.getFinalTenantId()); | |||||
| markid = wxCreditHistory.getId().toString(); | |||||
| before_bonus_value = wxCreditHistory.getCreditAmount()-wxCreditHistory.getCreditNum(); | |||||
| bonus_value = wxCreditHistory.getCreditAmount(); | |||||
| } | |||||
| for(int i = 0;i < memberCards.size();i++){ | |||||
| WxMemberCard memberCard = memberCards.get(i); | |||||
| markid = markid + "_" + i; | |||||
| ResultData resultData = wxMemberCardService.syncMemberCardBonus(tenantEntity, memberCard.getCardId(), memberCard.getCardCode(), markid, | |||||
| before_bonus_value, bonus_value, null); | |||||
| logger.info(tenantEntity.getTenantId()+"--"+memberCard.getUserId()+"--微信商圈同步会员积分{}"+resultData.message); | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,63 @@ | |||||
| package com.iformall.service.msg.impl; | |||||
| import com.iformall.domain.po.WxAppinfo; | |||||
| import com.iformall.domain.po.WxPayAccount; | |||||
| import com.iformall.domain.po.WxTemplateMsg; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.msg.AfterAddCreditMsg; | |||||
| import com.iformall.domain.po.msg.AfterAddScoreMsg; | |||||
| import com.iformall.domain.po.msg.BaseMsg; | |||||
| import com.iformall.enums.EnumAppPlat; | |||||
| import com.iformall.enums.EnumBusinessType; | |||||
| import com.iformall.mapper.WxAppinfoMapper; | |||||
| import com.iformall.service.WxAppinfoService; | |||||
| import com.iformall.service.WxPayAccountService; | |||||
| import com.iformall.service.msg.MsgSendService; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Service | |||||
| public class AfterAddScoreMsgServiceImpl implements MsgSendService { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxAppinfoService wxAppinfoService; | |||||
| @Autowired | |||||
| private WxPayAccountService wxPayAccountService; | |||||
| @Override | |||||
| public void send(BaseMsg baseMsg) throws Exception{ | |||||
| AfterAddScoreMsg afterAddScoreMsg = (AfterAddScoreMsg)baseMsg; | |||||
| TenantEntity tenantEntity = new TenantEntity(); | |||||
| tenantEntity.setTenantId(afterAddScoreMsg.getTenantId()); | |||||
| tenantEntity.setParentTenantId(afterAddScoreMsg.getParentTenantId()); | |||||
| //微信商圈同步会员等级 todo | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | |||||
| if(cAppInfo == null){ | |||||
| logger.error("未找到微信C端小程序"); | |||||
| return; | |||||
| } | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| logger.error("未找到微信支付配置"); | |||||
| return; | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | |||||
| logger.error("未找到商圈配置或商圈版本不支持"); | |||||
| return; | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,110 @@ | |||||
| package com.iformall.service.msg.impl; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.*; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.msg.AfterAddScoreMsg; | |||||
| import com.iformall.domain.po.msg.AfterCarInOutMsg; | |||||
| import com.iformall.domain.po.msg.BaseMsg; | |||||
| import com.iformall.enums.EnumAppPlat; | |||||
| import com.iformall.enums.EnumBusinessType; | |||||
| import com.iformall.enums.EnumCarCmd; | |||||
| import com.iformall.mapper.WxAppinfoMapper; | |||||
| import com.iformall.mapper.WxCUserMapper; | |||||
| import com.iformall.mapper.WxCarCmdLogMapper; | |||||
| import com.iformall.pay.WxPayConstant; | |||||
| import com.iformall.service.*; | |||||
| import com.iformall.service.msg.MsgSendService; | |||||
| import org.apache.commons.lang3.StringUtils; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Service | |||||
| public class AfterCarInOutMsgServiceImpl implements MsgSendService { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxAppinfoService wxAppinfoService; | |||||
| @Autowired | |||||
| private WxPayAccountService wxPayAccountService; | |||||
| @Autowired | |||||
| private WxBusinessCircleOrderService wxBusinessCircleOrderService; | |||||
| @Autowired | |||||
| private WxCUserCarService wxCUserCarService; | |||||
| @Autowired | |||||
| private WxCUserMapper wxCUserMapper; | |||||
| @Autowired | |||||
| private WxCarCmdLogMapper wxCarCmdLogMapper; | |||||
| @Override | |||||
| public void send(BaseMsg baseMsg) throws Exception{ | |||||
| AfterCarInOutMsg afterCarInOutMsg = (AfterCarInOutMsg)baseMsg; | |||||
| TenantEntity tenantEntity = new TenantEntity(); | |||||
| tenantEntity.setTenantId(afterCarInOutMsg.getTenantId()); | |||||
| tenantEntity.setParentTenantId(afterCarInOutMsg.getParentTenantId()); | |||||
| //微信商圈同步停车状态 | |||||
| WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(tenantEntity.getTenantId(), EnumAppPlat.WX); | |||||
| if(cAppInfo == null){ | |||||
| logger.error("未找到微信C端小程序"); | |||||
| return; | |||||
| } | |||||
| WxPayAccount payAccount = wxPayAccountService.getByIdFromRedis(cAppInfo.getPayId()); | |||||
| if(payAccount == null){ | |||||
| logger.error("未找到微信支付配置"); | |||||
| return; | |||||
| } | |||||
| if(!EnumBusinessType.BUSINESS_3.getCode().equals(payAccount.getBusinessType())){ | |||||
| logger.error("未找到商圈配置或商圈版本不支持"); | |||||
| return; | |||||
| } | |||||
| WxCarCmdLog wxCarCmdLog = wxCarCmdLogMapper.selectById(afterCarInOutMsg.getCarCmdLogId(), tenantEntity.getTenantId()); | |||||
| if(wxCarCmdLog == null || StringUtils.isBlank(wxCarCmdLog.getPlateNumber())){ | |||||
| logger.error("未找到停车记录"); | |||||
| return; | |||||
| } | |||||
| String state = null; | |||||
| if(EnumCarCmd.getCarIn().contains(wxCarCmdLog.getCmdType())){ | |||||
| state = WxPayConstant.CAR_IN; | |||||
| }else if(EnumCarCmd.getCarOut().contains(wxCarCmdLog.getCmdType())){ | |||||
| state = WxPayConstant.CAR_OUT; | |||||
| }else{ | |||||
| logger.error("不是出入场记录"+wxCarCmdLog.getId()); | |||||
| return; | |||||
| } | |||||
| String plateNumber = wxCarCmdLog.getPlateNumber(); | |||||
| WxCUserCar userCarQ = new WxCUserCar(); | |||||
| userCarQ.updateTenantInfo(tenantEntity); | |||||
| userCarQ.setCarNumber(plateNumber); | |||||
| WxCUserCar userCar = wxCUserCarService.getOnlyOne(userCarQ); | |||||
| if(userCar == null){ | |||||
| logger.error("车牌未找到用户{}"+plateNumber); | |||||
| return; | |||||
| } | |||||
| String openId = wxCUserMapper.findOpenId(userCar.getCUserId(), tenantEntity.getTenantId()); | |||||
| if(StringUtils.isBlank(openId)){ | |||||
| logger.error("车牌未找到用户{}"+plateNumber); | |||||
| return; | |||||
| } | |||||
| ResultData resultData = wxBusinessCircleOrderService.syncParkings(tenantEntity, openId, plateNumber, state, wxCarCmdLog.getCreateDate()); | |||||
| logger.info(tenantEntity.getTenantId()+"--"+plateNumber+"--微信商圈同步停车记录{}"+resultData.message); | |||||
| } | |||||
| } | |||||
| @@ -33,8 +33,6 @@ public class FmInsideCLoginMsgServiceImpl implements MsgSendService { | |||||
| @Autowired | @Autowired | ||||
| private CUserServiceFactory cuserFactory; | private CUserServiceFactory cuserFactory; | ||||
| private BasicCUserService basicCUserService; | |||||
| @Autowired | @Autowired | ||||
| private WxCUserFromService wxCUserFromService; | private WxCUserFromService wxCUserFromService; | ||||
| @@ -0,0 +1,38 @@ | |||||
| package com.iformall.service.msg.impl; | |||||
| import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.po.msg.BaseMsg; | |||||
| import com.iformall.domain.po.msg.SyncMemberCardMsg; | |||||
| import com.iformall.service.WxMemberCardService; | |||||
| import com.iformall.service.msg.MsgSendService; | |||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.stereotype.Service; | |||||
| /** | |||||
| * | |||||
| */ | |||||
| @Service | |||||
| public class SyncMemberCardMsgServiceImpl implements MsgSendService { | |||||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||||
| @Autowired | |||||
| private WxMemberCardService wxMemberCardService; | |||||
| @Override | |||||
| public void send(BaseMsg baseMsg) throws Exception{ | |||||
| SyncMemberCardMsg syncMemberCardMsg = (SyncMemberCardMsg)baseMsg; | |||||
| TenantEntity tenantEntity = new TenantEntity(); | |||||
| tenantEntity.setTenantId(syncMemberCardMsg.getTenantId()); | |||||
| tenantEntity.setParentTenantId(syncMemberCardMsg.getParentTenantId()); | |||||
| ResultData resultData = wxMemberCardService.syncMemberCard(tenantEntity, syncMemberCardMsg.getCardId(), syncMemberCardMsg.getCode()); | |||||
| logger.info(tenantEntity.getTenantId()+"--"+syncMemberCardMsg.getCode()+"--微信商圈同步会员卡{}"+resultData.message); | |||||
| } | |||||
| } | |||||
| @@ -48,6 +48,9 @@ | |||||
| <result column="credit" jdbcType="INTEGER" property="credit"/> | <result column="credit" jdbcType="INTEGER" property="credit"/> | ||||
| <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> | ||||
| <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | ||||
| <result column="authorize_state" jdbcType="INTEGER" property="authorizeState"/> | |||||
| <result column="authorize_time" jdbcType="TIMESTAMP" property="authorizeTime"/> | |||||
| <result column="deauthorize_time" jdbcType="TIMESTAMP" property="deauthorizeTime"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| @@ -58,7 +61,8 @@ | |||||
| `login_count`, `extra_info`, `is_subscribe`, | `login_count`, `extra_info`, `is_subscribe`, | ||||
| `open_app_id`, | `open_app_id`, | ||||
| `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, | ||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code` | |||||
| `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`, | |||||
| `authorize_state`,`authorize_time`, `deauthorize_time` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -215,6 +219,10 @@ | |||||
| and `credit` = #{credit} | and `credit` = #{credit} | ||||
| </if> | </if> | ||||
| <if test=" null != authorizeState "> | |||||
| and `authorize_state` = #{authorizeState} | |||||
| </if> | |||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||
| @@ -445,4 +453,18 @@ | |||||
| <select id="findOpenIdList" parameterType="hashmap" resultType="String" > | <select id="findOpenIdList" parameterType="hashmap" resultType="String" > | ||||
| select open_id from wx_c_user where user_id=#{userId} and tenant_id = #{tenantId} | select open_id from wx_c_user where user_id=#{userId} and tenant_id = #{tenantId} | ||||
| </select> | </select> | ||||
| <update id="updateAuthorizeStateByOpenId" parameterType="com.iformall.domain.po.WxCUser"> | |||||
| update wx_c_user | |||||
| set `authorize_state` = #{authorizeState} | |||||
| <if test=" null != authorizeTime"> | |||||
| ,`authorize_time` = #{authorizeTime} | |||||
| </if> | |||||
| <if test=" null != deauthorizeTime"> | |||||
| ,`deauthorize_time` = #{deauthorizeTime} | |||||
| </if> | |||||
| WHERE `tenant_id` = #{tenantId} | |||||
| and `open_id` = #{openId} | |||||
| and `authorize_state` != #{authorizeState} | |||||
| </update> | |||||
| </mapper> | </mapper> | ||||
| @@ -216,6 +216,16 @@ | |||||
| {call user_credit_clear(#{cutOffDate},#{finalTableIndex})} | {call user_credit_clear(#{cutOffDate},#{finalTableIndex})} | ||||
| </update> | </update> | ||||
| <select id="getIsMemberCarAndClearCredit" parameterType="com.iformall.domain.po.WxCreditHistory" resultMap="BaseResultMap"> | |||||
| select <include refid="allColumns" /> | |||||
| from wx_credit_history | |||||
| where `tenant_id` = #{tenantId} | |||||
| and `credit_type` = #{creditType} | |||||
| and create_date >= #{startTime} | |||||
| and `c_user_id` in | |||||
| (select user_id from wx_member_card where `final_tenant_id` = #{finalTenantId} ) | |||||
| </select> | |||||
| <select id="merchantCreditAdd" parameterType="com.iformall.domain.po.WxCreditHistory" resultType="com.iformall.domain.vo.MerchantCreditRankingVo"> | <select id="merchantCreditAdd" parameterType="com.iformall.domain.po.WxCreditHistory" resultType="com.iformall.domain.vo.MerchantCreditRankingVo"> | ||||
| select credit.merchant_id merchantId,sum(credit.credit_num) sumAddCredit | select credit.merchant_id merchantId,sum(credit.credit_num) sumAddCredit | ||||
| from wx_credit_history credit | from wx_credit_history credit | ||||
| @@ -5,6 +5,7 @@ | |||||
| <id column="id" jdbcType="BIGINT" property="id"/> | <id column="id" jdbcType="BIGINT" property="id"/> | ||||
| <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | <result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/> | ||||
| <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId"/> | <result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId"/> | ||||
| <result column="final_tenant_id" jdbcType="VARCHAR" property="finalTenantId"/> | |||||
| <result column="card_id" jdbcType="VARCHAR" property="cardId"/> | <result column="card_id" jdbcType="VARCHAR" property="cardId"/> | ||||
| <result column="card_code" jdbcType="VARCHAR" property="cardCode"/> | <result column="card_code" jdbcType="VARCHAR" property="cardCode"/> | ||||
| <result column="activate_scene" jdbcType="INTEGER" property="activateScene"/> | <result column="activate_scene" jdbcType="INTEGER" property="activateScene"/> | ||||
| @@ -26,21 +27,18 @@ | |||||
| <result column="guide" jdbcType="VARCHAR" property="guide"/> | <result column="guide" jdbcType="VARCHAR" property="guide"/> | ||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | ||||
| <result column="create_date" jdbcType="TIMESTAMP" property="createDate"/> | <result column="create_date" jdbcType="TIMESTAMP" property="createDate"/> | ||||
| <result column="app_id" jdbcType="VARCHAR" property="appId"/> | |||||
| <result column="authorize_state" jdbcType="INTEGER" property="authorizeState"/> | |||||
| <result column="authorize_time" jdbcType="TIMESTAMP" property="authorizeTime"/> | |||||
| <result column="deauthorize_time" jdbcType="TIMESTAMP" property="deauthorizeTime"/> | |||||
| <result column="user_id" jdbcType="BIGINT" property="userId"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`tenant_id`,`parent_tenant_id`,`card_id`,`card_code`,`activate_scene`,`outer_str`,`open_id`,`union_id`, | `id`,`tenant_id`,`parent_tenant_id`,`card_id`,`card_code`,`activate_scene`,`outer_str`,`open_id`,`union_id`, | ||||
| `membership_number`,`level`,`nickname`,`head_image_url`,`background_picture_url`,`balance`, | `membership_number`,`level`,`nickname`,`head_image_url`,`background_picture_url`,`balance`, | ||||
| `user_card_status`,`user_information`,`bonus_value`,`service_modules`,`member_price_word`,`fapiao_jump_word`, | `user_card_status`,`user_information`,`bonus_value`,`service_modules`,`member_price_word`,`fapiao_jump_word`, | ||||
| `guide`,`update_date`,`create_date`,`app_id`,`authorize_state`,`authorize_time`, `deauthorize_time` | |||||
| `guide`,`update_date`,`create_date`,`user_id` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| where 1 = 1 | |||||
| where `final_tenant_id` = #{finalTenantId} | |||||
| <if test=" null != id "> | <if test=" null != id "> | ||||
| and `id` = #{id} | and `id` = #{id} | ||||
| @@ -85,12 +83,8 @@ | |||||
| and `user_card_status` = #{userCardStatus} | and `user_card_status` = #{userCardStatus} | ||||
| </if> | </if> | ||||
| <if test=" null != appId and '' != appId"> | |||||
| and `app_id` = #{appId} | |||||
| </if> | |||||
| <if test=" null != authorizeState "> | |||||
| and `authorize_state` = #{authorizeState} | |||||
| <if test=" null != userId "> | |||||
| and `user_id` = #{userId} | |||||
| </if> | </if> | ||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| @@ -109,25 +103,27 @@ | |||||
| <include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
| </select> | </select> | ||||
| <select id="getByCode" parameterType="com.iformall.domain.po.WxMemberCard" resultMap="BaseResultMap"> | |||||
| select | |||||
| <include refid="allColumns"/> | |||||
| from wx_member_card | |||||
| where `final_tenant_id` = #{finalTenantId} | |||||
| and `card_id` = #{cardId} | |||||
| and `card_code` = #{cardCode} | |||||
| </select> | |||||
| <select id="getIdByCode" parameterType="com.iformall.domain.po.WxMemberCard" resultType="Long"> | <select id="getIdByCode" parameterType="com.iformall.domain.po.WxMemberCard" resultType="Long"> | ||||
| select id from wx_member_card | select id from wx_member_card | ||||
| where `tenant_id` = #{tenantId} | |||||
| where `final_tenant_id` = #{finalTenantId} | |||||
| and `card_id` = #{cardId} | and `card_id` = #{cardId} | ||||
| and `card_code` = #{cardCode} | and `card_code` = #{cardCode} | ||||
| </select> | </select> | ||||
| <update id="deleteByCode" parameterType="com.iformall.domain.po.WxMemberCard"> | <update id="deleteByCode" parameterType="com.iformall.domain.po.WxMemberCard"> | ||||
| update wx_member_card set `user_card_status` = #{userCardStatus},`update_date` = #{updateDate} | update wx_member_card set `user_card_status` = #{userCardStatus},`update_date` = #{updateDate} | ||||
| WHERE `tenant_id` = #{tenantId} | |||||
| WHERE `final_tenant_id` = #{finalTenantId} | |||||
| and `card_id` = #{cardId} | and `card_id` = #{cardId} | ||||
| and `card_code` = #{cardCode} | and `card_code` = #{cardCode} | ||||
| and `open_id` = #{openId} | |||||
| </update> | |||||
| <update id="updateByOpenId" parameterType="com.iformall.domain.po.WxMemberCard"> | |||||
| update wx_member_card set `authorize_state` = #{authorizeState},`authorize_time` = #{authorizeTime},`deauthorize_time` = #{deauthorizeTime} | |||||
| WHERE `tenant_id` = #{tenantId} | |||||
| and `open_id` = #{openId} | |||||
| </update> | </update> | ||||
| </mapper> | </mapper> | ||||