Преглед изворни кода

分享

release_toaliyun_real
xhxu пре 5 година
родитељ
комит
48d2f9b79a
8 измењених фајлова са 86 додато и 45 уклоњено
  1. +43
    -18
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCUserFrom.java
  3. +2
    -9
      mallinkService/src/main/java/com/iformall/domain/po/msg/FmInsideCLoginMsg.java
  4. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxCUserFromService.java
  5. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxCUserService.java
  6. +13
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserFromServiceImpl.java
  7. +5
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java
  8. +18
    -9
      mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideCLoginMsgServiceImpl.java

+ 43
- 18
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Прегледај датотеку

@@ -146,13 +146,43 @@ public class WxUserGrantController extends BaseController {

Map resultMap = new HashMap();

WxCUserFrom wxCUserFrom = new WxCUserFrom();

String appId = map.get("appId");
String code = map.get("code");
String sceneAddress = map.get("sceneAddress");
String scene = map.get("scene");

if (StringUtils.isNotBlank(scene) &&
!scene.equals(Constant.UNDEFINED)) { // from pages/index/index onLoad.options.scene
wxCUserFrom.setScene(scene);
}
if (StringUtils.isNotBlank(sceneAddress) &&
!sceneAddress.equalsIgnoreCase(Constant.UNDEFINED)) { // from app.js onLaunch.options.scene
wxCUserFrom.setSceneAddress(sceneAddress);
}

String longitude = map.get("longitude");
String latitude = map.get("latitude");
String systemInfo = map.get("systemInfo");

try {
String basicUserId = map.get("basicUserId");
String merchantId = map.get("merchantId");
if(StringUtils.isNotBlank(basicUserId)){
wxCUserFrom.setFromType(EnumCUserFrom.FROM_C_USER_BASIC_INFO.getCode());
wxCUserFrom.setFromId(Long.parseLong(basicUserId));
}else if(StringUtils.isNotBlank(merchantId)){
wxCUserFrom.setFromType(EnumCUserFrom.FROM_MERCHANT.getCode());
wxCUserFrom.setFromId(Long.parseLong(basicUserId));
}else{

}
} catch (NumberFormatException e) {
logger.error("分享参数错误",e);
}


//登录凭证不能为空
if (StringUtils.isBlank(appId)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "appId不能为空");
@@ -187,6 +217,7 @@ public class WxUserGrantController extends BaseController {
if(wxMall == null){
return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND);
}
wxCUserFrom.updateTenantInfo(wxMall);
resultMap.put("selectedMall", wxMall.getTenantId());

// 集团版,获取子集团list
@@ -272,17 +303,11 @@ public class WxUserGrantController extends BaseController {
oldUser.setAppId(appId);
oldUser.setOpenId(openId);
oldUser.setUnionId(unionId);

if (StringUtils.isNotBlank(wxAuthorizerInfo.getOpenAppid())) {
oldUser.setOpenAppId(wxAuthorizerInfo.getOpenAppid());
}
if (StringUtils.isBlank(oldUser.getSceneAddress()) ||
oldUser.getSceneAddress().equalsIgnoreCase(Constant.UNDEFINED)) { // from app.js onLaunch.options.scene
oldUser.setSceneAddress(sceneAddress);
}
if (StringUtils.isBlank(oldUser.getScene()) ||
oldUser.getScene().equals(Constant.UNDEFINED)) { // from pages/index/index onLoad.options.scene
oldUser.setScene(scene);
}

if (StringUtils.isNotBlank(longitude)) {
oldUser.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
}
@@ -302,8 +327,11 @@ public class WxUserGrantController extends BaseController {
request.setAttribute(Constant.LOGIN_USER_KEY, oldUser.getId());

updateCacheCUser(token, oldUser);

// 登录后处理
wxCUserService.actionMsgAfterLogin(oldUser);
wxCUserFrom.setCUserId(oldUser.getId());
wxCUserFrom.setIsNewUser(EnumYesOrNo.NO.getCode());
wxCUserService.actionMsgAfterLogin(wxCUserFrom);

} else {
// 新用户
@@ -315,14 +343,9 @@ public class WxUserGrantController extends BaseController {
resultMap.put("token", token);

newUser.setRegisterIp(ipaddress);
if (StringUtils.isNotBlank(sceneAddress) &&
!sceneAddress.equalsIgnoreCase(Constant.UNDEFINED)) { // from app.js onLaunch.options.scene
newUser.setSceneAddress(sceneAddress);
}
if (StringUtils.isNotBlank(scene) &&
!scene.equals(Constant.UNDEFINED)) { // from pages/index/index onLoad.options.scene
newUser.setScene(scene);
}
newUser.setSceneAddress(wxCUserFrom.getSceneAddress());
newUser.setScene(wxCUserFrom.getScene());

newUser.setSessionKey(session_key);
if (StringUtils.isNotBlank(longitude)) {
newUser.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
@@ -343,7 +366,9 @@ public class WxUserGrantController extends BaseController {

updateCacheCUser(token, newUser);
// 登录后处理
wxCUserService.actionMsgAfterLogin(newUser);
wxCUserFrom.setCUserId(newUser.getId());
wxCUserFrom.setIsNewUser(EnumYesOrNo.YES.getCode());
wxCUserService.actionMsgAfterLogin(wxCUserFrom);

}


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCUserFrom.java Прегледај датотеку

@@ -20,6 +20,8 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = true)
public class WxCUserFrom extends TenantEntity {

protected Long id;

@io.swagger.annotations.ApiModelProperty(value="cUserId",name="cUserId")
protected Long cUserId;
@TableField(exist = false)


+ 2
- 9
mallinkService/src/main/java/com/iformall/domain/po/msg/FmInsideCLoginMsg.java Прегледај датотеку

@@ -1,5 +1,6 @@
package com.iformall.domain.po.msg;

import com.iformall.domain.po.WxCUserFrom;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
@@ -11,15 +12,7 @@ public class FmInsideCLoginMsg extends BaseMsg{

private static final long serialVersionUID = 1L;

@io.swagger.annotations.ApiModelProperty(value = "id", name = "id")
private Long id;

@io.swagger.annotations.ApiModelProperty(value = "租户ID", name = "tenantId")
private String tenantId;
@io.swagger.annotations.ApiModelProperty(value="父租户id",name="parentTenantId")
private String parentTenantId;
@io.swagger.annotations.ApiModelProperty(value = "用户ID", name = "userId")
private Long userId;
private WxCUserFrom wxCUserFrom;


}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxCUserFromService.java Прегледај датотеку

@@ -16,4 +16,5 @@ public interface WxCUserFromService {
PageInfo<WxCUserFrom> listAsPage(WxCUserFrom record, Integer pageIndex, Integer pageSize);


void save(WxCUserFrom wxCUserFrom);
}

+ 2
- 1
mallinkService/src/main/java/com/iformall/service/WxCUserService.java Прегледај датотеку

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.WxAuthorizerInfo;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserFrom;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.UserCountVo;
import com.iformall.enums.EnumScoreType;
@@ -125,7 +126,7 @@ public interface WxCUserService {
* 登录后发消息
* @param user
*/
void actionMsgAfterLogin(WxCUser user);
void actionMsgAfterLogin(WxCUserFrom wxCUserFrom);

/**
* 登录后处理


+ 13
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCUserFromServiceImpl.java Прегледај датотеку

@@ -3,6 +3,7 @@ package com.iformall.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.mapper.*;
import com.iformall.service.*;
@@ -12,6 +13,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

@Service
@Slf4j
public class WxCUserFromServiceImpl implements WxCUserFromService {
@@ -26,4 +29,14 @@ public class WxCUserFromServiceImpl implements WxCUserFromService {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserFromMapper.findList(record));
}

@Override
public void save(WxCUserFrom wxCUserFrom) {
final IdWorker idWorker = IdWorker.get();
wxCUserFrom.setId(idWorker.nextId());
if(wxCUserFrom.getCreateDate() == null){
wxCUserFrom.setCreateDate(new Date());
}
wxCUserFromMapper.insert(wxCUserFrom);
}

}

+ 5
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java Прегледај датотеку

@@ -5,10 +5,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.WxAuthorizerInfo;
import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxCreditHistory;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.BaseCUserEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.msg.FmInsideCLoginMsg;
@@ -253,12 +250,12 @@ public class WxCUserServiceImpl implements WxCUserService {
}

@Override
public void actionMsgAfterLogin(WxCUser user) {
public void actionMsgAfterLogin(WxCUserFrom wxCUserFrom) {
wxCUserFrom.setCreateDate(new Date());
FmInsideCLoginMsg loginMsg = new FmInsideCLoginMsg();
loginMsg.setId(user.getId());
loginMsg.updateTenantInfo(wxCUserFrom);
loginMsg.setMsgType(EnumMsgRecordType.INSIDE_C_LOGIN.getCode());
loginMsg.updateTenantInfo(user);
loginMsg.setUserId(user.getUserId());
loginMsg.setWxCUserFrom(wxCUserFrom);
mqBaseProducer.sendMessage(loginMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}



+ 18
- 9
mallinkService/src/main/java/com/iformall/service/msg/impl/FmInsideCLoginMsgServiceImpl.java Прегледај датотеку

@@ -8,10 +8,7 @@ import com.iformall.domain.po.msg.FmInsideCouponVerifyMsg;
import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumScoreType;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxCUserService;
import com.iformall.service.WxCouponOrderService;
import com.iformall.service.WxMerchantBUserService;
import com.iformall.service.WxScoreRulesService;
import com.iformall.service.*;
import com.iformall.service.msg.MsgSendService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,14 +29,26 @@ public class FmInsideCLoginMsgServiceImpl implements MsgSendService {
@Autowired
private WxCUserService userService;

@Autowired
private WxCUserFromService wxCUserFromService;

@Override
public void send(BaseMsg baseMsg) throws Exception {
FmInsideCLoginMsg msg = (FmInsideCLoginMsg)baseMsg;
WxCUser user = userService.getById(msg.getId(),msg.getTenantId());
if(user == null) {
logger.error("用户ID未找到: " + msg.getId());
throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "用户ID未找到" + msg.getId());

if(msg.getWxCUserFrom() != null && msg.getWxCUserFrom().getCUserId() != null){
WxCUserFrom wxCUserFrom = msg.getWxCUserFrom();
Long cUserId = wxCUserFrom.getCUserId();
WxCUser user = userService.getById(cUserId,msg.getTenantId());
if(user == null) {
logger.error("用户ID未找到: " + cUserId);
throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "用户ID未找到" + cUserId);
}
userService.actionAfterLogin(user);
if(wxCUserFrom.getFromType() != null){
wxCUserFromService.save(wxCUserFrom);
}
}
userService.actionAfterLogin(user);
}
}

Loading…
Откажи
Сачувај