Commit baf3ea27 authored by xiaozhe.chen's avatar xiaozhe.chen

添加修改手机号后台管理接口

parent abe54262
package cn.quantgroup.customer.common.adapter;
import com.google.gson.*;
import java.lang.reflect.Type;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateTypeAdapter implements JsonSerializer<LocalDate>, JsonDeserializer<LocalDate> {
private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@Override
public JsonElement serialize(LocalDate src, Type typeOfSrc, JsonSerializationContext context) {
return null == src ? null : new JsonPrimitive(formatter.format(src));
}
@Override
public LocalDate deserialize(JsonElement json, Type typeOfTar, JsonDeserializationContext context) throws JsonParseException {
return null == json ? null : LocalDate.parse(json.getAsString(), formatter);
}
}
package cn.quantgroup.customer.config.container;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.web.servlet.ErrorPage;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
@Configuration
public class ContainerConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return container -> {
container.addErrorPages(new ErrorPage(HttpStatus.FORBIDDEN, "/error/403"));
container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/error/400"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500"));
};
}
}
...@@ -30,7 +30,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -30,7 +30,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override @Override
protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception {
String allowedRoutes = "/test/**"; String allowedRoutes = "/test/**,/error/**";
String[] allowedRoutesArr = allowedRoutes.split(","); String[] allowedRoutesArr = allowedRoutes.split(",");
http http
.authorizeRequests() .authorizeRequests()
......
...@@ -3,7 +3,7 @@ package cn.quantgroup.customer.enums; ...@@ -3,7 +3,7 @@ package cn.quantgroup.customer.enums;
public enum ErrorCodeEnum { public enum ErrorCodeEnum {
NET_ERROR(6001L, "网络通讯异常"), NET_ERROR(6001L, "网络通讯异常"),
RETURN_ERROR(5001L, "返回值异常"); RETURN_ERROR(7001L, "返回值异常");
public String getMessage() { public String getMessage() {
......
...@@ -3,6 +3,7 @@ package cn.quantgroup.customer.rest; ...@@ -3,6 +3,7 @@ package cn.quantgroup.customer.rest;
import cn.quantgroup.customer.constant.Constant; import cn.quantgroup.customer.constant.Constant;
import cn.quantgroup.customer.enums.ErrorCodeEnum; import cn.quantgroup.customer.enums.ErrorCodeEnum;
import cn.quantgroup.customer.exception.NetCommunicationException; import cn.quantgroup.customer.exception.NetCommunicationException;
import cn.quantgroup.customer.rest.vo.JsonResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.BadCredentialsException;
...@@ -11,7 +12,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -11,7 +12,7 @@ import org.springframework.web.bind.annotation.*;
@Slf4j @Slf4j
@ControllerAdvice(annotations = {RestController.class, Controller.class}) @ControllerAdvice(annotations = {RestController.class, Controller.class})
public class RestAdvice { public class AdviceRest {
@ExceptionHandler({BadCredentialsException.class}) @ExceptionHandler({BadCredentialsException.class})
@ResponseBody @ResponseBody
......
package cn.quantgroup.customer.rest;
import cn.quantgroup.customer.rest.vo.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import static org.springframework.http.HttpStatus.*;
@Slf4j
@RestController
@RequestMapping("/error")
public class ErrorRest {
@RequestMapping("/500")
public JsonResult internalServerError() {
return JsonResult.buildErrorStateResult(INTERNAL_SERVER_ERROR.getReasonPhrase(), Long.valueOf(INTERNAL_SERVER_ERROR.toString()));
}
@RequestMapping("/403")
public JsonResult forbidden() {
return JsonResult.buildErrorStateResult(FORBIDDEN.getReasonPhrase(), Long.valueOf(FORBIDDEN.toString()));
}
@RequestMapping("/400")
public JsonResult badRequest() {
return JsonResult.buildErrorStateResult(BAD_REQUEST.getReasonPhrase(), Long.valueOf(BAD_REQUEST.toString()));
}
}
package cn.quantgroup.customer.rest; package cn.quantgroup.customer.rest;
import cn.quantgroup.customer.rest.vo.JsonResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
......
...@@ -6,6 +6,7 @@ import cn.quantgroup.customer.rest.param.ModifyPhoneAudit; ...@@ -6,6 +6,7 @@ import cn.quantgroup.customer.rest.param.ModifyPhoneAudit;
import cn.quantgroup.customer.rest.param.ModifyPhoneFeedback; import cn.quantgroup.customer.rest.param.ModifyPhoneFeedback;
import cn.quantgroup.customer.rest.param.ModifyPhoneQuery; import cn.quantgroup.customer.rest.param.ModifyPhoneQuery;
import cn.quantgroup.customer.rest.vo.AuthUserVo; import cn.quantgroup.customer.rest.vo.AuthUserVo;
import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.service.IUserService; import cn.quantgroup.customer.service.IUserService;
import cn.quantgroup.riskcontrol.model.AuthenticationUserDetail; import cn.quantgroup.riskcontrol.model.AuthenticationUserDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
......
package cn.quantgroup.customer.rest.enums.user;
public enum ModifyPhoneApplyStatus {
INIT("处理中"),
DONE("修改完成"),
NO_ALLOW("不允许修改"),
;
public String getMessage() {
return message;
}
private String message;
ModifyPhoneApplyStatus(String message) {
this.message = message;
}
}
package cn.quantgroup.customer.rest.enums.user;
public enum ModifyPhoneProcessingStatus {
INIT("待人工处理"),
WAIT_4_USER_FEEDBACK("待用户反馈结果"),
DONE("已反馈"),
;
public String getMessage() {
return message;
}
private String message;
ModifyPhoneProcessingStatus(String message) {
this.message = message;
}
}
package cn.quantgroup.customer.rest.param; package cn.quantgroup.customer.rest.param;
import cn.quantgroup.customer.rest.enums.user.ModifyPhoneApplyStatus;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
...@@ -9,7 +10,7 @@ import javax.validation.constraints.NotNull; ...@@ -9,7 +10,7 @@ import javax.validation.constraints.NotNull;
@ToString @ToString
public class ModifyPhoneAudit { public class ModifyPhoneAudit {
@NotNull(message = "审核状态不能为空") @NotNull(message = "审核状态不能为空")
private String applyStatus; private ModifyPhoneApplyStatus applyStatus;
private String applyStatusReason; private String applyStatusReason;
@NotNull(message = "id不能为空") @NotNull(message = "id不能为空")
private String id; private String id;
......
package cn.quantgroup.customer.rest.param; package cn.quantgroup.customer.rest.param;
import cn.quantgroup.customer.rest.enums.user.ModifyPhoneApplyStatus;
import cn.quantgroup.customer.rest.enums.user.ModifyPhoneProcessingStatus;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
...@@ -8,12 +10,11 @@ import java.time.LocalDate; ...@@ -8,12 +10,11 @@ import java.time.LocalDate;
@Data @Data
@ToString @ToString
public class ModifyPhoneQuery { public class ModifyPhoneQuery {
private String name; private String phoneNo;
private String idCard;
private LocalDate startAt; private LocalDate startAt;
private LocalDate endAt; private LocalDate endAt;
private String applyStatus; private ModifyPhoneApplyStatus applyStatus;
private String processingStatus; private ModifyPhoneProcessingStatus processingStatus;
private Integer page; private String page;
private Integer size; private String size;
} }
package cn.quantgroup.customer.rest; package cn.quantgroup.customer.rest.vo;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package cn.quantgroup.customer.service.impl; package cn.quantgroup.customer.service.impl;
import cn.quantgroup.customer.common.adapter.LocalDateTypeAdapter;
import cn.quantgroup.customer.entity.User; import cn.quantgroup.customer.entity.User;
import cn.quantgroup.customer.enums.ErrorCodeEnum; import cn.quantgroup.customer.enums.ErrorCodeEnum;
import cn.quantgroup.customer.exception.NetCommunicationException; import cn.quantgroup.customer.exception.NetCommunicationException;
...@@ -11,6 +12,8 @@ import cn.quantgroup.customer.service.IUserService; ...@@ -11,6 +12,8 @@ import cn.quantgroup.customer.service.IUserService;
import cn.quantgroup.customer.service.http.IHttpService; import cn.quantgroup.customer.service.http.IHttpService;
import cn.quantgroup.riskcontrol.model.AuthenticationUserDetail; import cn.quantgroup.riskcontrol.model.AuthenticationUserDetail;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.exception.ExceptionUtils;
...@@ -20,6 +23,7 @@ import org.springframework.security.core.userdetails.UserDetails; ...@@ -20,6 +23,7 @@ import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.Map; import java.util.Map;
import static cn.quantgroup.customer.constant.Constant.GSON; import static cn.quantgroup.customer.constant.Constant.GSON;
...@@ -53,15 +57,18 @@ public class UserServiceImpl implements IUserService { ...@@ -53,15 +57,18 @@ public class UserServiceImpl implements IUserService {
@Override @Override
public String modifyPhoneQuery(ModifyPhoneQuery modifyPhoneQuery) { public String modifyPhoneQuery(ModifyPhoneQuery modifyPhoneQuery) {
String url = userSysUrl + "/v1/user/modify/phone_no"; String url = userSysUrl + "/v1/user/modify/phone_no";
Map param = GSON.fromJson(GSON.toJson(modifyPhoneQuery), Map.class); Gson gson = new GsonBuilder()
.registerTypeAdapter(LocalDate.class, new LocalDateTypeAdapter())
.create();
Map param = gson.fromJson(gson.toJson(modifyPhoneQuery), Map.class);
try { try {
String response = httpService.get(url, param); String response = httpService.get(url, param);
if (StringUtils.isEmpty(response)) { if (StringUtils.isEmpty(response)) {
log.error("[user][query modify phone list] 请求业务系统返回值为空,queryModifyPhone:{}", modifyPhoneQuery); log.error("[user][query modify phone list] 请求业务系统返回值为空,modifyPhoneQuery:{}", modifyPhoneQuery);
} }
return response; return response;
} catch (Exception e) { } catch (Exception e) {
log.error("[user][query modify phone list] 网络通讯异常,queryModifyPhone:{},ex:{}", modifyPhoneQuery, ExceptionUtils.getStackTrace(e)); log.error("[user][query modify phone list] 网络通讯异常,modifyPhoneQuery:{},ex:{}", modifyPhoneQuery, ExceptionUtils.getStackTrace(e));
throw new NetCommunicationException(ErrorCodeEnum.NET_ERROR.getMessage()); throw new NetCommunicationException(ErrorCodeEnum.NET_ERROR.getMessage());
} }
} }
...@@ -84,8 +91,8 @@ public class UserServiceImpl implements IUserService { ...@@ -84,8 +91,8 @@ public class UserServiceImpl implements IUserService {
@Override @Override
public String modifyPhoneFeedback(ModifyPhoneFeedback modifyPhoneFeedback) { public String modifyPhoneFeedback(ModifyPhoneFeedback modifyPhoneFeedback) {
//String url = "http://127.0.0.1:7067/test/modify/{id}/feedback"; String url = "http://127.0.0.1:7067/test/modify/{id}/feedback";
String url = userSysUrl + "/v1/user/modify/phone_no/{id}/feedback"; //String url = userSysUrl + "/v1/user/modify/phone_no/{id}/feedback";
try { try {
String id = modifyPhoneFeedback.getId(); String id = modifyPhoneFeedback.getId();
url = url.replace("{id}", id); url = url.replace("{id}", id);
......
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