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 db6aad19d..1a01f4f52 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 @@ -27,27 +27,27 @@ public class ApiCustomEnterpriseController { private CustomEnterpriseService customEnterpriseService; /** - * @Description 企业信息完善 + * @return void + * @Description 企业信息完善,选填 * @Author songyunpeng - * @Date 2020/2/28 + * @Date 2020/2/28 * @Param [enterpriseInfoDTO] - * @return void **/ - @GetMapping("/completeSelectiveInfo") + @GetMapping("completeSelectiveInfo") public Result completeEnterpriseInfo(EnterpriseInfoFormDTO enterpriseInfoFormDTO) { return customEnterpriseService.completeEnterpriseInfo(enterpriseInfoFormDTO); } + /** - * @Description 查询企业信息 + * @return com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO + * @Description 查询企业信息 * @Author songyunpeng - * @Date 2020/2/28 + * @Date 2020/2/28 * @Param [userId] - * @return com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO **/ - - @GetMapping("/getByUserId") + @GetMapping("getByUserId") public Result getByUserId(@LoginUser TokenDto tokenDto) { - String userId = tokenDto.getUserId(); + String userId = tokenDto.getUserId(); return customEnterpriseService.selectOneEnterpriseInfo(userId); } @@ -60,7 +60,7 @@ public class ApiCustomEnterpriseController { * @date 2020/2/28 13:34 */ @PostMapping("completeRequisiteInfo") - public Result completeRequisiteInfo(@LoginUser TokenDto tokenDto,CompleteRequisiteInfoDTO fromDto) { + public Result completeRequisiteInfo(@LoginUser TokenDto tokenDto, CompleteRequisiteInfoDTO fromDto) { return customEnterpriseService.completeRequisiteInfo(fromDto, 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 dd6234b8b..3951071ce 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 @@ -8,9 +8,7 @@ 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; @@ -18,7 +16,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; 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; /** @@ -52,20 +49,39 @@ public class CustomEnterpriseServiceImpl implements CustomEnterpriseService { @Override - public Result completeRequisiteInfo(CompleteRequisiteInfoDTO fromDto, TokenDto tokenDto) { + public Result completeRequisiteInfo(CompleteRequisiteInfoDTO formDto, 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()); - } + this.checkSmsCode(formDto.getMobile(), formDto.getSmsCode()); + formDto.setUserId(tokenDto.getUserId()); + formDto.setWxUnionId(getWxUnionId(formDto.getWxCode(), formDto.getIv(), formDto.getEncryptedData())); + + return customFeignClient.completeRequisiteInfo(formDto); + } - return customFeignClient.completeRequisiteInfo(fromDto); + /** + * 解析微信用户unionid + *

代码说明: + * 小程序端用户完善信息界面,提交数据前会调用{@link com.elink.esua.epdc.controller.ApiAppUserController#checkWxUnionId(TokenDto)} + * 获取用户是否已绑定了微信unionId + * 如果用户保存过unionId,前端不会再上送encryptedData,wxCode,iv这三个参数。

+ * + * @param wxCode + * @param iv + * @param encryptedData + * @return java.lang.String + * @author work@yujt.net.cn + * @date 2020/2/28 14:51 + */ + private String getWxUnionId(String wxCode, String iv, String encryptedData) { + if (StringUtils.isBlank(wxCode) || StringUtils.isBlank(iv) || StringUtils.isBlank(encryptedData)) { + return null; + } + String sessionKey = this.getUserSessionKey(wxCode); + WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.normalWxMaService().getUserService().getUserInfo(sessionKey, encryptedData, iv); + if (null == wxMaUserInfo || StringUtils.isBlank(wxMaUserInfo.getUnionId())) { + throw new RenException("解析微信数据失败,请刷新后重试"); + } + return wxMaUserInfo.getUnionId(); } /** @@ -94,6 +110,9 @@ public class CustomEnterpriseServiceImpl implements CustomEnterpriseService { } } catch (WxErrorException e) { e.printStackTrace(); + if (e.getError().getErrorCode() == 40163) { + throw new RenException("禁止重复提交,请刷新页面后重试"); + } 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/enterprise/form/EnterpriseInfoFormDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/form/EnterpriseInfoFormDTO.java index 97efd8aaa..67a9f4f3c 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/form/EnterpriseInfoFormDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/form/EnterpriseInfoFormDTO.java @@ -41,11 +41,6 @@ public class EnterpriseInfoFormDTO implements Serializable { @NotBlank(message = "ID不能为空") private String id; - /** - * 用户id - */ - private String userId; - /** * 法定代表人 */ diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/result/EnterpriseInfoResultDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/result/EnterpriseInfoResultDTO.java index 7cdc325aa..90d7f5bae 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/result/EnterpriseInfoResultDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/enterprise/result/EnterpriseInfoResultDTO.java @@ -104,9 +104,10 @@ public class EnterpriseInfoResultDTO implements Serializable { * 居住网格id */ private Long deptId; + /** * 所有部门名称 */ - private String allDeptNames; + private String deptName; } \ 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/dao/EnterpriseInfoDao.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/dao/EnterpriseInfoDao.java index 834f19192..75c2692ae 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/dao/EnterpriseInfoDao.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/dao/EnterpriseInfoDao.java @@ -18,7 +18,6 @@ package com.elink.esua.epdc.modules.enterprise.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; -import com.elink.esua.epdc.dto.enterprise.EnterpriseInfoDTO; import com.elink.esua.epdc.dto.enterprise.form.EnterpriseInfoFormDTO; import com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO; import com.elink.esua.epdc.modules.enterprise.entity.EnterpriseInfoEntity; @@ -34,20 +33,20 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface EnterpriseInfoDao extends BaseDao { /** - * @Description 企业信息完善 + * @return void + * @Description 企业信息完善 * @Author songyunpeng - * @Date 2020/2/28 + * @Date 2020/2/28 * @Param [enterpriseInfoDTO] - * @return void **/ void completeEnterpriseInfo(EnterpriseInfoFormDTO formDTO); /** - * @Description 查询企业信息 + * @return com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO + * @Description 查询企业信息 * @Author songyunpeng - * @Date 2020/2/28 + * @Date 2020/2/28 * @Param [userId] - * @return com.elink.esua.epdc.dto.enterprise.result.EnterpriseInfoResultDTO **/ EnterpriseInfoResultDTO selectOneEnterpriseInfo(@Param("userId") String userId); } \ 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/redis/EnterpriseInfoRedis.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/redis/EnterpriseInfoRedis.java deleted file mode 100644 index 6cd9ee4ae..000000000 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/enterprise/redis/EnterpriseInfoRedis.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.elink.esua.epdc.modules.enterprise.redis; - -import com.elink.esua.epdc.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 企业信息表 - * - * @author elink elink@elink-cn.com - * @since v1.0.0 2020-02-28 - */ -@Component -public class EnterpriseInfoRedis { - @Autowired - private RedisUtils redisUtils; - - public void delete(Object[] ids) { - - } - - public void set(){ - - } - - public String get(String id){ - return null; - } - -} \ 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 5fb591b34..295f3f189 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 @@ -17,6 +17,7 @@ package com.elink.esua.epdc.modules.enterprise.service.impl; +import cn.hutool.core.util.ArrayUtil; 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; @@ -34,7 +35,6 @@ 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; @@ -57,10 +57,6 @@ import java.util.Map; @Service public class EnterpriseInfoServiceImpl extends BaseServiceImpl implements EnterpriseInfoService { - @Autowired - private EnterpriseInfoRedis enterpriseInfoRedis; - - @Autowired private AdminFeignClient adminFeignClient; @@ -126,7 +122,15 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl> + * @param fromDto + * @return Result> * @author qushutong * @date 2020/2/28 14:43 */ diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/enterprise/EnterpriseInfoDao.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/enterprise/EnterpriseInfoDao.xml index bec467004..024a0cee4 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/enterprise/EnterpriseInfoDao.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/enterprise/EnterpriseInfoDao.xml @@ -3,7 +3,6 @@ - @@ -19,9 +18,9 @@ - + - + UPDATE epdc_enterprise_info @@ -33,7 +32,7 @@ WHERE ID=#{id} - +