Browse Source

用户模块相关代码修改

dev
yujintao 6 years ago
parent
commit
ecdc0b0464
  1. 42
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java
  2. 21
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  3. 24
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  4. 23
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  5. 40
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppInformationBusinessEnum.java
  6. 42
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppInformationEnum.java
  7. 0
      esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/epdc.gitkeep
  8. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateAvatarFromDTO.java
  9. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateMobileFromDTO.java
  10. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserInfoResultDTO.java
  11. 9
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  12. 48
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

42
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/config/ThreadConfig.java

@ -0,0 +1,42 @@
package com.elink.esua.epdc.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.task.TaskExecutor;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ThreadPoolExecutor;
/**
* 线程池
*
* @author rongchao
* @Date 18-11-27
*/
@Configuration
@EnableAsync
public class ThreadConfig {
@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 设置核心线程数
executor.setCorePoolSize(5);
// 设置最大线程数
executor.setMaxPoolSize(10);
// 设置队列容量
executor.setQueueCapacity(20);
// 设置线程活跃时间(秒)
executor.setKeepAliveSeconds(60);
// 设置默认线程名称
executor.setThreadNamePrefix("esd-");
// 设置拒绝策略
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
// 等待所有任务结束后再关闭线程池
executor.setWaitForTasksToCompleteOnShutdown(true);
executor.setAwaitTerminationSeconds(60);
executor.initialize();
return executor;
}
}

21
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java

@ -55,29 +55,30 @@ public class ApiAppUserController {
ValidatorUtils.validateEntity(formDto); ValidatorUtils.validateEntity(formDto);
return appUserService.getToken(formDto); return appUserService.getToken(formDto);
} }
/*** /***
* @Description 获取用户信息 * @Description 获取用户信息
* @Author qushutong * @Author qushutong
* @Date 2019/9/9 17:33 * @Date 2019/9/9 17:33
* @Param [userDetail] * @Param [userDetail]
* @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO> * @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO>
* @Exception * @Exception
* *
*/ */
@GetMapping("user/getInfoById") @GetMapping("user/getInfoById")
public Result<EpdcUserInfoResultDTO> getInfoById(@LoginUser TokenDto userDetail){ public Result<EpdcUserInfoResultDTO> getInfoById(@LoginUser TokenDto userDetail) {
return appUserService.getInfoById(userDetail); return appUserService.getInfoById(userDetail);
} }
@PostMapping("user/updateAvatar") @PostMapping("user/updateAvatar")
public Result updateAvatar(@LoginUser TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO){ public Result updateAvatar(@LoginUser TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO) {
ValidatorUtils.validateEntity(fromDTO); ValidatorUtils.validateEntity(fromDTO);
return appUserService.updateAvatar(userDetail,fromDTO); return appUserService.updateAvatar(userDetail, fromDTO);
} }
@PostMapping("user/updateMobile") @PostMapping("user/updateMobile")
public Result updateMobile(@LoginUser TokenDto userDetail, EpdcUserUpdateMobileFromDTO fromDTO){ public Result updateMobile(@LoginUser TokenDto userDetail, EpdcUserUpdateMobileFromDTO fromDTO) {
ValidatorUtils.validateEntity(fromDTO); ValidatorUtils.validateEntity(fromDTO);
return appUserService.updateMobile(userDetail,fromDTO); return appUserService.updateMobile(userDetail, fromDTO);
} }
} }

24
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -1,6 +1,5 @@
package com.elink.esua.epdc.feign; package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
@ -45,26 +44,27 @@ public interface UserFeignClient {
@PostMapping(value = "app-user/epdc-app/user/regist", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "app-user/epdc-app/user/regist", consumes = MediaType.APPLICATION_JSON_VALUE)
Result userRegist(@RequestBody UserDTO userDto); Result userRegist(@RequestBody UserDTO userDto);
/*** /**
* @Description 移动端获取用户信息 * 移动端获取用户信息
*
* @param id
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO>
* @Author qushutong * @Author qushutong
* @Date 2019/9/9 16:41 * @Date 2019/9/9 16:41
* @Param [id]
* @Return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO>
* @Exception * @Exception
*
*/ */
@GetMapping(value = "app-user/epdc-app/user/getInfoById/{id}") @GetMapping(value = "app-user/epdc-app/user/getInfoById/{id}")
Result<EpdcUserInfoResultDTO> getInfoById(@PathVariable("id") String id); Result<EpdcUserInfoResultDTO> getInfoById(@PathVariable("id") String id);
/*** /***
* @Description 修改手机号 或者头像 * @Description 修改手机号 或者头像
* @Author qushutong * @Author qushutong
* @Date 2019/9/9 18:26 * @Date 2019/9/9 18:26
* @Param [userDTO] * @Param [userDTO]
* @Return com.elink.esua.epdc.commons.tools.utils.Result * @Return com.elink.esua.epdc.commons.tools.utils.Result
* @Exception * @Exception
* *
*/ */
@PostMapping(value = "app-user/epdc-app/user/updateMobileOrAvatar") @PostMapping(value = "app-user/epdc-app/user/updateMobileOrAvatar", consumes = MediaType.APPLICATION_JSON_VALUE)
Result updateMobileOrAvatar(UserDTO userDTO); Result updateMobileOrAvatar(@RequestBody UserDTO userDTO);
} }

