From 080d757e30d1e05534db8e56a77dfd0bf9d7a63e Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Mon, 16 Dec 2019 14:27:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=8B=E5=85=AC=E5=B3=B0=EF=BC=9A=E5=BF=97?= =?UTF-8?q?=E6=84=BF=E8=80=85=E8=AE=A4=E8=AF=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/controller/ApiAppUserController.java | 2 +- .../esua/epdc/feign/UserFeignClient.java | 11 +- .../fallback/UserFeignClientFallback.java | 6 +- .../esua/epdc/service/AppUserService.java | 2 +- .../epdc/service/impl/AppUserServiceImpl.java | 8 +- .../EpdcCompleteVolunteerInfoFormDTO.java | 107 ++++++++++++++++++ .../EpdcAppVolunteerInfoController.java | 52 +++++++++ .../elink/esua/epdc/dao/VolunteerInfoDao.java | 8 ++ .../epdc/service/VolunteerInfoService.java | 12 ++ .../impl/VolunteerInfoServiceImpl.java | 23 +++- .../resources/mapper/VolunteerInfoDao.xml | 4 + 11 files changed, 218 insertions(+), 17 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppVolunteerInfoController.java 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 5b0c50177..8d1e963ec 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 @@ -275,7 +275,7 @@ public class ApiAppUserController { * @date 2019/12/13 14:41 */ @PostMapping("volunteer/authenticate") - public Result volunteerAuthenticate(@LoginUser TokenDto tokenDto, @RequestBody EpdcCompleteUserInfoFormDTO formDto) { + public Result volunteerAuthenticate(@LoginUser TokenDto tokenDto, @RequestBody EpdcCompleteVolunteerInfoFormDTO formDto) { ValidatorUtils.validateEntity(formDto); return appUserService.volunteerAuthenticate(tokenDto, formDto); 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 5e3ad40c5..b04801acd 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 @@ -1,6 +1,5 @@ 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.utils.Result; import com.elink.esua.epdc.dto.UserDTO; @@ -8,7 +7,6 @@ import com.elink.esua.epdc.dto.UserGridRelationDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.*; -import com.elink.esua.epdc.dto.form.EpdcCompleteUserInfoFormDTO; import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -336,15 +334,14 @@ public interface UserFeignClient { * @param userId * @return */ - @GetMapping("app-user/epdc-app/user/getVolunteerCountById/{userId}") + @GetMapping("app-user/epdc-app/volunteerinfo/getVolunteerCountById/{userId}") Result getVolunteerCountById(@PathVariable("userId") String userId); /** * 添加志愿者 - * @param tokenDto - * @param formDto + * @param epdcCompleteVolunteerInfoFormDTO * @return */ - @GetMapping("app-user/epdc-app/user/insertVolunteerInfo") - Result insertVolunteerInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto); + @GetMapping("app-user/epdc-app/volunteerinfo/insertVolunteerInfo") + Result insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO); } 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 102541aa5..2bb8043a5 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 @@ -1,6 +1,5 @@ package com.elink.esua.epdc.feign.fallback; -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.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; @@ -9,7 +8,6 @@ import com.elink.esua.epdc.dto.UserGridRelationDTO; import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.*; -import com.elink.esua.epdc.dto.form.EpdcCompleteUserInfoFormDTO; import com.elink.esua.epdc.feign.UserFeignClient; import org.springframework.stereotype.Component; @@ -168,7 +166,7 @@ public class UserFeignClientFallback implements UserFeignClient { } @Override - public Result insertVolunteerInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto) { - return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "insertVolunteerInfo", tokenDto,formDto); + public Result insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "insertVolunteerInfo", epdcCompleteVolunteerInfoFormDTO); } } 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 fed44f1d1..e01f27f12 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 @@ -224,7 +224,7 @@ public interface AppUserService { * @Author wanggongfeng * @return */ - Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto); + Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto); 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 566b33c5b..de01a201f 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 @@ -1047,18 +1047,20 @@ public class AppUserServiceImpl implements AppUserService { } @Override - public Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto) { + public Result volunteerAuthenticate(TokenDto tokenDto, EpdcCompleteVolunteerInfoFormDTO formDto) { Boolean isVolunteer = true; Result volunteerCountResult = userFeignClient.getVolunteerCountById(tokenDto.getUserId()); if (!volunteerCountResult.success() || null == volunteerCountResult.getData()) { throw new RenException("志愿者认证失败"); }else if(volunteerCountResult.getData() == 0){ isVolunteer = false; - Result insertCountResult = userFeignClient.insertVolunteerInfo(tokenDto,formDto); + formDto.setUserId(tokenDto.getUserId()); + Result insertCountResult = userFeignClient.insertVolunteerInfo(formDto); } //用户完善个人信息-保存 - Result result = completeUserInfo(tokenDto, formDto); + EpdcCompleteUserInfoFormDTO formDto2 = new EpdcCompleteUserInfoFormDTO(); + Result result = completeUserInfo(tokenDto, formDto2); return new Result().ok(isVolunteer); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java new file mode 100644 index 000000000..874237abc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcCompleteVolunteerInfoFormDTO.java @@ -0,0 +1,107 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 移动端完善用户信息 + * + * @author work@yujt.net.cn + * @date 2019/10/26 10:56 + */ +@Data +public class EpdcCompleteVolunteerInfoFormDTO implements Serializable { + + private static final long serialVersionUID = 7848126935041704928L; + + /** + * 用户Id + */ + private String userId; + + /** + * 真实姓名 + */ + @NotBlank(message = "真实姓名不能为空") + private String realName; + + /** + * 手机号 + */ + @NotBlank(message = "手机号不能为空") + private String mobile; + + @NotBlank(message = "党员标识不能为空") + private String partyFlag; + + /** + * 身份证号码 + */ + private String identityNo; + + /** + * 所在道路 + */ + @NotBlank(message = "所在道路不能为空") + private String road; + + /** + * 小区名 + */ + private String villageName; + + /** + * 住处(楼栋-单元-房间) + */ + private String dwellingPlace; + + /** + * 居住网格id + */ + private Long gridId; + + /** + * 微信code + */ + private String wxCode; + + /** + * 用户信息 + */ + private String encryptedData; + + /** + * 加密算法的初始向量 + */ + private String iv; + + /** + * 自我介绍 + */ + private String introduce; + + + + /*----------------------用户认证所需字段-----------------------------*/ + + /** + * 短信验证码 + */ + @NotBlank(message = "短信验证码不能为空") + private String smsCode; + /** + * 0女,1男 + */ + @NotBlank(message = "性别不能为空") + private String sex; + + + + + + + + +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppVolunteerInfoController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppVolunteerInfoController.java new file mode 100644 index 000000000..1c1a2890e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppVolunteerInfoController.java @@ -0,0 +1,52 @@ +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.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO; +import com.elink.esua.epdc.service.VolunteerInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 对移动端开放 + * + * @author wanggongfeng + * @date 2019/9/6 20:31 + */ +@RestController +@RequestMapping(Constant.EPDC_APP + "volunteerinfo") +public class EpdcAppVolunteerInfoController { + @Autowired + private VolunteerInfoService volunteerInfoService; + + /** + * 根据用户id 进行志愿者认证 + * @param userId + * @author wanggongfeng + * @return + */ + @GetMapping("getVolunteerCountById/{userId}") + public Result getVolunteerCountById(@PathVariable("userId") String userId) { + return volunteerInfoService.getVolunteerCountById(userId); + } + + /** + * 插入一条志愿者数据 + * @param epdcCompleteVolunteerInfoFormDTO + * @return + */ + @GetMapping("insertVolunteerInfo") + public Result insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) { + //效验数据 + ValidatorUtils.validateEntity(epdcCompleteVolunteerInfoFormDTO, UpdateGroup.class, DefaultGroup.class); + Result result = volunteerInfoService.insertVolunteerInfo(epdcCompleteVolunteerInfoFormDTO); + return result; + } + +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java index f10d93c44..ab2d77b20 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VolunteerInfoDao.java @@ -22,6 +22,7 @@ import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; import com.elink.esua.epdc.entity.VolunteerInfoEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -80,4 +81,11 @@ public interface VolunteerInfoDao extends BaseDao { * @return */ UserTagDTO volunteerTagQuery(String tagCode); + + /** + * 志愿者认证 + * @param userId + * @return + */ + int getVolunteerCountById(@Param("userId") String userId); } \ 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/VolunteerInfoService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java index bd925827e..3de549008 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/VolunteerInfoService.java @@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO; import com.elink.esua.epdc.entity.VolunteerInfoEntity; import java.util.List; @@ -134,4 +135,15 @@ public interface VolunteerInfoService extends BaseService { * @return */ UserTagDTO volunteerTagQuery(String tagCode); + + /** + * 根据用户id 进行志愿者认证 + * @param userId + * @author wanggongfeng + * @return + * @Date 2019/12/13 16:39 + */ + Result getVolunteerCountById(String userId); + + Result insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO); } \ 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/VolunteerInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java index e41c16c74..d227ec07d 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java @@ -20,13 +20,14 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; -import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dao.VolunteerInfoDao; import com.elink.esua.epdc.dto.UserTagDTO; import com.elink.esua.epdc.dto.VolunteerInfoDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcCompleteVolunteerInfoFormDTO; import com.elink.esua.epdc.entity.VolunteerInfoEntity; import com.elink.esua.epdc.redis.VolunteerInfoRedis; import com.elink.esua.epdc.service.UserService; @@ -182,5 +183,25 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl getVolunteerCountById(String userId) { + return new Result().ok(baseDao.getVolunteerCountById(userId)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result insertVolunteerInfo(EpdcCompleteVolunteerInfoFormDTO epdcCompleteVolunteerInfoFormDTO) { + VolunteerInfoEntity volunteerEntity = ConvertUtils.sourceToTarget(epdcCompleteVolunteerInfoFormDTO, VolunteerInfoEntity.class); + insert(volunteerEntity); + return new Result().ok(0); + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml index 1cb028988..6e8887f7a 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VolunteerInfoDao.xml @@ -142,4 +142,8 @@ ,AUDITOR = #{auditor} WHERE ID = #{id} + + \ No newline at end of file