Commit 41af0507 authored by 王亮's avatar 王亮

Merge branch 'feature-disable-user-20230105' into 'master'

Feature disable user 20230105

See merge request !11
parents 5e1894fb c2310d76
......@@ -177,9 +177,9 @@ public class UserRest {
* @return
*/
@PostMapping(value = "/modify/account/status/disable")
public JsonResult modifyAccountStatusDisable(@RequestParam(required = true) Long userId) {
public JsonResult modifyAccountStatusDisable(@RequestParam(required = true) Long userId, @RequestParam(required = true) String reason, HttpServletRequest request) {
//MoResult<Boolean> result = userService.modifyAccountStatusDisable(userId);
return userService.modifyAccountStatusDisableNew(userId);
return userService.modifyAccountStatusDisableNew(userId, reason, request);
}
/**
......@@ -198,11 +198,26 @@ public class UserRest {
* @return
*/
@PostMapping(value = "/modify/account/status/active")
public JsonResult modifyAccountStatusActive(@RequestParam(required = true) Long userId) {
public JsonResult modifyAccountStatusActive(@RequestParam(required = true) Long userId, HttpServletRequest request) {
//MoResult<Boolean> result = userService.modifyAccountStatusActive(userId);
return userService.modifyAccountStatusActiveNew(userId);
return userService.modifyAccountStatusActiveNew(userId, request);
}
/**
* 用户冻结解冻记录
* @param userId
* @param pageNo
* @param pageSize
* @param request
* @return
*/
@PostMapping(value = "/modify/account/status/records")
public JsonResult userStatusRecords(@RequestParam Long userId,
@RequestParam(defaultValue = "0") int pageNo,
@RequestParam(defaultValue = "10") int pageSize,
HttpServletRequest request) {
return userService.userStatusRecords(userId, pageNo, pageSize, request);
}
/**
* 查询用户详细信息(根据手机号或身份证号查询)
......
......@@ -12,6 +12,9 @@ import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.rest.vo.MoResult;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
@Service
public interface IUserService extends UserDetailsService {
......@@ -63,7 +66,7 @@ public interface IUserService extends UserDetailsService {
* @param userId
* @return
*/
JsonResult modifyAccountStatusDisableNew(Long userId);
JsonResult modifyAccountStatusDisableNew(Long userId, String reason, HttpServletRequest request);
/**
* 注销账户新逻辑
......@@ -83,7 +86,17 @@ public interface IUserService extends UserDetailsService {
* @param userId
* @return
*/
JsonResult modifyAccountStatusActiveNew(Long userId);
JsonResult modifyAccountStatusActiveNew(Long userId, HttpServletRequest request);
/**
* 用户冻结解冻记录
* @param userId
* @param pageNo
* @param pageSize
* @param request
* @return
*/
JsonResult userStatusRecords(Long userId, int pageNo, int pageSize, HttpServletRequest request);
/**
* 修改用户姓名、身份证
......
......@@ -30,6 +30,7 @@ import cn.quantgroup.customer.service.IXyqbService;
import cn.quantgroup.customer.service.http.IHttpService;
import cn.quantgroup.customer.util.*;
import cn.quantgroup.riskcontrol.model.AuthenticationUserDetail;
import cn.quantgroup.tech.util.TechEnvironment;
import cn.quantgroup.user.retbean.XUser;
import cn.quantgroup.user.retbean.XUserDetail;
import cn.quantgroup.user.vo.UserSysResult;
......@@ -48,6 +49,7 @@ import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.HashMap;
......@@ -828,8 +830,14 @@ public class UserServiceImpl implements IUserService {
//新逻辑
@Override
public JsonResult modifyAccountStatusDisableNew(Long userId) {
public JsonResult modifyAccountStatusDisableNew(Long userId, String reason, HttpServletRequest request) {
try {
if (StringUtils.isBlank(reason)) {
return JsonResult.buildErrorStateResult("冻结原因不能为空");
}
if (reason.length() > 10) {
return JsonResult.buildErrorStateResult("冻结原因不能大于10个字");
}
//调用kdsp接口校验是否有在途数据(订单在途+金融在途)
Map<String, String> header = Maps.newHashMap();
header.put("Content-type", "application/x-www-form-urlencoded");
......@@ -856,7 +864,9 @@ public class UserServiceImpl implements IUserService {
//调用用户中心,将账户状态更新为冻结
Map param1 = Maps.newHashMap();
param1.put("userId", userId.toString());
param1.put("reason", reason);
String userUrl = userSysUrl + "/innerapi/user/disable";
header.put("Access-Token", request.getHeader("Access-Token"));
String userResult = httpService.post(userUrl, header, param1);
log.info("[user][modifyAccountStatusDisableNew] 请求业务系统返回值:{}", userResult);
JSONObject userJsonObject = JSONObject.parseObject(userResult);
......@@ -936,13 +946,14 @@ public class UserServiceImpl implements IUserService {
}
//新逻辑,不通过sidecar,直接调用用户中心
@Override
public JsonResult modifyAccountStatusActiveNew(Long userId) {
public JsonResult modifyAccountStatusActiveNew(Long userId, HttpServletRequest request) {
try {
if(userId == null || "0".equals(userId.toString())){
return JsonResult.buildErrorStateResult("userId非法",null);
}
Map<String, String> header = Maps.newHashMap();
header.put("Content-type", "application/x-www-form-urlencoded");
header.put("Access-Token", request.getHeader("Access-Token"));
Map param = Maps.newHashMap();
param.put("userId", userId.toString());
String userUrl = userSysUrl + "/innerapi/user/active";
......@@ -965,6 +976,46 @@ public class UserServiceImpl implements IUserService {
}
}
/**
* 用户冻结解冻记录
* @param userId
* @param pageNo
* @param pageSize
* @param request
* @return
*/
@Override
public JsonResult userStatusRecords(Long userId, int pageNo, int pageSize, HttpServletRequest request) {
try {
if(userId == null || "0".equals(userId.toString())){
return JsonResult.buildErrorStateResult("userId非法",null);
}
Map<String, String> header = Maps.newHashMap();
header.put("Content-type", "application/x-www-form-urlencoded");
header.put("Access-Token", request.getHeader("Access-Token"));
Map param = Maps.newHashMap();
param.put("page", String.valueOf(pageNo));
param.put("size", String.valueOf(pageSize));
String userUrl = userSysUrl + "/innerapi/user/records/" + userId;
String userResult = httpService.post(userUrl, header, param);
JSONObject userJsonObject = null;
if(userResult != null){
userJsonObject = JSONObject.parseObject(userResult);
String userBusinessCode = userJsonObject.getString("businessCode");
if("0000".equals(userBusinessCode)){
return JsonResult.buildSuccessResult(userJsonObject.getString("msg"),userJsonObject.get("data"));
}else{
return JsonResult.buildErrorStateResult(userJsonObject.getString("msg"),userJsonObject.get("data"));
}
}else{
return JsonResult.buildErrorStateResult(userJsonObject.getString("msg"),userJsonObject.get("data"));
}
} catch (Exception e) {
log.error("[user][userRecords] 网络通讯异常,userId:{},ex:{}", userId, ExceptionUtils.getStackTrace(e));
throw new BusinessException(ErrorCodeEnum.NET_ERROR);
}
}
@Override
public JsonResult modifyUserDetailNew(Long userId, String realName, String idNO) {
try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment