From cf7e0299d2e6439cc310cd64f27d764332ef12a2 Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 19 Nov 2021 16:47:29 +0800 Subject: [PATCH] update login --- .../migration/V2021111900001__add_open_id.sql | 200 ++++++++++++++++++ .../WxMsgValidationcodeController.java | 57 ++--- .../controller/WxPayOrderController.java | 1 + .../controller/WxUserGrantController.java | 9 - .../com/iformall/domain/po/WxPayOrder.java | 2 + .../com/iformall/domain/vo/WxPayOrderVo.java | 3 - .../service/cuser/CUserServiceApapter.java | 3 + .../cuser/tt/TtBUserServiceAdapter.java | 11 + .../cuser/tt/TtCUserServiceAdapter.java | 26 ++- .../cuser/wx/WxBUserServiceAdapter.java | 11 + .../cuser/wx/WxCUserServiceAdapter.java | 24 +++ .../service/impl/WxOrderServiceImpl.java | 5 + .../pay/service/pay/PayAdapterService.java | 10 + .../miniApp/TtMiniAppPayAdapterService.java | 5 + .../pay/service/pay/wx/h5/WxH5PayService.java | 5 + .../appPay/WxMiniAppPayAdapterService.java | 7 +- .../maPay/WxMiniMaPayAdapterService.java | 7 +- .../resources/mapper/WxPayOrderMapper.xml | 15 +- 18 files changed, 355 insertions(+), 46 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V2021111900001__add_open_id.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V2021111900001__add_open_id.sql b/mallinkAdmin/src/main/resources/db/migration/V2021111900001__add_open_id.sql new file mode 100644 index 000000000..faa7412eb --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V2021111900001__add_open_id.sql @@ -0,0 +1,200 @@ +ALTER TABLE `mallink`.`wx_pay_order_0` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_1` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_2` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_3` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_4` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_5` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_6` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_7` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_8` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_9` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_10` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_11` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_12` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_13` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_14` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_15` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_16` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_17` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_18` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_19` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_20` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_21` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_22` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_23` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_24` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_25` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_26` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_27` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_28` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_29` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_30` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_31` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_32` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_33` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_34` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_35` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_36` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_37` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_38` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_39` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_40` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_41` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_42` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_43` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_44` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_45` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_46` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_47` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_48` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_49` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_50` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_51` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_52` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_53` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_54` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_55` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_56` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_57` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_58` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_59` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_60` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_61` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_62` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_63` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_64` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_65` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_66` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_67` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_68` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_69` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_70` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_71` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_72` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_73` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_74` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_75` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_76` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_77` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_78` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_79` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_80` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_81` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_82` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_83` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_84` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_85` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_86` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_87` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_88` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_89` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_90` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_91` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_92` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_93` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_94` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_95` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_96` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_97` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_98` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; +ALTER TABLE `mallink`.`wx_pay_order_99` +ADD COLUMN `open_id` varchar(50) AFTER `c_user_id`; \ No newline at end of file diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java index faf201616..8a7086adc 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java @@ -1,5 +1,6 @@ package com.iformall.controller; +import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.CUser; @@ -9,11 +10,14 @@ import com.iformall.domain.po.WxMsgValidationcode; import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumPayWay; +import com.iformall.exception.MallinkException; import com.iformall.service.*; +import com.iformall.service.cuser.CUserServiceFactory; import com.iformall.utils.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -33,28 +37,31 @@ public class WxMsgValidationcodeController extends BaseController { private WxMsgValidationcodeService wxMsgValidationcodeService; @Autowired - private WxCUserService wxCUserService; - - @Autowired - private WxCUserTagsService wxCUserTagsService; + private CUserServiceFactory cuserFactory; @Autowired private WxAppinfoService WxAppinfoService; - - @Autowired - private CUserTokenService cUserTokenService; @GetMapping("sendvalidationcode") @ApiImplicitParams({ @ApiImplicitParam(name = "phone", value = "手机号", dataType = "String", paramType = "query", required = true), @ApiImplicitParam(name = "type", value = "场景", dataType = "Integer", paramType = "query", required = true)}) public ResultData sendvalidationcode(String phone, Integer type) { + if (StringUtils.isBlank(phone)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号 不能为空"); + } + if(!phone.matches("^1[0-9]{10}$")){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"手机号格式不正确"); + } + if(type == null){ + type = 1; + } WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode(); wxMsgValidationcode.updateTenantInfo(getTenantInfo()); wxMsgValidationcode.setPhone(phone); wxMsgValidationcode.setType(type); //只需要一端发就可以了 - WxAppinfo appinfo = WxAppinfoService.getCAppInfo(getTenantInfo(), EnumAppPlat.WX); + WxAppinfo appinfo = WxAppinfoService.getCAppInfo(getTenantInfo(), getCUser().getAppPlat()); wxMsgValidationcode.setAppid(appinfo.getAppId()); return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode); } @@ -65,6 +72,18 @@ public class WxMsgValidationcodeController extends BaseController { @ApiImplicitParam(name = "type", value = "场景", dataType = "Integer", paramType = "query", required = true), @ApiImplicitParam(name = "code", value = "验证码", dataType = "String", paramType = "query", required = true)}) public ResultData hasvalidationcode(String phone, Integer type, String code) { + if (StringUtils.isBlank(phone)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号 不能为空"); + } + if(!phone.matches("^1[0-9]{10}$")){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"手机号格式不正确"); + } + if(type == null){ + type = 1; + } + if (StringUtils.isBlank(code)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码未填写"); + } CUser user = getCUser(); WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode(); wxMsgValidationcode.updateTenantInfo(getTenantInfo()); @@ -72,28 +91,16 @@ public class WxMsgValidationcodeController extends BaseController { wxMsgValidationcode.setType(type); wxMsgValidationcode.setCode(code); //只需要一端发就可以了 - WxAppinfo appinfo = WxAppinfoService.getCAppInfo(getTenantInfo(), EnumAppPlat.WX); + WxAppinfo appinfo = WxAppinfoService.getCAppInfo(getTenantInfo(), user.getAppPlat()); wxMsgValidationcode.setAppid(appinfo.getAppId()); - //wxMsgValidationcode.setAppid(user.getAppId()); ResultData rd = wxMsgValidationcodeService.hasvalidationcode(wxMsgValidationcode); if (rd.code == Result.SUCCESS) { // 更新到basicinfo - Long basicUserId = saveToBasicInfoByCUser(phone, user.getNickName(), user.getAvatarUrl(), user.getGender(), user.getUserId()); - if (null != basicUserId) { - if(basicUserId.intValue() == -1){ - return rd; - } - user.setUserId(basicUserId); + try{ + cuserFactory.getCUserService(user.getAppPlat()).savePhoneToBasicInfo(user,phone); + } catch (MallinkException e) { + return new ResultData(e.getErrorCode(), e.getMessage()); } - // 更新 WxCUser - user.setVerifyCodePhone(phone); - user.setUpdateDate(new Date()); - wxCUserService.saveOrUpdate((WxCUser) user); - wxCUserService.delForUserIdOnly(user.getId(),user.getUserId(),user.getTenantId()); -// wxCUserService.assureUserIdOnly(user.getId(),); - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE,user,wxMsgValidationcode,null); - - cUserTokenService.removeTokenCache(user.getToken()); } return rd; } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java index 736319170..18a2294c2 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java @@ -124,6 +124,7 @@ public class WxPayOrderController extends BaseController { } WxPayOrder record = new WxPayOrder(); record.setOrderId(orderId); + record.setOpenId(getCUser().getOpenId()); try { record.setIp(IPUtil.getIpAddr(request)); record.setComposeOrder(Integer.parseInt(composeOrderType)); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 723f29d5d..29c192c31 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -75,9 +75,6 @@ public class WxUserGrantController extends BaseController { @Autowired WxAuthorizerInfoService wxAuthorizerInfoService; - @Autowired - private FmOpenService openService; - @Autowired WxMerchantService wxMerchantService; @@ -87,17 +84,11 @@ public class WxUserGrantController extends BaseController { @Autowired WxCreditHistoryService wxCreditHistoryService; - @Autowired - private MemCouponFromDspService memCouponFromDspService; - @Autowired WxMallService mallService; @Autowired private QrCodeService qrCodeService; - - @Autowired - private CUserTokenService cUserTokenService; /** diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java index 1e0039929..2fbff2a59 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPayOrder.java @@ -30,6 +30,8 @@ public class WxPayOrder extends TenantEntity { private Long orderId; @io.swagger.annotations.ApiModelProperty(value="用户ID",name="cUserId") private Long cUserId; + @io.swagger.annotations.ApiModelProperty(value="",name="openId") + private String openId; @io.swagger.annotations.ApiModelProperty(value="B端用户ID",name="bUserId") private Long bUserId; @io.swagger.annotations.ApiModelProperty(value="扫码授权编码",name="authCode") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxPayOrderVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxPayOrderVo.java index 2fac0ecef..465752567 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxPayOrderVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxPayOrderVo.java @@ -10,9 +10,6 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class WxPayOrderVo extends WxPayOrder { - @io.swagger.annotations.ApiModelProperty(value="用户绑定的openId",name="openId") - private String openId; - @io.swagger.annotations.ApiModelProperty(value="用户支付appId",name="appId") private String appId; diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java index e10ee29dd..1ea40849f 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java @@ -27,6 +27,8 @@ public interface CUserServiceApapter { String decryptPhoneNoInfo(String encryptedData, String iv, CUser cuser, WxAppinfo wxAppinfo, boolean isFmOpen); + void savePhoneToBasicInfo(CUser user, String phone); + CUser handleLoginUser(CUser cUser, WxCUserFrom wxCUserFrom); CUser getById(Long id, String tenantId); @@ -42,4 +44,5 @@ public interface CUserServiceApapter { long findCount(WxCUserBasicInfoDto dto, List tenantEntitys); List findCountHistory(WxCUserBasicInfoDto dto, List tenantEntitys); + } diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java index b4050f6c7..3fef32892 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java @@ -135,6 +135,17 @@ public class TtBUserServiceAdapter extends BasicCUserService implements CUserSer } } + @Override + public void savePhoneToBasicInfo(CUser user, String phone) { + TtBuser updateUser = new TtBuser(); + updateUser.setId(user.getId()); + updateUser.updateTenantInfo(user); + updateUser.setPhone(phone); + updateUser.setUpdateDate(new Date()); + ttBuserMapper.updateById(updateUser); + cleanCuserToken(user.getToken()); + } + @Override public CUser handleLoginUser(CUser cUser, WxCUserFrom wxCUserFrom) { TtBuser newUser = new TtBuser(); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java index 8da72688b..c21914a9c 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java @@ -113,7 +113,7 @@ public class TtCUserServiceAdapter extends BasicCUserService implements CUserSer updateUser.setCity(userInfo.getCity()); updateUser.setLanguage(userInfo.getLanguage()); updateUser.setUpdateDate(new Date()); - ttCUserMapper.updateUserId(updateUser); + ttCUserMapper.updateById(updateUser); if(cuser.getUserId() != null){ WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); @@ -166,6 +166,30 @@ public class TtCUserServiceAdapter extends BasicCUserService implements CUserSer } } + @Override + public void savePhoneToBasicInfo(CUser user, String phone) { + TtCUser updateUser = new TtCUser(); + updateUser.setId(user.getId()); + updateUser.updateTenantInfo(user); + updateUser.setPhone(phone); + + // 更新到basicinfo + Long userBasicId = saveToBasicInfoByCUser(updateUser,updateUser.getPhone(), user.getNickName(), user.getAvatarUrl(), user.getGender(), user.getUserId()); + if (null != userBasicId) { + if(userBasicId.intValue() == -1){ + throw new MallinkException(ErrorCode.USER_PHONE_IS_FOUND); + } + updateUser.setUserId(userBasicId); + }else{ + throw new MallinkException(ErrorCode.PHONE_DECODE_ERR); + } + updateUser.setUpdateDate(new Date()); + ttCUserMapper.updateById(updateUser); + delForUserIdOnly(updateUser.getId(),updateUser.getUserId(),updateUser.getTenantId()); + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE, updateUser,updateUser,null); + cleanCuserToken(user.getToken()); + } + @Override public CUser handleLoginUser(CUser cUser, WxCUserFrom wxCUserFrom) { TtCUser newUser = new TtCUser(); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java index e7c4f0e52..7bb65b7f5 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java @@ -135,6 +135,17 @@ public class WxBUserServiceAdapter extends BasicCUserService implements CUserSer } } + @Override + public void savePhoneToBasicInfo(CUser user, String phone) { + WxBuser updateUser = new WxBuser(); + updateUser.setId(user.getId()); + updateUser.updateTenantInfo(user); + updateUser.setPhone(phone); + updateUser.setUpdateDate(new Date()); + wxBuserMapper.updateById(updateUser); + cleanCuserToken(user.getToken()); + } + @Override public CUser handleLoginUser(CUser cUser, WxCUserFrom wxCUserFrom) { WxBuser newUser = new WxBuser(); diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java index 0cac73b82..75086edc3 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java @@ -173,6 +173,30 @@ public class WxCUserServiceAdapter extends BasicCUserService implements CUserSer } } + @Override + public void savePhoneToBasicInfo(CUser user, String phone) { + WxCUser updateUser = new WxCUser(); + updateUser.setId(user.getId()); + updateUser.updateTenantInfo(user); + updateUser.setPhone(phone); + + // 更新到basicinfo + Long userBasicId = saveToBasicInfoByCUser(updateUser,updateUser.getPhone(), user.getNickName(), user.getAvatarUrl(), user.getGender(), user.getUserId()); + if (null != userBasicId) { + if(userBasicId.intValue() == -1){ + throw new MallinkException(ErrorCode.USER_PHONE_IS_FOUND); + } + updateUser.setUserId(userBasicId); + }else{ + throw new MallinkException(ErrorCode.PHONE_DECODE_ERR); + } + updateUser.setUpdateDate(new Date()); + wxCUserMapper.updateById(updateUser); + delForUserIdOnly(updateUser.getId(),updateUser.getUserId(),updateUser.getTenantId()); + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE, updateUser,updateUser,null); + cleanCuserToken(user.getToken()); + } + @Override public CUser handleLoginUser(CUser cUser, WxCUserFrom wxCUserFrom) { WxCUser newUser = new WxCUser(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index 8d624923c..4aa0094a1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -2267,6 +2267,11 @@ public class WxOrderServiceImpl implements WxOrderService { logger.error("couponOrder失败:" + e.getMessage(),e); throw new MallinkException(ErrorCode.COUPON_ORDER_SAVE_ERR.getCode(),"["+coupon.getTitle()+"]保存券订单错误."+e.getMessage()); } + try { + + } catch (Exception e) { + logger.error("同步订单失败:" + e.getMessage(),e); + } return record; } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java index ba31e3d9b..451d5f70f 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java @@ -81,6 +81,16 @@ public interface PayAdapterService { * @throws Exception */ public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record,WxPayAccount payAccount) throws Exception; + + /** + * API 订单同步 + * @param appInfo + * @param record + * @param payAccount + * @return + * @throws Exception + */ + public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record,WxPayAccount payAccount) throws Exception; /** * 获取二维码 diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java index 0d8a14ff4..397c9748a 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/miniApp/TtMiniAppPayAdapterService.java @@ -82,6 +82,11 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen return super.payOrderReverse(appInfo, record, payAccount); } + @Override + public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { + return null; + } + @Override public File getQrcode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws Exception{ return super.getQrCode(appinfo, pageUrl, type, sceneParam); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/h5/WxH5PayService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/h5/WxH5PayService.java index ac81dfbbd..7bffb6623 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/h5/WxH5PayService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/h5/WxH5PayService.java @@ -60,6 +60,11 @@ public class WxH5PayService extends BaseWxPayAdapterService implements CDriving return null; } + @Override + public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { + return null; + } + @Override public File getQrcode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws Exception{ // TODO Auto-generated method stub diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/appPay/WxMiniAppPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/appPay/WxMiniAppPayAdapterService.java index 398371659..fec9dd343 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/appPay/WxMiniAppPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/appPay/WxMiniAppPayAdapterService.java @@ -268,7 +268,12 @@ public class WxMiniAppPayAdapterService extends BaseWxPayAdapterService implemen return super.payOrderReverse(appInfo, record, payAccount); } - @Override + @Override + public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { + return null; + } + + @Override public File getQrcode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws Exception{ return super.getQrCode(appinfo, pageUrl, type, sceneParam); } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java index 828cd435e..9c7b313e2 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/miniApp/maPay/WxMiniMaPayAdapterService.java @@ -255,7 +255,12 @@ public class WxMiniMaPayAdapterService extends BaseWxPayAdapterService implement return super.payOrderReverse(appInfo, record, payAccount); } - @Override + @Override + public PayAdapterResult payOrderPush(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) throws Exception { + return null; + } + + @Override public File getQrcode(WxAppinfo appinfo,String pageUrl,int type,String sceneParam) throws Exception { return super.getQrCode(appinfo, pageUrl, type, sceneParam); } diff --git a/mallinkService/src/main/resources/mapper/WxPayOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxPayOrderMapper.xml index 27afcea12..ffc2009fa 100644 --- a/mallinkService/src/main/resources/mapper/WxPayOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPayOrderMapper.xml @@ -9,6 +9,7 @@ + @@ -34,7 +35,7 @@ - `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`order_id`,`c_user_id`,`b_user_id`, + `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`order_id`,`c_user_id`,`open_id`,`b_user_id`, `auth_code`,`ip`,`pay_amount`,`pay_time_start`,`pay_time_end`, `prepay_id`,`transaction_id`,`pay_vendor`,`pay_order_no`, `pay_order_status`,`share`,`share_amount`,`rate_amount`,`fail_reason`, @@ -72,6 +73,10 @@ and `c_user_id` = #{cUserId} + + and `open_id` = #{openId} + + and `b_user_id` = #{bUserId} @@ -203,6 +208,7 @@ + @@ -219,17 +225,15 @@ - - p.`id`,p.`tenant_id`,p.`parent_tenant_id`,p.`create_time`,p.`update_time`,p.`order_id`,p.`c_user_id`,p.`b_user_id`, + p.`id`,p.`tenant_id`,p.`parent_tenant_id`,p.`create_time`,p.`update_time`,p.`order_id`,p.`c_user_id`,p.`open_id`,p.`b_user_id`, p.`auth_code`,p.`ip`,p.`pay_amount`,p.`pay_time_start`,p.`pay_time_end`, p.`prepay_id`,p.`transaction_id`,p.`pay_vendor`,p.`pay_order_no`, p.`pay_order_status`,p.`share`,p.`share_amount`,p.`rate_amount`,p.`fail_reason`, - u.`open_id`, a.`app_id`, a.`pay_id` @@ -237,9 +241,8 @@ select from wx_pay_order p - left join wx_c_user u on p.`c_user_id` = u.`id` left join wx_appinfo a on a.`tenant_id` = p.`tenant_id` and a.`type` = 2 - where p.`pay_order_status` = '1' and p.`pay_vendor` = 0 and u.`union_id` is null + where p.`pay_order_status` = '1' and p.`pay_vendor` = 0 AND unix_timestamp(p.`pay_time_end`) > unix_timestamp(#{startDate,jdbcType=TIMESTAMP})