From 7f361e843dd5435d4f8342bae69ac3ee96a261a6 Mon Sep 17 00:00:00 2001 From: qushutong <1976590620@qq.com> Date: Mon, 9 Sep 2019 18:42:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=B4=E5=83=8F=20?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esua-epdc/epdc-gateway/pom.xml | 6 ++-- .../epdc-api/epdc-api-server/pom.xml | 2 +- .../epdc/controller/ApiAppUserController.java | 25 +++++++++++++-- .../esua/epdc/feign/UserFeignClient.java | 12 ++++++- .../fallback/UserFeignClientFallback.java | 5 +++ .../esua/epdc/service/AppUserService.java | 23 ++++++++++++++ .../epdc/service/impl/AppUserServiceImpl.java | 31 +++++++++++++++++++ .../form/EpdcUserUpdateAvatarFromDTO.java | 26 ++++++++++++++++ .../form/EpdcUserUpdateMobileFromDTO.java | 31 +++++++++++++++++++ .../controller/EpdcAppUserController.java | 28 ++++++++++++++++- .../elink/esua/epdc/service/UserService.java | 14 +++++++++ .../epdc/service/impl/UserServiceImpl.java | 20 ++++++++++++ 12 files changed, 215 insertions(+), 8 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateAvatarFromDTO.java create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateMobileFromDTO.java diff --git a/esua-epdc/epdc-gateway/pom.xml b/esua-epdc/epdc-gateway/pom.xml index b1f5a18f7..78a809890 100644 --- a/esua-epdc/epdc-gateway/pom.xml +++ b/esua-epdc/epdc-gateway/pom.xml @@ -94,9 +94,9 @@ lb://epdc-auth-server lb://epdc-admin-server - lb://epdc-activiti-server - - lb://epdc-api-server + lb://epdc-activiti-server + + http://127.0.0.1:9040 lb://epdc-app-server lb://epdc-heart-server diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml b/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml index 9daa044af..04bf197cf 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/pom.xml @@ -123,7 +123,7 @@ epdc elink833066 - true + false 47.104.224.45:8848 wx6ff4e50840cf7dfc diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java index e155be56e..9c9a7a2bb 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java @@ -5,6 +5,8 @@ import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; @@ -53,10 +55,29 @@ public class ApiAppUserController { ValidatorUtils.validateEntity(formDto); return appUserService.getToken(formDto); } - + /*** + * @Description 获取用户信息 + * @Author qushutong + * @Date 2019/9/9 17:33 + * @Param [userDetail] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ @GetMapping("user/getInfoById") public Result getInfoById(@LoginUser TokenDto userDetail){ - return appUserService.getInfoById(userDetail); } + + @PostMapping("user/updateAvatar") + public Result updateAvatar(@LoginUser TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO){ + ValidatorUtils.validateEntity(fromDTO); + return appUserService.updateAvatar(userDetail,fromDTO); + } + + @PostMapping("user/updateMobile") + public Result updateMobile(@LoginUser TokenDto userDetail, EpdcUserUpdateMobileFromDTO fromDTO){ + ValidatorUtils.validateEntity(fromDTO); + return appUserService.updateMobile(userDetail,fromDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 0891b3b8a..87949b6c1 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -56,5 +56,15 @@ public interface UserFeignClient { */ @GetMapping(value = "app-user/epdc-app/user/getInfoById/{id}") Result getInfoById(@PathVariable("id") String id); - + /*** + * @Description 修改手机号 或者头像 + * @Author qushutong + * @Date 2019/9/9 18:26 + * @Param [userDTO] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ + @PostMapping(value = "app-user/epdc-app/user/updateMobileOrAvatar") + Result updateMobileOrAvatar(UserDTO userDTO); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 2c6e49b92..14370975c 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -30,4 +30,9 @@ public class UserFeignClientFallback implements UserFeignClient { public Result getInfoById(String id) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getInfoById", id); } + + @Override + public Result updateMobileOrAvatar(UserDTO userDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateMobileOrAvatar", userDTO); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java index e843092d3..14f6190ca 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AppUserService.java @@ -3,6 +3,8 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; @@ -45,4 +47,25 @@ public interface AppUserService { * */ Result getInfoById(TokenDto userDetail); + + /*** + * @Description 修改头像 + * @Author qushutong + * @Date 2019/9/9 17:52 + * @Param [userDetail, fromDTO] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ + Result updateAvatar( TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO); + /*** + * @Description 修改手机号 + * @Author qushutong + * @Date 2019/9/9 17:52 + * @Param [userDetail, fromDTO] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ + Result updateMobile( TokenDto userDetail, EpdcUserUpdateMobileFromDTO fromDTO); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index c567a509a..339ef53b8 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -10,6 +10,8 @@ import com.elink.esua.epdc.commons.tools.utils.*; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; @@ -136,6 +138,35 @@ public class AppUserServiceImpl implements AppUserService { return userFeignClient.getInfoById(userDetail.getUserId()); } + @Override + public Result updateAvatar(TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO) { + UserDTO userDTO = new UserDTO(); + userDTO.setId(fromDTO.getId()); + userDTO.setFaceImg(fromDTO.getAvatar()); + return userFeignClient.updateMobileOrAvatar(userDTO); + } + + @Override + public Result updateMobile(TokenDto userDetail, EpdcUserUpdateMobileFromDTO fromDTO) { + // 校验手机验证码 + String mobile = fromDTO.getMobile(); + String smsCode = appUserRedis.getSmsCode(mobile); + if (StringUtils.isBlank(smsCode) || !smsCode.equals(fromDTO.getSmsCode())) { + return new Result().error("手机验证码错误"); + } + UserDTO userDTO = new UserDTO(); + userDTO.setId(userDetail.getUserId()); + PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile); + if (phoneDto != null) { + userDTO.setMobile(mobile); + userDTO.setMobileCarrier(phoneDto.getCarrier()); + userDTO.setMobileCity(phoneDto.getCityName()); + userDTO.setMobileProvince(phoneDto.getProvinceName()); + } + userFeignClient.updateMobileOrAvatar(userDTO); + return userFeignClient.updateMobileOrAvatar(userDTO); + } + @Override public Result userRegist(EpdcUserRegistFormDTO formDto) { diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateAvatarFromDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateAvatarFromDTO.java new file mode 100644 index 000000000..a77d6a033 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateAvatarFromDTO.java @@ -0,0 +1,26 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author: qushutong + * @Date: 2019/9/9 17:11 + * @Description: 修改头像 + */ +@Data +public class EpdcUserUpdateAvatarFromDTO implements Serializable { + private static final long serialVersionUID = 1126153080068634180L; + + /** + * avatar : 4dYNI3BKBf + */ + @NotBlank(message = "上传头像不能为空") + private String avatar; + + @NotBlank(message = "用户id不能为空") + private String id; + +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateMobileFromDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateMobileFromDTO.java new file mode 100644 index 000000000..a9763a590 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateMobileFromDTO.java @@ -0,0 +1,31 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author: qushutong + * @Date: 2019/9/9 17:05 + * @Description: 换手机号 + */ +@Data +public class EpdcUserUpdateMobileFromDTO implements Serializable { + private static final long serialVersionUID = 6408236549416534900L; + + /** + * mobile : rtJ5UDcx8f + * smsCode : obS6Tzpgmq + */ + @NotBlank(message = "手机号不能为空") + private String mobile; + + @NotBlank(message = "验证码不能为空") + private String smsCode; + + @NotBlank(message = "用户id不能为空") + private String id; + + +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java index 64f435a12..5baedf608 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java @@ -3,6 +3,8 @@ package com.elink.esua.epdc.controller; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.UserDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.service.UserService; import org.springframework.beans.factory.annotation.Autowired; @@ -48,9 +50,33 @@ public class EpdcAppUserController { return userService.userRegist(userDto); } - + /*** + * @Description 移动端获取用户信息 + * @Author qushutong + * @Date 2019/9/9 17:00 + * @Param [id] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ @GetMapping("getInfoById/{id}") public Result getInfoById(@PathVariable("id") String id) { return userService.getInfoById(id); } + + /*** + * @Description 修改手机号 或者手机号 + * @Author qushutong + * @Date 2019/9/9 17:12 + * @Param [formDto] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ + @PostMapping("updateMobileOrAvatar") + public Result updateMobileOrAvatar(@RequestBody UserDTO formDto) { + userService.updateMobileOrAvatar(formDto); + return new Result(); + } + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java index 14e4b8cdd..c4e202453 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java @@ -21,6 +21,8 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.UserDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.entity.UserEntity; @@ -79,4 +81,16 @@ public interface UserService extends BaseService { * */ Result getInfoById(String id); + + /*** + * @Description 修改手机号 或者头像 + * @Author qushutong + * @Date 2019/9/9 17:14 + * @Param [formDto] + * @Return com.elink.esua.epdc.commons.tools.utils.Result + * @Exception + * + */ + void updateMobileOrAvatar(UserDTO userDto); + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 35a18bc2f..5f4aafed5 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -28,6 +28,8 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.UserDao; import com.elink.esua.epdc.dto.PartyMembersDTO; import com.elink.esua.epdc.dto.UserDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateAvatarFromDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserUpdateMobileFromDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.entity.UserEntity; import com.elink.esua.epdc.enums.AppUserAuditStateEnum; @@ -58,6 +60,7 @@ public class UserServiceImpl extends BaseServiceImpl implem @Autowired private PartyMembersService partyMembersService; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -176,4 +179,21 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().ok(baseDao.selectOneInfoById(id)); } + + @Override + public void updateMobileOrAvatar(UserDTO userDto) { + UserDTO olduUserDTO = get(userDto.getId()); + if (StringUtils.isNotEmpty(userDto.getFaceImg())) { + olduUserDTO.setFaceImg(userDto.getFaceImg()); + } + if (StringUtils.isNotEmpty(userDto.getMobile())) { + olduUserDTO.setFaceImg(userDto.getMobile()); + olduUserDTO.setFaceImg(userDto.getMobileCarrier()); + olduUserDTO.setFaceImg(userDto.getMobileCity()); + olduUserDTO.setFaceImg(userDto.getMobileProvince()); + } + UserEntity userEntity = ConvertUtils.sourceToTarget(olduUserDTO, UserEntity.class); + baseDao.updateById(userEntity); + } + } \ No newline at end of file