23
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -140,10 +140,10 @@ public class AppUserServiceImpl implements AppUserService {
@Override @Override
public Result updateAvatar(TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO) { public Result updateAvatar(TokenDto userDetail, EpdcUserUpdateAvatarFromDTO fromDTO) {
UserDTO userDTO = new UserDTO(); UserDTO userDto = new UserDTO();
userDTO.setId(fromDTO.getId()); userDto.setId(userDetail.getUserId());
userDTO.setFaceImg(fromDTO.getAvatar()); userDto.setFaceImg(fromDTO.getAvatar());
return userFeignClient.updateMobileOrAvatar(userDTO); return userFeignClient.updateMobileOrAvatar(userDto);
} }
@Override @Override
@ -154,17 +154,16 @@ public class AppUserServiceImpl implements AppUserService {
if (StringUtils.isBlank(smsCode) || !smsCode.equals(fromDTO.getSmsCode())) { if (StringUtils.isBlank(smsCode) || !smsCode.equals(fromDTO.getSmsCode())) {
return new Result().error("手机验证码错误"); return new Result().error("手机验证码错误");
} }
UserDTO userDTO = new UserDTO(); UserDTO userDto = new UserDTO();
userDTO.setId(userDetail.getUserId()); userDto.setId(userDetail.getUserId());
PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile); PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile);
if (phoneDto != null) { if (phoneDto != null) {
userDTO.setMobile(mobile); userDto.setMobile(mobile);
userDTO.setMobileCarrier(phoneDto.getCarrier()); userDto.setMobileCarrier(phoneDto.getCarrier());
userDTO.setMobileCity(phoneDto.getCityName()); userDto.setMobileCity(phoneDto.getCityName());
userDTO.setMobileProvince(phoneDto.getProvinceName()); userDto.setMobileProvince(phoneDto.getProvinceName());
} }
userFeignClient.updateMobileOrAvatar(userDTO); return userFeignClient.updateMobileOrAvatar(userDto);
return userFeignClient.updateMobileOrAvatar(userDTO);
} }
@Override @Override

40
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppInformationBusinessEnum.java

@ -0,0 +1,40 @@
package com.elink.esua.epdc.enums;
/**
* 用户消息所属业务类型枚举
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/9 18:49
*/
public enum AppInformationBusinessEnum {
/**
* 事件评论
*/
IMB_COMMENT("comment"),
/**
* 评论回复
*/
IMB_REPLY("reply"),
/**
* 议题处理
*/
IMB_ISSUE("issue"),
/**
* 社群邀请
*/
IMB_CROWD("crowd");
private String value;
AppInformationBusinessEnum(String value) {
this.value = value;
}
public String value() {
return value;
}
}

42
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/enums/AppInformationEnum.java

@ -0,0 +1,42 @@
package com.elink.esua.epdc.enums;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
/**
* 用户消息类型枚举
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/9 18:49
*/
public enum AppInformationEnum {
/**
* 0审核通知
*/
IM_AUDIT(NumConstant.ZERO_STR),
/**
* 1互动通知
*/
IM_COMMENT(NumConstant.ONE_STR),
/**
* 2进度通知
*/
IM_PROGRESS(NumConstant.TWO_STR),
/**
* 3社群通知
*/
IM_CROWD(NumConstant.THREE_STR);
private String value;
AppInformationEnum(String value) {
this.value = value;
}
public String value() {
return value;
}
}

0
esua-epdc/epdc-module/epdc-news/epdc-news-client/src/main/java/com/elink/esua/epdc/epdc.gitkeep

5
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateAvatarFromDTO.java

@ -15,12 +15,9 @@ public class EpdcUserUpdateAvatarFromDTO implements Serializable {
private static final long serialVersionUID = 1126153080068634180L; private static final long serialVersionUID = 1126153080068634180L;
/** /**
* avatar : 4dYNI3BKBf * 用户头像
*/ */
@NotBlank(message = "上传头像不能为空") @NotBlank(message = "上传头像不能为空")
private String avatar; private String avatar;
@NotBlank(message = "用户id不能为空")
private String id;
} }

