|
@@ -489,6 +489,7 @@ public class FsStorePaymentServiceImpl implements IFsStorePaymentService
|
|
|
try {
|
|
|
WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode());
|
|
|
openId = session.getOpenid();
|
|
|
+ logger.info("修改或新增openId:{},userId:{},appId:{}",session.getOpenid(),param.getUser().getUserId(),param.getAppId());
|
|
|
handleFsUserWx(param.getUser(),param.getAppId(),session);
|
|
|
} catch (WxErrorException e){
|
|
|
return R.error("openId获取失败," + e.getMessage());
|
|
@@ -519,26 +520,41 @@ public class FsStorePaymentServiceImpl implements IFsStorePaymentService
|
|
|
|
|
|
private void handleFsUserWx(FsUser user,String appId,WxMaJscode2SessionResult session) {
|
|
|
// 尝试更新
|
|
|
- boolean updated = fsUserWxService.lambdaUpdate()
|
|
|
- .eq(FsUserWx::getFsUserId, user.getUserId())
|
|
|
- .eq(FsUserWx::getAppId,appId )
|
|
|
- .eq(FsUserWx::getOpenId, session.getOpenid())
|
|
|
- .set(FsUserWx::getUnionId, session.getUnionid() == null ? "" : session.getUnionid())
|
|
|
- .set(FsUserWx::getUpdateTime, new Date())
|
|
|
- .update();
|
|
|
-
|
|
|
- // 如果更新失败(记录不存在),则插入
|
|
|
- if (!updated) {
|
|
|
- FsUserWx fsUserWx = new FsUserWx();
|
|
|
- fsUserWx.setType(1);
|
|
|
- fsUserWx.setFsUserId(user.getUserId());
|
|
|
- fsUserWx.setAppId(appId);
|
|
|
- fsUserWx.setOpenId(session.getOpenid());
|
|
|
- fsUserWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid());
|
|
|
- fsUserWx.setCreateTime(new Date());
|
|
|
- fsUserWx.setUpdateTime(new Date());
|
|
|
- fsUserWxService.save(fsUserWx);
|
|
|
+ FsUserWx userWx = fsUserWxService.selectByAppIdAndUserId(appId,user.getUserId(),1);
|
|
|
+ if (userWx!=null && !userWx.getOpenId().equals(session.getOpenid())){
|
|
|
+ userWx.setOpenId(session.getOpenid());
|
|
|
+ fsUserWxService.updateById(userWx);
|
|
|
+ }else {
|
|
|
+ userWx = new FsUserWx();
|
|
|
+ userWx.setType(1);
|
|
|
+ userWx.setFsUserId(user.getUserId());
|
|
|
+ userWx.setAppId(appId);
|
|
|
+ userWx.setOpenId(session.getOpenid());
|
|
|
+ userWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid());
|
|
|
+ userWx.setCreateTime(new Date());
|
|
|
+ userWx.setUpdateTime(new Date());
|
|
|
+ fsUserWxService.save(userWx);
|
|
|
}
|
|
|
+// boolean updated = fsUserWxService.lambdaUpdate()
|
|
|
+// .eq(FsUserWx::getFsUserId, user.getUserId())
|
|
|
+// .eq(FsUserWx::getAppId,appId )
|
|
|
+// .eq(FsUserWx::getOpenId, session.getOpenid())
|
|
|
+// .set(FsUserWx::getUnionId, session.getUnionid() == null ? "" : session.getUnionid())
|
|
|
+// .set(FsUserWx::getUpdateTime, new Date())
|
|
|
+// .update();
|
|
|
+//
|
|
|
+// // 如果更新失败(记录不存在),则插入
|
|
|
+// if (!updated) {
|
|
|
+// FsUserWx fsUserWx = new FsUserWx();
|
|
|
+// fsUserWx.setType(1);
|
|
|
+// fsUserWx.setFsUserId(user.getUserId());
|
|
|
+// fsUserWx.setAppId(appId);
|
|
|
+// fsUserWx.setOpenId(session.getOpenid());
|
|
|
+// fsUserWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid());
|
|
|
+// fsUserWx.setCreateTime(new Date());
|
|
|
+// fsUserWx.setUpdateTime(new Date());
|
|
|
+// fsUserWxService.save(fsUserWx);
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
|