数据同步
This commit is contained in:
parent
dbef829b38
commit
98f34bed3a
@ -342,6 +342,16 @@ public class AccountController {
|
|||||||
return accountUserBaseService.saveOrUpdate(accountUserBase);
|
return accountUserBaseService.saveOrUpdate(accountUserBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/saveOrUpdateUserBase2", method = RequestMethod.POST)
|
||||||
|
public AccountUserBase saveOrUpdateUserBase2(@RequestBody AccountUserBase accountUserBase) {
|
||||||
|
return accountUserBaseService.saveOrUpdate2(accountUserBase).getSecond();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/existByNickname", method = RequestMethod.POST)
|
||||||
|
public Boolean existByNickname(@RequestParam(name = "nickname") String nickname, @RequestParam(name = "storeId") String storeId) {
|
||||||
|
return accountUserBaseService.existByNickname(nickname, storeId);
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/editPassword", method = RequestMethod.POST)
|
@RequestMapping(value = "/editPassword", method = RequestMethod.POST)
|
||||||
public CommonResult editPassword(@RequestParam(name = "user_id") Integer user_id,
|
public CommonResult editPassword(@RequestParam(name = "user_id") Integer user_id,
|
||||||
@RequestParam(name = "user_password") String user_password) {
|
@RequestParam(name = "user_password") String user_password) {
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.suisung.mall.common.api.CommonResult;
|
|||||||
import com.suisung.mall.common.domain.UserDto;
|
import com.suisung.mall.common.domain.UserDto;
|
||||||
import com.suisung.mall.common.modules.account.AccountUserBase;
|
import com.suisung.mall.common.modules.account.AccountUserBase;
|
||||||
import com.suisung.mall.core.web.service.IBaseService;
|
import com.suisung.mall.core.web.service.IBaseService;
|
||||||
|
import org.springframework.data.util.Pair;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -143,4 +144,14 @@ public interface AccountUserBaseService extends IBaseService<AccountUserBase> {
|
|||||||
void callbackGoogle(HttpServletResponse response, String code);
|
void callbackGoogle(HttpServletResponse response, String code);
|
||||||
|
|
||||||
boolean changePassword(String old_password, String password);
|
boolean changePassword(String old_password, String password);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断店铺某个昵称是否存在
|
||||||
|
* @param nickname
|
||||||
|
* @param storeId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Boolean existByNickname(String nickname, String storeId);
|
||||||
|
|
||||||
|
Pair<Boolean, AccountUserBase> saveOrUpdate2(AccountUserBase entity);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,8 +11,13 @@ import cn.hutool.crypto.SecureUtil;
|
|||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.TableInfo;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.google.api.client.auth.oauth2.AuthorizationCodeFlow;
|
import com.google.api.client.auth.oauth2.AuthorizationCodeFlow;
|
||||||
import com.google.api.client.auth.oauth2.AuthorizationCodeRequestUrl;
|
import com.google.api.client.auth.oauth2.AuthorizationCodeRequestUrl;
|
||||||
@ -54,11 +59,13 @@ import com.suisung.mall.common.utils.pojo.dto.EmailDTO;
|
|||||||
import com.suisung.mall.core.web.service.CloundService;
|
import com.suisung.mall.core.web.service.CloundService;
|
||||||
import com.suisung.mall.core.web.service.RedisService;
|
import com.suisung.mall.core.web.service.RedisService;
|
||||||
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
||||||
|
import com.sun.javafx.geom.ConcentricShapePair;
|
||||||
import io.seata.common.util.StringUtils;
|
import io.seata.common.util.StringUtils;
|
||||||
import io.seata.spring.annotation.GlobalTransactional;
|
import io.seata.spring.annotation.GlobalTransactional;
|
||||||
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;
|
||||||
|
import org.springframework.data.util.Pair;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -2935,4 +2942,39 @@ public class AccountUserBaseServiceImpl extends BaseServiceImpl<AccountUserBaseM
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断店铺某个昵称是否存在
|
||||||
|
*
|
||||||
|
* @param nickname
|
||||||
|
* @param storeId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean existByNickname(String nickname, String storeId) {
|
||||||
|
if (StrUtil.isBlank(nickname)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
LambdaQueryWrapper<AccountUserBase> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(AccountUserBase::getUser_nickname, nickname);
|
||||||
|
queryWrapper.eq(AccountUserBase::getStore_ids, storeId);
|
||||||
|
return count(queryWrapper) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Pair<Boolean, AccountUserBase> saveOrUpdate2(AccountUserBase entity) {
|
||||||
|
Boolean flag = false;
|
||||||
|
if (null != entity) {
|
||||||
|
Class<?> cls = entity.getClass();
|
||||||
|
TableInfo tableInfo = TableInfoHelper.getTableInfo(cls);
|
||||||
|
Assert.notNull(tableInfo, "error: can not execute. because can not find cache of TableInfo for entity!", new Object[0]);
|
||||||
|
String keyProperty = tableInfo.getKeyProperty();
|
||||||
|
Assert.notEmpty(keyProperty, "error: can not execute. because can not find column for id from entity!", new Object[0]);
|
||||||
|
Object idVal = ReflectionKit.getFieldValue(entity, tableInfo.getKeyProperty());
|
||||||
|
flag = !com.baomidou.mybatisplus.core.toolkit.StringUtils.checkValNull(idVal) && !Objects.isNull(this.getById((Serializable)idVal)) ? this.edit(entity) : this.add(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Pair.of(flag, entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,10 +4,7 @@ import com.suisung.mall.common.api.CommonResult;
|
|||||||
import com.suisung.mall.common.modules.account.*;
|
import com.suisung.mall.common.modules.account.*;
|
||||||
import com.suisung.mall.common.pojo.output.TimelineOutput;
|
import com.suisung.mall.common.pojo.output.TimelineOutput;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -134,6 +131,18 @@ public interface AccountService {
|
|||||||
@PostMapping(value = "/admin/account/accountController/saveOrUpdateUserBase")
|
@PostMapping(value = "/admin/account/accountController/saveOrUpdateUserBase")
|
||||||
boolean saveOrUpdateUserBase(@RequestBody AccountUserBase accountUserBase);
|
boolean saveOrUpdateUserBase(@RequestBody AccountUserBase accountUserBase);
|
||||||
|
|
||||||
|
@RequestMapping(value = "/admin/account/accountController/saveOrUpdateUserBase2", method = RequestMethod.POST)
|
||||||
|
AccountUserBase saveOrUpdateUserBase2(@RequestBody AccountUserBase accountUserBase);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断一个店铺是否存在某个昵称的会员
|
||||||
|
* @param nickname
|
||||||
|
* @param storeId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping(value = "/admin/account/accountController/existByNickname")
|
||||||
|
boolean existByNickname(@RequestParam(name = "nickname") String nickname, @RequestParam(name = "storeId") String storeId);
|
||||||
|
|
||||||
@PostMapping(value = "/admin/account/accountController/editPassword")
|
@PostMapping(value = "/admin/account/accountController/editPassword")
|
||||||
CommonResult editPassword(@RequestParam(name = "user_id") Integer user_id,
|
CommonResult editPassword(@RequestParam(name = "user_id") Integer user_id,
|
||||||
@RequestParam(name = "user_password") String user_password);
|
@RequestParam(name = "user_password") String user_password);
|
||||||
|
|||||||
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
|
||||||
|
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
|
||||||
|
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
|
||||||
|
* Vestibulum commodo. Ut rhoncus gravida arcu.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.suisung.mall.common.pojo.res;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 微信场景下返回acc_resp_fields域
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class PayAccRespFieldsRes implements Serializable {
|
||||||
|
private String prepay_id;
|
||||||
|
private String pay_sign;
|
||||||
|
private String app_id;
|
||||||
|
private String time_stamp;
|
||||||
|
private String nonce_str;
|
||||||
|
@JsonProperty("package")
|
||||||
|
private String pkg;
|
||||||
|
private String sign_type;
|
||||||
|
private String partner_id;
|
||||||
|
private String sub_mch_id;
|
||||||
|
private String code_image;
|
||||||
|
private String code;
|
||||||
|
private String redirect_url;
|
||||||
|
private String best_pay_info;
|
||||||
|
}
|
||||||
@ -9,11 +9,34 @@
|
|||||||
package com.suisung.mall.pay.service;
|
package com.suisung.mall.pay.service;
|
||||||
|
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.suisung.mall.common.pojo.res.PayAccRespFieldsRes;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
public interface LakalaService {
|
public interface LakalaService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化拉卡拉支付参数
|
||||||
|
*/
|
||||||
|
void doInit();
|
||||||
|
|
||||||
JSONObject transPreOrder(HttpServletRequest request, HttpServletResponse response, String orderId);
|
JSONObject transPreOrder(HttpServletRequest request, HttpServletResponse response, String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉卡拉预下单
|
||||||
|
*
|
||||||
|
* @param merchantNo 商户号
|
||||||
|
* @param termNo 终端号
|
||||||
|
* @param xcxAppId 小程序appid
|
||||||
|
* @param openId openid
|
||||||
|
* @param orderId 订单号
|
||||||
|
* @param subject 订单标题
|
||||||
|
* @param totalAmount 订单金额
|
||||||
|
* @param notifyURL 回调地址
|
||||||
|
* @param requestIP 请求ip
|
||||||
|
* @param remark 备注
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
PayAccRespFieldsRes transPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
package com.suisung.mall.pay.service.impl;
|
package com.suisung.mall.pay.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.ijpay.core.kit.IpKit;
|
import com.ijpay.core.kit.IpKit;
|
||||||
import com.lkl.laop.sdk.Config2;
|
import com.lkl.laop.sdk.Config2;
|
||||||
@ -18,6 +19,8 @@ import com.lkl.laop.sdk.request.V3LabsTransPreorderRequest;
|
|||||||
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
|
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
|
||||||
import com.lkl.laop.sdk.request.model.V3LabsTradePreorderWechatBus;
|
import com.lkl.laop.sdk.request.model.V3LabsTradePreorderWechatBus;
|
||||||
import com.suisung.mall.common.exception.ApiException;
|
import com.suisung.mall.common.exception.ApiException;
|
||||||
|
import com.suisung.mall.common.pojo.res.PayAccRespFieldsRes;
|
||||||
|
import com.suisung.mall.common.utils.I18nUtil;
|
||||||
import com.suisung.mall.pay.service.LakalaService;
|
import com.suisung.mall.pay.service.LakalaService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@ -154,7 +157,77 @@ public class LakalaServiceImpl implements LakalaService {
|
|||||||
return JSONUtil.parseObj(responseStr);
|
return JSONUtil.parseObj(responseStr);
|
||||||
} catch (SDKException e) {
|
} catch (SDKException e) {
|
||||||
log.error("transPreOrder error", e);
|
log.error("transPreOrder error", e);
|
||||||
throw new ApiException("支付失败:",e);
|
throw new ApiException(I18nUtil._("获取公众号绑定信息失败!"), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉卡拉预下单
|
||||||
|
*
|
||||||
|
* @param merchantNo 商户号
|
||||||
|
* @param termNo 终端号
|
||||||
|
* @param xcxAppId 小程序appid
|
||||||
|
* @param openId openid
|
||||||
|
* @param orderId 订单号
|
||||||
|
* @param subject 订单标题
|
||||||
|
* @param totalAmount 订单金额
|
||||||
|
* @param notifyURL 回调地址
|
||||||
|
* @param requestIP 请求ip
|
||||||
|
* @param remark 备注
|
||||||
|
* @return
|
||||||
|
* */
|
||||||
|
@Override
|
||||||
|
public PayAccRespFieldsRes transPreOrder(String merchantNo, String termNo, String xcxAppId, String openId, String orderId, String subject, String totalAmount, String notifyURL, String requestIP, String remark) {
|
||||||
|
// 1. 配置初始化
|
||||||
|
doInit();
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(merchantNo)) {
|
||||||
|
merchantNo = this.merchantNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(termNo)) {
|
||||||
|
termNo = this.termNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
//2. 装配数据
|
||||||
|
/*** 微信主扫场景示例 */
|
||||||
|
V3LabsTransPreorderRequest v3LabsTransPreorderWechatReq = new V3LabsTransPreorderRequest();
|
||||||
|
v3LabsTransPreorderWechatReq.setMerchantNo(merchantNo);
|
||||||
|
v3LabsTransPreorderWechatReq.setTermNo(termNo);
|
||||||
|
v3LabsTransPreorderWechatReq.setOutTradeNo(orderId);
|
||||||
|
v3LabsTransPreorderWechatReq.setSubject(subject);
|
||||||
|
//微信:WECHAT 支付宝:ALIPAY 银联:UQRCODEPAY 翼支付: BESTPAY 苏宁易付宝: SUNING 拉卡拉支付账户:LKLACC 网联小钱包:NUCSPAY 京东钱包:JD
|
||||||
|
v3LabsTransPreorderWechatReq.setAccountType("WECHAT");
|
||||||
|
// 41:NATIVE((ALIPAY,云闪付支持,京东白条分期)51:JSAPI(微信公众号支付,支付宝服务窗支付,银联JS支付,翼支付JS支付、拉卡拉钱包支付)71:微信小程序支付 61:APP支付(微信APP支付)
|
||||||
|
v3LabsTransPreorderWechatReq.setTransType("51");
|
||||||
|
v3LabsTransPreorderWechatReq.setTotalAmount(totalAmount);
|
||||||
|
v3LabsTransPreorderWechatReq.setNotifyUrl(notifyURL);
|
||||||
|
v3LabsTransPreorderWechatReq.setRemark(remark);
|
||||||
|
|
||||||
|
//地址位置信息
|
||||||
|
V3LabsTradeLocationInfo v3LabsTradePreorderLocationInfo = new V3LabsTradeLocationInfo(requestIP);
|
||||||
|
v3LabsTransPreorderWechatReq.setLocationInfo(v3LabsTradePreorderLocationInfo);
|
||||||
|
|
||||||
|
//微信主扫场景下 acc_busi_fields 域内容
|
||||||
|
V3LabsTradePreorderWechatBus wechatBus = new V3LabsTradePreorderWechatBus();
|
||||||
|
wechatBus.setSubAppid(xcxAppId); // 小程序appId
|
||||||
|
wechatBus.setUserId(openId); // 微信 openId
|
||||||
|
v3LabsTransPreorderWechatReq.setAccBusiFields(wechatBus);
|
||||||
|
|
||||||
|
try {
|
||||||
|
//3. 发送请求
|
||||||
|
String responseStr = LKLSDK.httpPost(v3LabsTransPreorderWechatReq);
|
||||||
|
if (StrUtil.isBlank(responseStr)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
PayAccRespFieldsRes res = JSONUtil.parseObj(responseStr).get("acc_resp_fields", PayAccRespFieldsRes.class);
|
||||||
|
//4. 响应
|
||||||
|
return res;
|
||||||
|
} catch (SDKException e) {
|
||||||
|
log.error("拉卡拉支付出错:", e);
|
||||||
|
throw new ApiException(I18nUtil._("支付失败:"), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,6 @@ import com.ijpay.wxpay.WxPayApi;
|
|||||||
import com.ijpay.wxpay.WxPayApiConfig;
|
import com.ijpay.wxpay.WxPayApiConfig;
|
||||||
import com.ijpay.wxpay.WxPayApiConfigKit;
|
import com.ijpay.wxpay.WxPayApiConfigKit;
|
||||||
import com.ijpay.wxpay.enums.WxApiType;
|
import com.ijpay.wxpay.enums.WxApiType;
|
||||||
import com.ijpay.wxpay.enums.WxDomain;
|
|
||||||
import com.ijpay.wxpay.model.RefundModel;
|
import com.ijpay.wxpay.model.RefundModel;
|
||||||
import com.ijpay.wxpay.model.UnifiedOrderModel;
|
import com.ijpay.wxpay.model.UnifiedOrderModel;
|
||||||
import com.suisung.mall.common.api.*;
|
import com.suisung.mall.common.api.*;
|
||||||
@ -48,6 +47,7 @@ import com.suisung.mall.common.modules.order.ShopOrderInfo;
|
|||||||
import com.suisung.mall.common.modules.order.ShopOrderReturn;
|
import com.suisung.mall.common.modules.order.ShopOrderReturn;
|
||||||
import com.suisung.mall.common.modules.pay.*;
|
import com.suisung.mall.common.modules.pay.*;
|
||||||
import com.suisung.mall.common.modules.pay.dto.ItemActivityInfoDTO;
|
import com.suisung.mall.common.modules.pay.dto.ItemActivityInfoDTO;
|
||||||
|
import com.suisung.mall.common.pojo.res.PayAccRespFieldsRes;
|
||||||
import com.suisung.mall.common.utils.CheckUtil;
|
import com.suisung.mall.common.utils.CheckUtil;
|
||||||
import com.suisung.mall.common.utils.I18nUtil;
|
import com.suisung.mall.common.utils.I18nUtil;
|
||||||
import com.suisung.mall.common.utils.LogUtil;
|
import com.suisung.mall.common.utils.LogUtil;
|
||||||
@ -113,6 +113,8 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
private DataSourceTransactionManager transactionManager;
|
private DataSourceTransactionManager transactionManager;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TransactionDefinition transactionDefinition;
|
private TransactionDefinition transactionDefinition;
|
||||||
|
@Autowired
|
||||||
|
private LakalaService lakalaService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取支付密码
|
* 获取支付密码
|
||||||
@ -253,8 +255,8 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
trade_row.setTrade_title(I18nUtil._("在线购物"));
|
trade_row.setTrade_title(I18nUtil._("在线购物"));
|
||||||
trade_row.setTrade_desc(I18nUtil._("在线购物"));
|
trade_row.setTrade_desc(I18nUtil._("在线购物"));
|
||||||
}
|
}
|
||||||
// 重要注:去支付
|
// 注:去微信支付(重要)
|
||||||
toPay(request, response, trade_row, payTypeBean);
|
executeMultiChannelPayment(request, response, trade_row, payTypeBean);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
// 处理订单支付成功
|
// 处理订单支付成功
|
||||||
@ -385,12 +387,14 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付
|
* 多渠道支付
|
||||||
*
|
*
|
||||||
* @param trade_row
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @param trade_row 支付交易记录
|
||||||
|
* @param payTypeBean 支付类型实例
|
||||||
*/
|
*/
|
||||||
// todo 多种支付方式
|
private void executeMultiChannelPayment(HttpServletRequest request, HttpServletResponse response, PayConsumeTrade trade_row, PayTypeBean payTypeBean) {
|
||||||
private void toPay(HttpServletRequest request, HttpServletResponse response, PayConsumeTrade trade_row, PayTypeBean payTypeBean) {
|
|
||||||
|
|
||||||
Integer trade_is_paid = trade_row.getTrade_is_paid();
|
Integer trade_is_paid = trade_row.getTrade_is_paid();
|
||||||
if (ObjectUtil.equal(trade_is_paid, StateCode.ORDER_PAID_STATE_YES)) {
|
if (ObjectUtil.equal(trade_is_paid, StateCode.ORDER_PAID_STATE_YES)) {
|
||||||
@ -417,7 +421,7 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
aliPcPay(response, trade_row, payTypeBean);
|
aliPcPay(response, trade_row, payTypeBean);
|
||||||
break;
|
break;
|
||||||
case WX_XCX:
|
case WX_XCX:
|
||||||
// 小程序
|
// 小程序 appId
|
||||||
String wechat_xcx_app_id = accountBaseConfigService.getConfig("wechat_xcx_app_id");
|
String wechat_xcx_app_id = accountBaseConfigService.getConfig("wechat_xcx_app_id");
|
||||||
wxJSAPIPay(request, response, trade_row, payTypeBean.getOpenid(), wechat_xcx_app_id);
|
wxJSAPIPay(request, response, trade_row, payTypeBean.getOpenid(), wechat_xcx_app_id);
|
||||||
break;
|
break;
|
||||||
@ -562,6 +566,87 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
setResponseBody(response, data);
|
setResponseBody(response, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 拉卡拉第三方支付
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @param payConsumeTrade
|
||||||
|
* @param openId
|
||||||
|
* @param appId
|
||||||
|
*/
|
||||||
|
public void lakalaJSAPIPay(HttpServletRequest request, HttpServletResponse response, PayConsumeTrade payConsumeTrade, String openId, String appId) {
|
||||||
|
// 商户订单号
|
||||||
|
String out_trade_no = payConsumeTrade.getOrder_id();
|
||||||
|
String subject = payConsumeTrade.getTrade_title();
|
||||||
|
String trade_remark = ObjectUtil.defaultIfNull(payConsumeTrade.getTrade_remark(), "");
|
||||||
|
// 实际付款金额
|
||||||
|
String total_fee = StrUtil.toString(NumberUtil.mul(NumberUtil.round(payConsumeTrade.getTrade_payment_amount(), 2), 100).intValue());
|
||||||
|
// 微信支付配置值
|
||||||
|
WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig();
|
||||||
|
|
||||||
|
// https://mall.gpxscs.cn/mobile/pay/index
|
||||||
|
String domain = wxPayApiConfig.getDomain();
|
||||||
|
String requestIP = IpKit.getRealIp(request);
|
||||||
|
String notifyUrl = domain + "/wxPay_notify_url";
|
||||||
|
|
||||||
|
// 初始化拉卡拉支付配置
|
||||||
|
PayAccRespFieldsRes field = lakalaService.transPreOrder(null, null,
|
||||||
|
appId, openId, out_trade_no, subject, total_fee,
|
||||||
|
notifyUrl,
|
||||||
|
requestIP, trade_remark);
|
||||||
|
|
||||||
|
// 统一下单请求参数构建
|
||||||
|
Map<String, String> params = UnifiedOrderModel.builder()
|
||||||
|
.appid(field.getApp_id())
|
||||||
|
.mch_id(field.getSub_mch_id())
|
||||||
|
.openid(openId)
|
||||||
|
.out_trade_no(out_trade_no)
|
||||||
|
.total_fee(total_fee) // 订单总金额,单位为分
|
||||||
|
.notify_url(notifyUrl)
|
||||||
|
.trade_type(TradeType.JSAPI.getTradeType())
|
||||||
|
.spbill_create_ip(requestIP)
|
||||||
|
.time_start(DateUtil.format(new Date(), "yyyyMMddHHmmss"))
|
||||||
|
.nonce_str(field.getNonce_str())
|
||||||
|
.body(subject) // 商品描述
|
||||||
|
.goods_tag(trade_remark)// 订单优惠标记
|
||||||
|
.attach("") //自定义数据说明
|
||||||
|
.build()
|
||||||
|
.createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
|
||||||
|
|
||||||
|
String xmlResult = WxPayApi.pushOrder(false, params);
|
||||||
|
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
|
||||||
|
String returnCode = resultMap.get("return_code");
|
||||||
|
String returnMsg = resultMap.get("return_msg");
|
||||||
|
|
||||||
|
Map data = new HashMap();
|
||||||
|
data.put("code", 1);
|
||||||
|
data.put("data", new Object());
|
||||||
|
data.put("message", returnMsg);
|
||||||
|
|
||||||
|
if (!WxPayKit.codeIsOk(returnCode)) {
|
||||||
|
setResponseBody(response, data);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String resultCode = resultMap.get("result_code");
|
||||||
|
if (!WxPayKit.codeIsOk(resultCode)) {
|
||||||
|
setResponseBody(response, data);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 预支付订单 Id
|
||||||
|
String prepayId = resultMap.get("prepay_id");
|
||||||
|
Map<String, Object> packageParams = Convert.toMap(String.class, Object.class, WxPayKit.prepayIdCreateSign(prepayId, appId, wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256));
|
||||||
|
data.put("status", 200);
|
||||||
|
|
||||||
|
Map result = new HashMap();
|
||||||
|
result.put("data", packageParams);
|
||||||
|
result.put("statusCode", 200);
|
||||||
|
data.put("data", result);
|
||||||
|
setResponseBody(response, data);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置响应 body
|
* 设置响应 body
|
||||||
*
|
*
|
||||||
@ -578,7 +663,7 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
writer.close();
|
writer.close();
|
||||||
response.flushBuffer();
|
response.flushBuffer();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
logger.error("响应body数据IO异常!" + e.getMessage(), e);
|
logger.error("响应body数据IO异常:{}", e);
|
||||||
writer.close();
|
writer.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -24,7 +25,7 @@ import java.util.List;
|
|||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/shop/sync/third")
|
@RequestMapping("/shop/sync/third")
|
||||||
public class SyncThirdDataController {
|
public class SyncThirdDataController {
|
||||||
@Autowired
|
@Resource
|
||||||
private SyncThirdDataService syncThirdDataService;
|
private SyncThirdDataService syncThirdDataService;
|
||||||
|
|
||||||
|
|
||||||
@ -60,8 +61,8 @@ public class SyncThirdDataController {
|
|||||||
public ThirdApiRes syncGoods(HttpServletRequest request,
|
public ThirdApiRes syncGoods(HttpServletRequest request,
|
||||||
@RequestParam String appKey,
|
@RequestParam String appKey,
|
||||||
@RequestParam String sign,
|
@RequestParam String sign,
|
||||||
@RequestBody String reqBody) {
|
@RequestBody JSONArray goodsListJSON) {
|
||||||
return null;
|
return syncThirdDataService.saveOrUpdateGoodsBatch(appKey, sign, goodsListJSON);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "会员数据同步", notes = "会员数据同步")
|
@ApiOperation(value = "会员数据同步", notes = "会员数据同步")
|
||||||
@ -70,7 +71,7 @@ public class SyncThirdDataController {
|
|||||||
@RequestParam String appKey,
|
@RequestParam String appKey,
|
||||||
@RequestParam String sign,
|
@RequestParam String sign,
|
||||||
@RequestBody List<SyncThirdMemberReq> memberList) {
|
@RequestBody List<SyncThirdMemberReq> memberList) {
|
||||||
return null;
|
return syncThirdDataService.saveOrUpdateMemberBatch(appKey, sign, memberList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ public interface SyncThirdDataService {
|
|||||||
* @param categoryListJSON
|
* @param categoryListJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ThirdApiRes saveOrUpdateShopBaseProductCategoryBatch(String appId, String sign, JSONArray categoryListJSON);
|
ThirdApiRes saveOrUpdateShopBaseProductCategoryBatch(String appKey, String sign, JSONArray categoryListJSON);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量保存商品品牌记录
|
* 批量保存商品品牌记录
|
||||||
@ -30,19 +30,19 @@ public interface SyncThirdDataService {
|
|||||||
* @param brandListJSON
|
* @param brandListJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ThirdApiRes saveOrUpdateShopBaseProductBrandBatch(String appId, String sign, JSONArray brandListJSON);
|
ThirdApiRes saveOrUpdateShopBaseProductBrandBatch(String appKey, String sign, JSONArray brandListJSON);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量保存商品记录
|
* 批量保存商品记录
|
||||||
* @param goodsListJSON
|
* @param goodsListJSON
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ThirdApiRes saveOrUpdateGoodsBatch(String appId, String sign, JSONArray goodsListJSON);
|
ThirdApiRes saveOrUpdateGoodsBatch(String appKey, String sign, JSONArray goodsListJSON);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量保存会员记录
|
* 批量保存会员记录
|
||||||
* @param memberList
|
* @param memberList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ThirdApiRes saveOrUpdateMemberBatch(String appId, String sign, List<SyncThirdMemberReq> memberList);
|
ThirdApiRes saveOrUpdateMemberBatch(String appKey, String sign, List<SyncThirdMemberReq> memberList);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -92,13 +92,13 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ThirdApiRes saveOrUpdateShopBaseProductCategoryBatch(String appId, String sign, JSONArray categoryListJSON) {
|
public ThirdApiRes saveOrUpdateShopBaseProductCategoryBatch(String appKey, String sign, JSONArray categoryListJSON) {
|
||||||
if (StrUtil.isBlank(appId) || StrUtil.isBlank(sign) || ObjectUtil.isEmpty(categoryListJSON)) {
|
if (StrUtil.isBlank(appKey) || StrUtil.isBlank(sign) || ObjectUtil.isEmpty(categoryListJSON)) {
|
||||||
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验签、appid,必要参数判断
|
// 验签、appid,必要参数判断
|
||||||
SyncApp syncApp = syncAppService.checkAppSign(appId, sign, categoryListJSON.toString());
|
SyncApp syncApp = syncAppService.checkAppSign(appKey, sign, categoryListJSON.toString());
|
||||||
if (syncApp == null) {
|
if (syncApp == null) {
|
||||||
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
||||||
}
|
}
|
||||||
@ -179,13 +179,13 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ThirdApiRes saveOrUpdateShopBaseProductBrandBatch(String appId, String sign, JSONArray brandListJSON) {
|
public ThirdApiRes saveOrUpdateShopBaseProductBrandBatch(String appKey, String sign, JSONArray brandListJSON) {
|
||||||
if (StrUtil.isBlank(appId) || StrUtil.isBlank(sign) || ObjectUtil.isEmpty(brandListJSON)) {
|
if (StrUtil.isBlank(appKey) || StrUtil.isBlank(sign) || ObjectUtil.isEmpty(brandListJSON)) {
|
||||||
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验签、appid,必要参数判断
|
// 验签、appid,必要参数判断
|
||||||
SyncApp syncApp = syncAppService.checkAppSign(appId, sign, brandListJSON.toString());
|
SyncApp syncApp = syncAppService.checkAppSign(appKey, sign, brandListJSON.toString());
|
||||||
if (syncApp == null) {
|
if (syncApp == null) {
|
||||||
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
||||||
}
|
}
|
||||||
@ -230,23 +230,18 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ThirdApiRes saveOrUpdateGoodsBatch(String appId, String sign, JSONArray goodsListJSON) {
|
public ThirdApiRes saveOrUpdateGoodsBatch(String appKey, String sign, JSONArray goodsListJSON) {
|
||||||
if (StrUtil.isBlank(appId) || StrUtil.isBlank(sign) || ObjectUtil.isEmpty(goodsListJSON)) {
|
if (StrUtil.isBlank(appKey) || StrUtil.isBlank(sign) || ObjectUtil.isEmpty(goodsListJSON)) {
|
||||||
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验签、appid,必要参数判断
|
// 验签、appid,必要参数判断
|
||||||
SyncApp syncApp = syncAppService.checkAppSign(appId, sign, goodsListJSON.toString());
|
SyncApp syncApp = syncAppService.checkAppSign(appKey, sign, goodsListJSON.toString());
|
||||||
if (syncApp == null) {
|
if (syncApp == null) {
|
||||||
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
||||||
}
|
}
|
||||||
String storeId = syncApp.getStore_id();
|
String storeId = syncApp.getStore_id();
|
||||||
|
|
||||||
List<ShopBaseProductBrand> goodBrandList = JSONUtil.toList(goodsListJSON, ShopBaseProductBrand.class);
|
|
||||||
if (goodBrandList == null) {
|
|
||||||
return new ThirdApiRes().fail(1004, I18nUtil._("请求参数有误!"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (goodsListJSON.size() > limitCnt) {
|
if (goodsListJSON.size() > limitCnt) {
|
||||||
return new ThirdApiRes().fail(1004, I18nUtil._("单次同步记录最多" + limitCnt + "条!"));
|
return new ThirdApiRes().fail(1004, I18nUtil._("单次同步记录最多" + limitCnt + "条!"));
|
||||||
}
|
}
|
||||||
@ -279,7 +274,6 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
shopProductBase.setProduct_from(1005);// 商品来源(ENUM):1000-发布;1001-天猫;1002-淘宝;1003-阿里巴巴;1004-京东;1005-思迅;
|
shopProductBase.setProduct_from(1005);// 商品来源(ENUM):1000-发布;1001-天猫;1002-淘宝;1003-阿里巴巴;1004-京东;1005-思迅;
|
||||||
shopProductBase.setProduct_add_time(currentDate.getTime());
|
shopProductBase.setProduct_add_time(currentDate.getTime());
|
||||||
|
|
||||||
|
|
||||||
// ShopProductIndex
|
// ShopProductIndex
|
||||||
ShopProductIndex shopProductIndex = new ShopProductIndex();
|
ShopProductIndex shopProductIndex = new ShopProductIndex();
|
||||||
shopProductIndex.setProduct_add_time(currentDate.getTime());
|
shopProductIndex.setProduct_add_time(currentDate.getTime());
|
||||||
@ -372,19 +366,18 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ThirdApiRes saveOrUpdateMemberBatch(String appId, String sign, List<SyncThirdMemberReq> memberList) {
|
public ThirdApiRes saveOrUpdateMemberBatch(String appKey, String sign, List<SyncThirdMemberReq> memberList) {
|
||||||
if (StrUtil.isBlank(appId) || StrUtil.isBlank(sign) || CollUtil.isEmpty(memberList)) {
|
if (StrUtil.isBlank(appKey) || StrUtil.isBlank(sign) || CollUtil.isEmpty(memberList)) {
|
||||||
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
return new ThirdApiRes().fail(1003, I18nUtil._("缺少必要参数!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验签、appid,必要参数判断
|
// 验签、appid,必要参数判断
|
||||||
SyncApp syncApp = syncAppService.checkAppSign(appId, sign, JSONUtil.toJsonStr(memberList));
|
SyncApp syncApp = syncAppService.checkAppSign(appKey, sign, JSONUtil.toJsonStr(memberList));
|
||||||
if (syncApp == null) {
|
if (syncApp == null) {
|
||||||
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
return new ThirdApiRes().fail(1001, I18nUtil._("签名有误!"));
|
||||||
}
|
}
|
||||||
String storeId = syncApp.getStore_id();
|
String storeId = syncApp.getStore_id();
|
||||||
|
|
||||||
|
|
||||||
if (memberList.size() > limitCnt) {
|
if (memberList.size() > limitCnt) {
|
||||||
return new ThirdApiRes().fail(1004, I18nUtil._("单次同步记录最多" + limitCnt + "条!"));
|
return new ThirdApiRes().fail(1004, I18nUtil._("单次同步记录最多" + limitCnt + "条!"));
|
||||||
}
|
}
|
||||||
@ -398,9 +391,10 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
accountUserBase.setUser_state(2);// 状态(ENUM):0-锁定;1-未激活;2-已激活;
|
accountUserBase.setUser_state(2);// 状态(ENUM):0-锁定;1-未激活;2-已激活;
|
||||||
accountUserBase.setUser_is_admin(0);
|
accountUserBase.setUser_is_admin(0);
|
||||||
accountUserBase.setStore_ids(storeId);
|
accountUserBase.setStore_ids(storeId);
|
||||||
accountUserBase.setRights_group_id("0");// 普通用户
|
accountUserBase.setRights_group_id("0");// 普通用户,不是商家
|
||||||
accountUserBase.setUser_type("0");
|
accountUserBase.setUser_type("0");
|
||||||
|
|
||||||
|
// 默认给了随机密码和盐,token
|
||||||
String user_key = IdUtil.simpleUUID();
|
String user_key = IdUtil.simpleUUID();
|
||||||
String user_salt = IdUtil.simpleUUID();
|
String user_salt = IdUtil.simpleUUID();
|
||||||
String user_token = IdUtil.simpleUUID();
|
String user_token = IdUtil.simpleUUID();
|
||||||
@ -409,9 +403,19 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
accountUserBase.setUser_key(user_key);
|
accountUserBase.setUser_key(user_key);
|
||||||
accountUserBase.setUser_password(SecureUtil.md5(user_salt + SecureUtil.md5(IdUtil.simpleUUID())));
|
accountUserBase.setUser_password(SecureUtil.md5(user_salt + SecureUtil.md5(IdUtil.simpleUUID())));
|
||||||
|
|
||||||
Boolean success = accountService.saveOrUpdateUserBase(accountUserBase);
|
// 判断店铺是不是存在该昵称的会员了?
|
||||||
|
Boolean exists = accountService.existByNickname(member.getUser_nickname(), storeId);
|
||||||
|
if (exists) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
Integer userId = accountUserBase.getUser_id();
|
AccountUserBase accountUserBase2 = accountService.saveOrUpdateUserBase2(accountUserBase);
|
||||||
|
|
||||||
|
// 新增用户记录后,不知道有没有返回 userId ?
|
||||||
|
Integer userId = accountUserBase2.getUser_id();
|
||||||
|
if(userId==null || userId<=0){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// account_user_info
|
// account_user_info
|
||||||
AccountUserInfo accountUserInfo = new AccountUserInfo();
|
AccountUserInfo accountUserInfo = new AccountUserInfo();
|
||||||
@ -425,7 +429,7 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService {
|
|||||||
accountUserInfo.setUser_mobile(member.getUser_mobile());
|
accountUserInfo.setUser_mobile(member.getUser_mobile());
|
||||||
accountUserInfo.setUser_intl(CommonConstant.IDD_ZH_CN);
|
accountUserInfo.setUser_intl(CommonConstant.IDD_ZH_CN);
|
||||||
accountUserInfo.setUser_birthday(DateTimeUtils.parseDate(member.getUser_birthday(), "yyyy-MM-dd"));
|
accountUserInfo.setUser_birthday(DateTimeUtils.parseDate(member.getUser_birthday(), "yyyy-MM-dd"));
|
||||||
success = accountService.saveOrUpdateUserInfo(accountUserInfo);
|
boolean success = accountService.saveOrUpdateUserInfo(accountUserInfo);
|
||||||
|
|
||||||
if (member.getUser_money() != null || member.getUser_points() != null) {
|
if (member.getUser_money() != null || member.getUser_points() != null) {
|
||||||
// 用户支付资源,积分,余额
|
// 用户支付资源,积分,余额
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user