8
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserUpdateMobileFromDTO.java

@ -12,20 +12,14 @@ import java.io.Serializable;
*/ */
@Data @Data
public class EpdcUserUpdateMobileFromDTO implements Serializable { public class EpdcUserUpdateMobileFromDTO implements Serializable {
private static final long serialVersionUID = 6408236549416534900L; private static final long serialVersionUID = 6408236549416534900L;
/**
* mobile : rtJ5UDcx8f
* smsCode : obS6Tzpgmq
*/
@NotBlank(message = "手机号不能为空") @NotBlank(message = "手机号不能为空")
private String mobile; private String mobile;
@NotBlank(message = "验证码不能为空") @NotBlank(message = "验证码不能为空")
private String smsCode; private String smsCode;
@NotBlank(message = "用户id不能为空")
private String id;
} }

2
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/result/EpdcUserInfoResultDTO.java

@ -33,6 +33,6 @@ public class EpdcUserInfoResultDTO implements Serializable {
private String villageName; private String villageName;
private String buildingCode; private String buildingCode;
private String unitCode; private String unitCode;
private String headImg; private String faceImg;
} }

9
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
@ -170,6 +171,14 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override @Override
public Result userRegist(UserDTO userDto) { public Result userRegist(UserDTO userDto) {
// 手机号查重
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(FieldConstant.MOBILE, userDto.getMobile())
.ne(FieldConstant.STATE, AppUserAuditStateEnum.AUDIT_FAILURE.value());
Integer count = this.baseDao.selectCount(wrapper);
if (count > NumConstant.ZERO) {
return new Result().error("注册失败,手机号已被注册");
}
this.save(userDto); this.save(userDto);
return new Result().ok("注册成功"); return new Result().ok("注册成功");
} }

48
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -3,57 +3,11 @@
<mapper namespace="com.elink.esua.epdc.dao.UserDao"> <mapper namespace="com.elink.esua.epdc.dao.UserDao">
<resultMap type="com.elink.esua.epdc.entity.UserEntity" id="userMap">
<result property="id" column="ID"/>
<result property="nickname" column="NICKNAME"/>
<result property="mobile" column="MOBILE"/>
<result property="password" column="PASSWORD"/>
<result property="registerTime" column="REGISTER_TIME"/>
<result property="faceImg" column="FACE_IMG"/>
<result property="sex" column="SEX"/>
<result property="birthday" column="BIRTHDAY"/>
<result property="email" column="EMAIL"/>
<result property="telephone" column="TELEPHONE"/>
<result property="zipCode" column="ZIP_CODE"/>
<result property="profession" column="PROFESSION"/>
<result property="hobbies" column="HOBBIES"/>
<result property="userSign" column="USER_SIGN"/>
<result property="invitationCode" column="INVITATION_CODE"/>
<result property="lastLoginTime" column="LAST_LOGIN_TIME"/>
<result property="lastLoginIp" column="LAST_LOGIN_IP"/>
<result property="lastLongitude" column="LAST_LONGITUDE"/>
<result property="lastLatitude" column="LAST_LATITUDE"/>
<result property="realName" column="REAL_NAME"/>
<result property="identityNo" column="IDENTITY_NO"/>
<result property="address" column="ADDRESS"/>
<result property="wxOpenId" column="WX_OPEN_ID"/>
<result property="partyFlag" column="PARTY_FLAG"/>
<result property="registerWay" column="REGISTER_WAY"/>
<result property="registerSource" column="REGISTER_SOURCE"/>
<result property="phoneProvince" column="PHONE_PROVINCE"/>
<result property="phoneCity" column="PHONE_CITY"/>
<result property="phoneCarrier" column="PHONE_CARRIER"/>
<result property="points" column="POINTS"/>
<result property="inviteUserId" column="INVITE_USER_ID"/>
<result property="revision" column="REVISION"/>
<result property="gridId" column="GRID_ID"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="state" column="STATE"/>
<result property="streetId" column="STREET_ID"/>
<result property="street" column="STREET"/>
<result property="community" column="COMMUNITY"/>
<result property="communityId" column="COMMUNITY_ID"/>
<result property="grid" column="GRID"/>
</resultMap>
<select id="selectOneInfoById" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO"> <select id="selectOneInfoById" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO">
SELECT SELECT
eu.ID AS id, eu.ID AS id,
eu.NICKNAME AS nickname, eu.NICKNAME AS nickname,
eu.FACE_IMG AS headImg, eu.FACE_IMG AS faceImg,
eu.MOBILE AS mobile, eu.MOBILE AS mobile,
eu.IDENTITY_NO AS identityNo, eu.IDENTITY_NO AS identityNo,
CONCAT( CONCAT(

Loading…
Cancel
Save