diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomEnterpriseController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomEnterpriseController.java index 854361013..1bd2ddc15 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomEnterpriseController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiCustomEnterpriseController.java @@ -1,5 +1,9 @@ package com.elink.esua.epdc.controller; +import com.elink.esua.epdc.common.token.dto.TokenDto; +import com.elink.esua.epdc.commons.tools.annotation.LoginUser; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.service.CustomEnterpriseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -16,4 +20,17 @@ public class ApiCustomEnterpriseController { @Autowired private CustomEnterpriseService customEnterpriseService; + + + /*** + * 完善企业信息,必填表单 + * @param + * @return Result + * @author qushutong + * @date 2020/2/28 13:34 + */ + @PostMapping("completeRequisiteInfo") + public Result completeRequisiteInfo(@RequestBody CompleteRequisiteInfoDTO fromDto, @LoginUser TokenDto tokenDto) { + return customEnterpriseService.completeRequisiteInfo(fromDto, tokenDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java index b67a06116..c06bfc0b4 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/CustomFeignClient.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.dto.result.EpdcSentryPostInfoResultDTO; import com.elink.esua.epdc.feign.fallback.CustomFeignClientFallback; @@ -50,5 +51,14 @@ public interface CustomFeignClient { */ @GetMapping(value = "custom/epidemicSentryPost/selectOneByThirdSentryPostid/{thirdSentryPostid}", consumes = MediaType.APPLICATION_JSON_VALUE) Result getEpidemicSentryByThirdSentryPostid(@PathVariable("thirdSentryPostid") String thirdSentryPostid); - + + /*** + * 完善企业信息,必填表单 + * @param fromDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author qushutong + * @date 2020/2/28 13:49 + */ + @PostMapping(value = "custom/enterpriseinfo/completeRequisiteInfo", consumes = MediaType.APPLICATION_JSON_VALUE) + Result completeRequisiteInfo(@RequestBody CompleteRequisiteInfoDTO fromDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java index 00829eb3e..fc957a32d 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/CustomFeignClientFallback.java @@ -4,6 +4,7 @@ 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; import com.elink.esua.epdc.dto.EpidemicSentryPostDTO; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.dto.form.EpiDemicReportFormDTO; import com.elink.esua.epdc.feign.CustomFeignClient; import org.springframework.stereotype.Component; @@ -30,4 +31,9 @@ public class CustomFeignClientFallback implements CustomFeignClient { public Result getEpidemicSentryByThirdSentryPostid(String thirdSentryPostid) { return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "getEpidemicSentryByThirdSentryPostid", thirdSentryPostid); } + + @Override + public Result completeRequisiteInfo(CompleteRequisiteInfoDTO fromDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_CUSTOM_SERVER, "completeRequisiteInfo", fromDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomEnterpriseService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomEnterpriseService.java index fbb438968..25a851b30 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomEnterpriseService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/CustomEnterpriseService.java @@ -1,5 +1,9 @@ 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.form.CompleteRequisiteInfoDTO; + /** * 企业认证 * @@ -8,4 +12,13 @@ package com.elink.esua.epdc.service; */ public interface CustomEnterpriseService { + /*** + * 完善企业信息,必填表单 + * @param + * @return + * @author qushutong + * @date 2020/2/28 13:44 + */ + Result completeRequisiteInfo(CompleteRequisiteInfoDTO fromDto, TokenDto tokenDto); + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java index 1079fb242..c37e30449 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomEnterpriseServiceImpl.java @@ -1,7 +1,19 @@ package com.elink.esua.epdc.service.impl; +import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; +import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; +import com.elink.esua.epdc.common.token.dto.TokenDto; +import com.elink.esua.epdc.commons.tools.exception.RenException; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; +import com.elink.esua.epdc.feign.CustomFeignClient; +import com.elink.esua.epdc.redis.AppUserRedis; import com.elink.esua.epdc.service.CustomEnterpriseService; +import com.elink.esua.epdc.utils.WxMaServiceUtils; import lombok.extern.slf4j.Slf4j; +import me.chanjar.weixin.common.error.WxErrorException; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -14,4 +26,60 @@ import org.springframework.stereotype.Service; @Service public class CustomEnterpriseServiceImpl implements CustomEnterpriseService { + @Autowired + private AppUserRedis appUserRedis; + + @Autowired + private CustomFeignClient customFeignClient; + + @Autowired + private WxMaServiceUtils wxMaServiceUtils; + + @Override + public Result completeRequisiteInfo(CompleteRequisiteInfoDTO fromDto, TokenDto tokenDto) { + // 验证手机号 + this.checkSmsCode(fromDto.getMobile(), fromDto.getSmsCode()); + fromDto.setUserId(tokenDto.getUserId()); + if (StringUtils.isNotBlank(fromDto.getWxCode())&&StringUtils.isNotBlank(fromDto.getIv())&&StringUtils.isNotBlank(fromDto.getEncryptedData())) { + String sessionKey = this.getUserSessionKey(fromDto.getWxCode()); + WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.normalWxMaService().getUserService().getUserInfo(sessionKey, fromDto.getEncryptedData(), fromDto.getIv()); + if (StringUtils.isBlank(wxMaUserInfo.getUnionId())) { + return new Result().error("解析微信开放平台ID失败"); + } + fromDto.setWxUnionId(wxMaUserInfo.getUnionId()); + } + + return customFeignClient.completeRequisiteInfo(fromDto); + } + + /** + * 校验手机验证码 + */ + private void checkSmsCode(String mobile, String smsCode) { + String redisSmsCode = appUserRedis.getSmsCode(mobile); + if (StringUtils.isBlank(redisSmsCode) || !redisSmsCode.equals(smsCode)) { + throw new RenException("手机验证码错误"); + } + } + + /** + * 根据微信code获取session_key + * + * @return java.lang.String + * @params [code] + * @author liuchuang + * @since 2019/10/25 16:31 + */ + private String getUserSessionKey(String code) { + try { + WxMaJscode2SessionResult wxMaJscode2SessionResult = wxMaServiceUtils.normalWxMaService().jsCode2SessionInfo(code); + if (wxMaJscode2SessionResult != null) { + return wxMaJscode2SessionResult.getSessionKey(); + } + } catch (WxErrorException e) { + e.printStackTrace(); + throw new RenException(e.getError().getErrorMsg()); + } + return null; + } } diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/CompleteRequisiteInfoDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/CompleteRequisiteInfoDTO.java new file mode 100644 index 000000000..e518229cb --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/form/CompleteRequisiteInfoDTO.java @@ -0,0 +1,73 @@ +package com.elink.esua.epdc.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author: qushutong + * @Date: 2020/2/28 13:36 + * @Description: + */ +@Data +public class CompleteRequisiteInfoDTO implements Serializable { + private static final long serialVersionUID = 1371157927862793721L; + + + @NotBlank(message = "姓名不能为空") + private String realName; + + /*** + *性别 0女 1男 + */ + @NotBlank(message = "性别不能为空") + private String sex; + + @NotBlank(message = "联系电话电话不能为空") + private String mobile; + + @NotBlank(message = "企业名称不能为空") + private String enterpriseName; + + @NotBlank(message = "统一社会信用代码不能为空") + private String uniformSocialCreditCode; + + @NotBlank(message = "企业地址不能为空") + private String enterpriseAddress; + + @NotBlank(message = "居住网格ID不能为空") + private Long deptId; + + /** + * 企业id(修改时必填) + */ + + private String id; + + @NotBlank(message = "手机号验证码不能为空") + private String smsCode; + + /** + * 微信code不能为空 + */ + private String wxCode; + + /** + * 微信信息加密向量(用户unionid为空时传入) + */ + private String iv; + + /** + * 微信加密数据(用户unionid为空时传入) + */ + private String encryptedData; + + + private String userId; + + + private String wxUnionId; + + +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml index 7c54b78e0..83037907b 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml @@ -13,6 +13,11 @@ jar + + com.esua.epdc + epdc-user-client + 1.0.0 + com.esua.epdc epdc-custom-client diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/controller/EnterpriseInfoController.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/controller/EnterpriseInfoController.java index 54207449d..98030c83d 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/controller/EnterpriseInfoController.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/controller/EnterpriseInfoController.java @@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.dto.enterprise.EnterpriseInfoDTO; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.modules.enterprise.excel.EnterpriseInfoExcel; import com.elink.esua.epdc.modules.enterprise.service.EnterpriseInfoService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +92,16 @@ public class EnterpriseInfoController { ExcelUtils.exportExcelToTarget(response, null, list, EnterpriseInfoExcel.class); } + + /*** + * 完善企业信息,必填表单 + * @param + * @return Result + * @author qushutong + * @date 2020/2/28 13:34 + */ + @PostMapping("completeRequisiteInfo") + public Result completeRequisiteInfo(@RequestBody CompleteRequisiteInfoDTO fromDto) { + return enterpriseInfoService.completeRequisiteInfo(fromDto); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/EnterpriseInfoService.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/EnterpriseInfoService.java index da80879c6..f6600d63c 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/EnterpriseInfoService.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/EnterpriseInfoService.java @@ -19,7 +19,9 @@ package com.elink.esua.epdc.modules.enterprise.service; 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.enterprise.EnterpriseInfoDTO; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.modules.enterprise.entity.EnterpriseInfoEntity; import java.util.List; @@ -92,4 +94,14 @@ public interface EnterpriseInfoService extends BaseService * @date 2020-02-28 */ void delete(String[] ids); + + + /*** + * 完善企业信息,必填表单 + * @param + * @return + * @author qushutong + * @date 2020/2/28 13:44 + */ + Result completeRequisiteInfo(CompleteRequisiteInfoDTO fromDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/impl/EnterpriseInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/impl/EnterpriseInfoServiceImpl.java index b4949f1d9..92a9871fc 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/impl/EnterpriseInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/service/impl/EnterpriseInfoServiceImpl.java @@ -20,14 +20,23 @@ package com.elink.esua.epdc.modules.enterprise.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.NumConstant; +import com.elink.esua.epdc.commons.tools.exception.RenException; 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.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.enterprise.EnterpriseInfoDTO; +import com.elink.esua.epdc.dto.epdc.form.CompleteRequisiteUserInfoDTO; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; import com.elink.esua.epdc.modules.enterprise.dao.EnterpriseInfoDao; import com.elink.esua.epdc.modules.enterprise.entity.EnterpriseInfoEntity; import com.elink.esua.epdc.modules.enterprise.redis.EnterpriseInfoRedis; import com.elink.esua.epdc.modules.enterprise.service.EnterpriseInfoService; +import com.elink.esua.epdc.modules.feign.AdminFeignClient; +import com.elink.esua.epdc.modules.feign.UserFeignClient; +import io.seata.spring.annotation.GlobalTransactional; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -49,6 +58,12 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -65,8 +80,8 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -101,4 +116,28 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(fromDto.getDeptId())); + if (!parentResult.success() || parentResult.getData() == null) { + throw new RenException("获取部门信息失败"); + } else { + ParentAndAllDeptDTO deptDTO = parentResult.getData(); + enterpriseInfoDTO.setAllDeptIds(deptDTO.getAllDeptIds()); + enterpriseInfoDTO.setAllDeptNames(deptDTO.getAllDeptNames()); + enterpriseInfoDTO.setParentDeptIds(deptDTO.getParentDeptIds()); + enterpriseInfoDTO.setParentDeptNames(deptDTO.getParentDeptNames()); + } + save(enterpriseInfoDTO); + //更新用户表数据 + CompleteRequisiteUserInfoDTO userInfoDTO = ConvertUtils.sourceToTarget(fromDto, CompleteRequisiteUserInfoDTO.class); + userInfoDTO.setDwellingPlace(enterpriseInfoDTO.getEnterpriseAddress()); + userInfoDTO.setNickName(parentResult.getData().getGrid()+"-"+ fromDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE) + + (Integer.parseInt(fromDto.getSex()) == NumConstant.ZERO ? "女士" : "先生")); + userFeignClient.completeRequisiteInfo(userInfoDTO); + return new Result(); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java new file mode 100644 index 000000000..fe70966ce --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/AdminFeignClient.java @@ -0,0 +1,42 @@ +package com.elink.esua.epdc.modules.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.modules.feign.fallback.AdminFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class) +public interface AdminFeignClient { + + /** + * 根据部门ID,获取下属所有网格ID + * + * @param pid + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author yujintao + * @date 2019/9/5 14:49 + */ + @GetMapping("/sys/dept/listGridId/{pid}") + Result> listGridIdByDeptPid(@PathVariable("pid") Long pid); + + /** + * 根据部门ID获取上级所有部门信息 + * + * @param deptId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author gp + * @date 2019-11-29 + */ + @GetMapping("/sys/dept/getParentAndAllDept/{deptId}") + Result getParentAndAllDept(@PathVariable("deptId") String deptId); +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/UserFeignClient.java new file mode 100644 index 000000000..e4a3e5e6e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/UserFeignClient.java @@ -0,0 +1,28 @@ +package com.elink.esua.epdc.modules.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.epdc.form.CompleteRequisiteUserInfoDTO; +import com.elink.esua.epdc.modules.feign.fallback.UserFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author: qushutong + * @Date: 2020/2/28 14:41 + * @Description: 更新用户 + */ +@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class) +public interface UserFeignClient { + + /*** + * 更新用户 + * @param + * @return Result> + * @author qushutong + * @date 2020/2/28 14:43 + */ + @PostMapping("app-user/epdc-app/user/completeRequisiteInfo") + Result completeRequisiteInfo(@RequestBody CompleteRequisiteUserInfoDTO fromDto); +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java new file mode 100644 index 000000000..b4f7c3f79 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/AdminFeignClientFallback.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.modules.feign.fallback; + +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; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.modules.feign.AdminFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@Component +public class AdminFeignClientFallback implements AdminFeignClient { + + @Override + public Result> listGridIdByDeptPid(Long pid) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid); + } + + @Override + public Result getParentAndAllDept(String depId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId); + } +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserFeignClientFallback.java new file mode 100644 index 000000000..f19fb6bea --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/feign/fallback/UserFeignClientFallback.java @@ -0,0 +1,16 @@ +package com.elink.esua.epdc.modules.feign.fallback; + +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; +import com.elink.esua.epdc.dto.epdc.form.CompleteRequisiteUserInfoDTO; +import com.elink.esua.epdc.dto.form.CompleteRequisiteInfoDTO; +import com.elink.esua.epdc.modules.feign.UserFeignClient; + +public class UserFeignClientFallback implements UserFeignClient { + + @Override + public Result completeRequisiteInfo(CompleteRequisiteUserInfoDTO fromDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "completeRequisiteInfo", fromDto); + } +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/CompleteRequisiteUserInfoDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/CompleteRequisiteUserInfoDTO.java new file mode 100644 index 000000000..4a8fce2cb --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/CompleteRequisiteUserInfoDTO.java @@ -0,0 +1,35 @@ +package com.elink.esua.epdc.dto.epdc.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author: qushutong + * @Date: 2020/2/28 13:36 + * @Description: + */ +@Data +public class CompleteRequisiteUserInfoDTO implements Serializable { + private static final long serialVersionUID = -6935440742503633316L; + + + private String realName; + + + private String mobile; + + private Long deptId; + + + private String userId; + + private String dwellingPlace; + + private String wxUnionId; + + private String nickName; + + +} 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 7c42cf0b8..a0557fc4a 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 @@ -188,7 +188,7 @@ public class EpdcAppUserController { /** * 社群添加好友列表 * - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [formDto] * @author liuchuang * @since 2019/10/23 16:22 @@ -240,7 +240,7 @@ public class EpdcAppUserController { // 查询此用户是否已经注册并且完善了用户信息 UserDTO userDTO = userService.get(userDto.getId()); // 除了注册之外的 几个状态都不需要更新Nickname - if(AppUserStatesEnum.STATE_REGISTERED.value().equals(userDTO.getState())){ + if (AppUserStatesEnum.STATE_REGISTERED.value().equals(userDTO.getState())) { user.setNickname(userDto.getNickname()); } user.setId(userDto.getId()); @@ -338,7 +338,7 @@ public class EpdcAppUserController { /** * 获取邀请记录 * - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @params [formDto] * @author liuchuang * @since 2019/10/23 16:22 @@ -364,7 +364,7 @@ public class EpdcAppUserController { /** * @param gridIdList - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @Author yinzuomei * @Description 根据网格id查询网格下所有的用户 * @Date 2019/12/19 15:02 @@ -373,11 +373,11 @@ public class EpdcAppUserController { public Result> queryGroupUsers(@RequestBody List gridIdList) { return userService.listGridUserResultDTO(gridIdList); } - + /*** * 居民在防疫哨卡进行登记时,上送数据并完善党群系统个人信息 * @param formDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author qushutong * @date 2020/2/15 11:06 */ @@ -385,4 +385,17 @@ public class EpdcAppUserController { public Result> sentPidemicInfo(@RequestBody EpdcAppPidemicCompleteInfoFromDTO formDTO) { return userService.createPidemicInfo(formDTO); } + + + /*** + * 完善企业信息,必填表单 跟新用户 + * @param + * @return Result + * @author qushutong + * @date 2020/2/28 13:34 + */ + @PostMapping("completeRequisiteInfo") + public Result completeRequisiteInfo(@RequestBody CompleteRequisiteUserInfoDTO fromDto) { + return userService.completeRequisiteInfo(fromDto); + } } 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 5b9d53ef1..07da036b7 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 @@ -206,28 +206,32 @@ public interface UserService extends BaseService { /** * 获取居民详情(已认证或待认证(提交信息待审核)的居民用户) + * * @param userId 用户Id * @return */ - Result residentDetail(String userId); + Result residentDetail(String userId); /** * 获取党员详情(已认证或未认证的党员用户) + * * @param userId * @return */ - Result partyMemberDetail(String userId); + Result partyMemberDetail(String userId); /** * 认证用户(用户信息审核) + * * @param formDTO * @return */ Result authenticateResident(EpdcAppAuthenticateResidentFormDTO formDTO); + /*** * 获取用户列表 * @param workUserFromDto - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @author qushutong * @date 2019/11/18 14:00 */ @@ -243,11 +247,10 @@ public interface UserService extends BaseService { Result getUnauthorizedAmount(EpdcUnauthorizedAmountFromDTO fromDto); /** - * * 获取用户最后一次切换的网格信息 * - * @params [openId] * @return com.elink.esua.epdc.commons.tools.utils.Result + * @params [openId] * @author liuchuang * @since 2019/12/6 10:59 */ @@ -264,13 +267,12 @@ public interface UserService extends BaseService { /** * @param gridIdList - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @Author yinzuomei * @Description 根据网格id查询网格下所有的用户 * @Date 2019/12/19 15:03 **/ - Result> listGridUserResultDTO(List gridIdList); - + Result> listGridUserResultDTO(List gridIdList); /*** @@ -283,5 +285,15 @@ public interface UserService extends BaseService { Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto); - Result insertUserList(MultipartFile file,Map params); + Result insertUserList(MultipartFile file, Map params); + + + /*** + * 完善企业信息,必填表单 + * @param + * @return + * @author qushutong + * @date 2020/2/28 13:44 + */ + Result completeRequisiteInfo(CompleteRequisiteUserInfoDTO fromDto); } 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 790a05daf..262d11e5f 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 @@ -862,7 +862,7 @@ public class UserServiceImpl extends BaseServiceImpl implem /** * @param gridIdList - * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @return com.elink.esua.epdc.commons.tools.utils.Result> * @Author yinzuomei * @Description 根据网格id查询网格下所有的用户 * @Date 2019/12/19 15:03 @@ -1086,4 +1086,18 @@ public class UserServiceImpl extends BaseServiceImpl implem System.out.println("从Excel导入数据一共 {} 行 " + userExcelList.size()); return new Result(); } + + @Override + public Result completeRequisiteInfo(CompleteRequisiteUserInfoDTO fromDto) { + UserDTO userDTO = ConvertUtils.sourceToTarget(fromDto, UserDTO.class); + UserEntity userEntity = baseDao.selectById(fromDto.getUserId()); + //而且姓名必须与用户表中原来的姓名一致,否则不更新姓名与昵称。 + if (!userEntity.getRealName().equals(userDTO.getRealName())) { + userDTO.setRealName(userEntity.getRealName()); + userDTO.setNickname(userEntity.getNickname()); + } + userDTO.setId(fromDto.getUserId()); + update(userDTO); + return new Result(); + } }