Przeglądaj źródła

update

release_toaliyun_real
xiaohanzi 5 lat temu
rodzic
commit
dcebd9114d
5 zmienionych plików z 69 dodań i 51 usunięć
  1. +19
    -30
      mallinkCApi/src/main/java/com/iformall/controller/BaseController.java
  2. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxLiveController.java
  3. +24
    -7
      mallinkCApi/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java
  4. +1
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java
  5. +24
    -12
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java

+ 19
- 30
mallinkCApi/src/main/java/com/iformall/controller/BaseController.java Wyświetl plik

@@ -109,9 +109,10 @@ public class BaseController {
} }


/** /**
* 微信端获取当前用户 wx_c_user,非会员
* 请尽量多用getTenantId, getUserId * 请尽量多用getTenantId, getUserId
*/ */
public WxCUser getUser() {
public WxCUser getWxCUser() {
Long cUserId = getUserId(); Long cUserId = getUserId();
WxCUser user = wxCUserService.getById(cUserId); WxCUser user = wxCUserService.getById(cUserId);
if (user == null) { if (user == null) {
@@ -166,22 +167,18 @@ public class BaseController {
} }




public void saveToBasicInfo(WxCUser user) {
public Long saveToBasicInfoByCUser(String userPhone,String userName,String avatarUrl,Integer sex,Long userId) {
TenantEntity tenantEntity = getTenantInfo(); TenantEntity tenantEntity = getTenantInfo();
String phone = user.getPhone();
if (phone != null && phone.contains("*")) {
phone = user.getVerifyCodePhone();
}
if (StringUtils.isBlank(phone))
return;
if (StringUtils.isBlank(userPhone))
return null;


WxCUserBasicInfo byId = null; WxCUserBasicInfo byId = null;
if(user.isBasicInfo()){
byId = wxCUserBasicInfoService.getById(user.getUserId());
if (null != userId) {
byId = wxCUserBasicInfoService.getById(userId);
} }


// List<WxCUserBasicInfo> list = wxCUserBasicInfoService.findByPhone(tenantEntity, phone); // List<WxCUserBasicInfo> list = wxCUserBasicInfoService.findByPhone(tenantEntity, phone);
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, phone);
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, userPhone);


if (basicInfo != null) { if (basicInfo != null) {
// WxCUserBasicInfo basicInfo = list.get(0); // WxCUserBasicInfo basicInfo = list.get(0);
@@ -201,38 +198,30 @@ public class BaseController {
// if (Objects.nonNull(user.getCredit())) { // if (Objects.nonNull(user.getCredit())) {
// basicInfo.setCredit(user.getCredit()); // basicInfo.setCredit(user.getCredit());
// } // }

user.setUserId(basicInfo.getId());
wxCUserService.updateUserId(user);


//wxCUserBasicInfoService.updateObj(basicInfo, user); //wxCUserBasicInfoService.updateObj(basicInfo, user);
return basicInfo.getId();
} else if(byId != null){ } else if(byId != null){
byId.setPhone(phone);
byId.setNickName(user.getNickName());
byId.setAvatarUrl(user.getAvatarUrl());
byId.setPhone(userPhone);
byId.setNickName(userName);
byId.setAvatarUrl(avatarUrl);
wxCUserBasicInfoService.update(byId); wxCUserBasicInfoService.update(byId);
return null;
}else{ }else{
Date cur = new Date(); Date cur = new Date();
basicInfo = new WxCUserBasicInfo(); basicInfo = new WxCUserBasicInfo();
basicInfo.setId(user.getId());
basicInfo.setId(userId);
basicInfo.updateTenantInfo(tenantEntity); basicInfo.updateTenantInfo(tenantEntity);
basicInfo.undateFinalTenantId(tenantEntity); basicInfo.undateFinalTenantId(tenantEntity);
basicInfo.setPhone(phone);
basicInfo.setNickName(user.getNickName());
basicInfo.setAvatarUrl(user.getAvatarUrl());
basicInfo.setSex(user.getGender());
basicInfo.setPhone(userPhone);
basicInfo.setNickName(userName);
basicInfo.setAvatarUrl(avatarUrl);
basicInfo.setSex(sex);
basicInfo.setLoginCount(1); basicInfo.setLoginCount(1);
basicInfo.setActiveTime(cur); basicInfo.setActiveTime(cur);
basicInfo.setCreateDate(cur); basicInfo.setCreateDate(cur);
basicInfo.setUpdateDate(cur); basicInfo.setUpdateDate(cur);
wxCUserBasicInfoService.save(basicInfo); wxCUserBasicInfoService.save(basicInfo);
user.setUserId(basicInfo.getId());
wxCUserService.updateUserId(user);
}
String key = Constant.tokenPrev + user.getOpenId();
if(cUserTokenRedisTemplate.hasKey(key)){
cUserTokenRedisTemplate.delete(key);
return userId;
} }
} }




+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxLiveController.java Wyświetl plik

@@ -56,7 +56,7 @@ public class WxLiveController extends BaseController {
@GetMapping("/replayList") @GetMapping("/replayList")
public ResultData getLiveReplay(Integer room_id, Integer start, Integer limit) { public ResultData getLiveReplay(Integer room_id, Integer start, Integer limit) {
ResultData resultData = new ResultData(); ResultData resultData = new ResultData();
WxCUser user = getUser();
WxCUser user = getWxCUser();
try { try {
WxMaService wxMaService = getWeappService(user.getAppId()); WxMaService wxMaService = getWeappService(user.getAppId());
resultData.data = wxMaService.getLiveService().getLiveReplay(room_id,start,limit); resultData.data = wxMaService.getLiveService().getLiveReplay(room_id,start,limit);


+ 24
- 7
mallinkCApi/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java Wyświetl plik

@@ -2,9 +2,11 @@ package com.iformall.controller;


import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxMsgValidationcode; import com.iformall.domain.po.WxMsgValidationcode;
import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumPayWay;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -39,18 +41,23 @@ public class WxMsgValidationcodeController extends BaseController {


@Autowired @Autowired
private WxCUserTagsService wxCUserTagsService; private WxCUserTagsService wxCUserTagsService;
@Autowired
private WxAppinfoService WxAppinfoService;


@GetMapping("sendvalidationcode") @GetMapping("sendvalidationcode")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "phone", value = "手机号", dataType = "String", paramType = "query", required = true), @ApiImplicitParam(name = "phone", value = "手机号", dataType = "String", paramType = "query", required = true),
@ApiImplicitParam(name = "type", value = "场景", dataType = "Integer", paramType = "query", required = true)}) @ApiImplicitParam(name = "type", value = "场景", dataType = "Integer", paramType = "query", required = true)})
public ResultData sendvalidationcode(String phone, Integer type) { public ResultData sendvalidationcode(String phone, Integer type) {
WxCUser user = getUser();
WxCUser user = getWxCUser();
WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode(); WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.updateTenantInfo(getTenantInfo()); wxMsgValidationcode.updateTenantInfo(getTenantInfo());
wxMsgValidationcode.setPhone(phone); wxMsgValidationcode.setPhone(phone);
wxMsgValidationcode.setType(type); wxMsgValidationcode.setType(type);
wxMsgValidationcode.setAppid(user.getAppId());
//只需要一端发就可以了
WxAppinfo appinfo = WxAppinfoService.getCAppInfo(getTenantInfo(), EnumPayWay.PAY_WAY_WECHAT);
wxMsgValidationcode.setAppid(appinfo.getAppId());
return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode); return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode);
} }


@@ -60,22 +67,31 @@ public class WxMsgValidationcodeController extends BaseController {
@ApiImplicitParam(name = "type", value = "场景", dataType = "Integer", paramType = "query", required = true), @ApiImplicitParam(name = "type", value = "场景", dataType = "Integer", paramType = "query", required = true),
@ApiImplicitParam(name = "code", value = "验证码", dataType = "String", paramType = "query", required = true)}) @ApiImplicitParam(name = "code", value = "验证码", dataType = "String", paramType = "query", required = true)})
public ResultData hasvalidationcode(String phone, Integer type, String code) { public ResultData hasvalidationcode(String phone, Integer type, String code) {
WxCUser user = getUser();
WxCUser user = getWxCUser();
WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode(); WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.updateTenantInfo(getTenantInfo()); wxMsgValidationcode.updateTenantInfo(getTenantInfo());
wxMsgValidationcode.setPhone(phone); wxMsgValidationcode.setPhone(phone);
wxMsgValidationcode.setType(type); wxMsgValidationcode.setType(type);
wxMsgValidationcode.setCode(code); wxMsgValidationcode.setCode(code);
wxMsgValidationcode.setAppid(user.getAppId());
//只需要一端发就可以了
WxAppinfo appinfo = WxAppinfoService.getCAppInfo(getTenantInfo(), EnumPayWay.PAY_WAY_WECHAT);
wxMsgValidationcode.setAppid(appinfo.getAppId());
//wxMsgValidationcode.setAppid(user.getAppId());
ResultData rd = wxMsgValidationcodeService.hasvalidationcode(wxMsgValidationcode); ResultData rd = wxMsgValidationcodeService.hasvalidationcode(wxMsgValidationcode);
if (rd.code == Result.SUCCESS) { if (rd.code == Result.SUCCESS) {
// 更新到basicinfo
Long userId = user.getId();
if (user.isBasicInfo()) {
userId = user.getUserId();
}
Long basicUserId = saveToBasicInfoByCUser(phone, user.getNickName(), user.getAvatarUrl(), user.getGender(), userId);
if (null != basicUserId) {
user.setUserId(basicUserId);
}
// 更新 WxCUser // 更新 WxCUser
user.setVerifyCodePhone(phone); user.setVerifyCodePhone(phone);
user.setUpdateDate(new Date()); user.setUpdateDate(new Date());
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);

// 更新到basicinfo
saveToBasicInfo(user);
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE,user); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE,user);


String key = Constant.tokenPrev + user.getOpenId(); String key = Constant.tokenPrev + user.getOpenId();
@@ -85,6 +101,7 @@ public class WxMsgValidationcodeController extends BaseController {
} }
return rd; return rd;
} }




} }

+ 1
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxPayOrderController.java Wyświetl plik

@@ -88,7 +88,7 @@ public class WxPayOrderController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空");
} }


WxCUser user = getUser();
WxCUser user = getWxCUser();
if (!user.isBasicInfo()) { if (!user.isBasicInfo()) {
logger.error("暂未成为会员,请授权手机号"); logger.error("暂未成为会员,请授权手机号");
return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号"); return new ResultData(ErrorCode.USER_IS_NOT_MEMBER.getCode(), "暂未成为会员,请授权手机号");


+ 24
- 12
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Wyświetl plik

@@ -412,7 +412,7 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "parentTenantId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "parentTenantId不能为空");
} }


WxCUser user = getUser();
WxCUser user = getWxCUser();
if (user.getParentTenantId().equalsIgnoreCase(parentTenantId)) { if (user.getParentTenantId().equalsIgnoreCase(parentTenantId)) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
request.setAttribute(Constant.TENANT_ID, tenantId); request.setAttribute(Constant.TENANT_ID, tenantId);
@@ -431,7 +431,7 @@ public class WxUserGrantController extends BaseController {


String scene = map.get("scene"); String scene = map.get("scene");


WxCUser user = getUser();
WxCUser user = getWxCUser();
if (StringUtils.isBlank(user.getScene()) || if (StringUtils.isBlank(user.getScene()) ||
user.getScene().equalsIgnoreCase(Constant.UNDEFINED)) { user.getScene().equalsIgnoreCase(Constant.UNDEFINED)) {
if(StringUtils.isNotBlank(scene) && scene.equalsIgnoreCase(Constant.UNDEFINED)) { if(StringUtils.isNotBlank(scene) && scene.equalsIgnoreCase(Constant.UNDEFINED)) {
@@ -450,7 +450,7 @@ public class WxUserGrantController extends BaseController {
String longitude = map.get("longitude"); String longitude = map.get("longitude");
String latitude = map.get("latitude"); String latitude = map.get("latitude");


WxCUser user = getUser();
WxCUser user = getWxCUser();
if (!StringUtils.isBlank(longitude)) if (!StringUtils.isBlank(longitude))
user.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude))); user.setLongitude(BigDecimal.valueOf(Double.valueOf(longitude)));
if (!StringUtils.isBlank(latitude)) if (!StringUtils.isBlank(latitude))
@@ -466,7 +466,7 @@ public class WxUserGrantController extends BaseController {


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


WxCUser user = getUser();
WxCUser user = getWxCUser();
if (StringUtils.isNotBlank(systemInfo)) { if (StringUtils.isNotBlank(systemInfo)) {
JSONObject extraInfo = new JSONObject(); JSONObject extraInfo = new JSONObject();
extraInfo.put("systemInfo", JSONObject.parseObject(systemInfo)); extraInfo.put("systemInfo", JSONObject.parseObject(systemInfo));
@@ -524,7 +524,7 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv不能为空");
} }


WxCUser user = getUser();
WxCUser user = getWxCUser();


if (user != null) { if (user != null) {
logger.debug(user.toString()); logger.debug(user.toString());
@@ -612,7 +612,7 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空");
} }


WxCUser user = getUser();
WxCUser user = getWxCUser();


if (user == null) { if (user == null) {
return new ResultData(ErrorCode.USER_IS_EMPTY); return new ResultData(ErrorCode.USER_IS_EMPTY);
@@ -649,8 +649,20 @@ public class WxUserGrantController extends BaseController {
wxCUserService.saveOrUpdate(user); wxCUserService.saveOrUpdate(user);


if (!user.getPhone().contains("*")) { // 用户手机非加密 if (!user.getPhone().contains("*")) { // 用户手机非加密
String phone = user.getPhone();
if (phone != null && phone.contains("*")) {
phone = user.getVerifyCodePhone();
}
// 更新到basicinfo // 更新到basicinfo
saveToBasicInfo(user);
Long userId = user.getId();
if(user.isBasicInfo()){
userId = user.getUserId();
}
Long userBasicId = saveToBasicInfoByCUser(phone, user.getNickName(), user.getAvatarUrl(), user.getGender(), userId);
if (null != userBasicId) {
user.setUserId(userBasicId);
wxCUserService.updateUserId(user);
}
wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE, user); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_PHONE, user);
} }


@@ -686,7 +698,7 @@ public class WxUserGrantController extends BaseController {
@ApiOperation(value = "判断用户是否完成授权", notes = "") @ApiOperation(value = "判断用户是否完成授权", notes = "")
public ResultData checkWechatStatus() { public ResultData checkWechatStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser();
WxCUser user = getWxCUser();
if (StringUtils.isNoneEmpty(user.getNickName())) { if (StringUtils.isNoneEmpty(user.getNickName())) {
resultMap.put("nickName", user.getNickName()); resultMap.put("nickName", user.getNickName());
} else { } else {
@@ -717,7 +729,7 @@ public class WxUserGrantController extends BaseController {
@ApiOperation(value = "判断用户是否完成昵称授权", notes = "") @ApiOperation(value = "判断用户是否完成昵称授权", notes = "")
public ResultData checkUserStatus() { public ResultData checkUserStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser();
WxCUser user = getWxCUser();
if (StringUtils.isNoneEmpty(user.getNickName())) { if (StringUtils.isNoneEmpty(user.getNickName())) {
resultMap.put("nickName", user.getNickName()); resultMap.put("nickName", user.getNickName());
} else { } else {
@@ -736,7 +748,7 @@ public class WxUserGrantController extends BaseController {
@ApiOperation(value = "判断用户是否完成手机授权", notes = "") @ApiOperation(value = "判断用户是否完成手机授权", notes = "")
public ResultData checkPhoneStatus() { public ResultData checkPhoneStatus() {
Map resultMap = new HashMap(); Map resultMap = new HashMap();
WxCUser user = getUser();
WxCUser user = getWxCUser();
if (StringUtils.isNotBlank(user.getPhone())) { if (StringUtils.isNotBlank(user.getPhone())) {
resultMap.put("phone", user.getPhone()); resultMap.put("phone", user.getPhone());
} else { } else {
@@ -756,7 +768,7 @@ public class WxUserGrantController extends BaseController {
@ApiOperation("获取当前用户信息") @ApiOperation("获取当前用户信息")
@GetMapping("/userinfo") @GetMapping("/userinfo")
public ResultData getUserInfo() { public ResultData getUserInfo() {
WxCUser user = getUser();
WxCUser user = getWxCUser();
WxCUserVo userVo = new WxCUserVo(); WxCUserVo userVo = new WxCUserVo();
org.springframework.beans.BeanUtils.copyProperties(user, userVo); org.springframework.beans.BeanUtils.copyProperties(user, userVo);
userVo.setScore(0); userVo.setScore(0);
@@ -857,7 +869,7 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "iv 不能为空");
} }


WxCUser user = getUser();
WxCUser user = getWxCUser();


String session_key = user.getSessionKey(); String session_key = user.getSessionKey();
try { try {


Ładowanie…
Anuluj
Zapisz