diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppSaveWxFormIdFormDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppSaveWxFormIdFormDTO.java new file mode 100644 index 000000000..1e7c5af6a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppSaveWxFormIdFormDTO.java @@ -0,0 +1,22 @@ +package com.elink.esua.epdc.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author work@yujt.net.cn + * @date 19/09/26 15:01 + */ +@Data +public class EpdcAppSaveWxFormIdFormDTO implements Serializable { + + private static final long serialVersionUID = -2343060559287063879L; + + @NotBlank(message = "wxCode不能为空") + private String wxCode; + + @NotBlank(message = "wxFormId不能为空") + private String wxFormId; +} 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 fc79395f7..72a8acc9f 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 @@ -10,6 +10,7 @@ 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.EpdcAppUserMaTokenFormDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; +import com.elink.esua.epdc.dto.form.EpdcAppSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.form.EpdcCheckRegisterFormDTO; import com.elink.esua.epdc.dto.result.EpdcAfterRegisterResultDTO; import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; @@ -31,6 +32,20 @@ public class ApiAppUserController { @Autowired private AppUserService appUserService; + /** + * 保存微信用户formId + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/9/26 15:03 + */ + @PostMapping("wxformid/save") + public Result saveUserWxFormId(@RequestBody EpdcAppSaveWxFormIdFormDTO formDto) { + ValidatorUtils.validateEntity(formDto); + return appUserService.saveUserWxFormId(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 8ff261e21..53902d85f 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 @@ -3,7 +3,10 @@ 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.UserDTO; +import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.feign.fallback.UserFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; @@ -111,4 +114,38 @@ public interface UserFeignClient { */ @GetMapping(value = "app-user/user/{id}") Result getUserById(@PathVariable("id") String id); + + /** + * 完成推送之后删除用过的formid + * + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author qushutong + * @date 2019/9/26 14:15 + */ + @PostMapping(value = "app-user/epdc-app/wxformid/deleteById", consumes = MediaType.APPLICATION_JSON_VALUE) + Result deleteWxFormIdById(EpdcUserWxFormIdFormDTO dto); + + /** + * 新增一条 + * + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author qushutong + * @date 2019/9/26 14:25 + */ + @PostMapping(value = "app-user/epdc-app/wxformid/save", consumes = MediaType.APPLICATION_JSON_VALUE) + Result saveWxFormId(@RequestBody EpdcUserSaveWxFormIdFormDTO dto); + + + /** + * 查出最新一条记录 + * + * @param openId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author qushutong + * @date 2019/9/26 14:11 + */ + @GetMapping("app-user/epdc-app/wxformid/getByOpenId/{openId}") + Result getWxFormId(@PathVariable("openId") String openId); } 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 57e98f418..b1fd78208 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 @@ -4,7 +4,10 @@ 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.UserDTO; +import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserRegistFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdFormDTO; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.feign.UserFeignClient; import org.springframework.stereotype.Component; @@ -56,4 +59,19 @@ public class UserFeignClientFallback implements UserFeignClient { public Result getUserById(String id) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserById", id); } + + @Override + public Result deleteWxFormIdById(EpdcUserWxFormIdFormDTO dto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "deleteWxFormIdById", dto); + } + + @Override + public Result saveWxFormId(EpdcUserSaveWxFormIdFormDTO dto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "saveWxFormId", dto); + } + + @Override + public Result getWxFormId(String openId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getWxFormId", openId); + } } 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 66bd65190..3184465e9 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 @@ -8,6 +8,7 @@ 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.EpdcAppUserMaTokenFormDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; +import com.elink.esua.epdc.dto.form.EpdcAppSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.form.EpdcCheckRegisterFormDTO; import com.elink.esua.epdc.dto.result.EpdcAfterRegisterResultDTO; import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; @@ -102,4 +103,14 @@ public interface AppUserService { * @date 2019/9/26 09:14 */ Result checkRegister(EpdcCheckRegisterFormDTO formDto); + + /** + * 保存微信用户formId + * + * @param formDto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/9/26 15:03 + */ + Result saveUserWxFormId(EpdcAppSaveWxFormIdFormDTO 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 35b1cd715..4f1a8bf7e 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 @@ -15,9 +15,11 @@ 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.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserMaTokenFormDTO; import com.elink.esua.epdc.dto.form.EpdcAppUserTokenFormDTO; +import com.elink.esua.epdc.dto.form.EpdcAppSaveWxFormIdFormDTO; import com.elink.esua.epdc.dto.form.EpdcCheckRegisterFormDTO; import com.elink.esua.epdc.dto.result.EpdcAfterRegisterResultDTO; import com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO; @@ -99,6 +101,16 @@ public class AppUserServiceImpl implements AppUserService { return this.getTokenByOpenId(formDto.getOpenId()); } + @Override + public Result saveUserWxFormId(EpdcAppSaveWxFormIdFormDTO formDto) { + + EpdcUserSaveWxFormIdFormDTO saveFormId = new EpdcUserSaveWxFormIdFormDTO(); + saveFormId.setWxFormId(formDto.getWxFormId()); + saveFormId.setWxOpenId(this.getWxMaUser(formDto.getWxCode()).getOpenid()); + + return this.userFeignClient.saveWxFormId(saveFormId); + } + /** * 根据unionId登录 * diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java index 4bc14c945..ad85afe22 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/MessageServiceImpl.java @@ -1,12 +1,17 @@ package com.elink.esua.epdc.service.impl; +import cn.binarywang.wx.miniapp.api.WxMaMsgService; +import cn.binarywang.wx.miniapp.api.WxMaService; +import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.UserDTO; +import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.dto.form.EpdcRegisterResultSmsFormDTO; import com.elink.esua.epdc.enums.AppUserAuditStateEnum; import com.elink.esua.epdc.feign.MessageFeignClient; import com.elink.esua.epdc.feign.UserFeignClient; import com.elink.esua.epdc.service.MessageService; +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; @@ -25,6 +30,9 @@ public class MessageServiceImpl implements MessageService { @Autowired private UserFeignClient userFeignClient; + @Autowired + private WxMaService wxMaService; + /** * 发送六位短信验证码 * diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserWxFormIdDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserWxFormIdDTO.java index 3196f77d0..f4827fcd5 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserWxFormIdDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserWxFormIdDTO.java @@ -23,7 +23,7 @@ import lombok.Data; /** - * 用户标签表 + * 微信formId表 * * @author qu qu@elink-cn.com * @since v1.0.0 2019-09-26 diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserWxFormIdSaveFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserSaveWxFormIdFormDTO.java similarity index 87% rename from esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserWxFormIdSaveFormDTO.java rename to esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserSaveWxFormIdFormDTO.java index 55314caab..ab9134741 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserWxFormIdSaveFormDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcUserSaveWxFormIdFormDTO.java @@ -11,7 +11,7 @@ import java.io.Serializable; * @Description: 保存formid */ @Data -public class EpdcUserWxFormIdSaveFormDTO implements Serializable { +public class EpdcUserSaveWxFormIdFormDTO implements Serializable { private static final long serialVersionUID = 5579624182759030906L; diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAooUserWxFormIdController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserWxFormIdController.java similarity index 83% rename from esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAooUserWxFormIdController.java rename to esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserWxFormIdController.java index aac7074a9..8c4f8076e 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAooUserWxFormIdController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserWxFormIdController.java @@ -17,37 +17,27 @@ package com.elink.esua.epdc.controller; -import com.elink.esua.epdc.commons.tools.page.PageData; -import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; -import com.elink.esua.epdc.commons.tools.validator.AssertUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; -import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; 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.UserWxFormIdDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdFormDTO; -import com.elink.esua.epdc.dto.epdc.form.EpdcUserWxFormIdSaveFormDTO; -import com.elink.esua.epdc.excel.UserWxFormIdExcel; +import com.elink.esua.epdc.dto.epdc.form.EpdcUserSaveWxFormIdFormDTO; import com.elink.esua.epdc.service.UserWxFormIdService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; - - /** - * 用户标签表 + * 微信formId表 * * @author qu qu@elink-cn.com * @since v1.0.0 2019-09-26 */ @RestController @RequestMapping("wxformid") -public class EpdcAooUserWxFormIdController { +public class EpdcAppUserWxFormIdController { @Autowired private UserWxFormIdService userWxFormIdService; @@ -69,14 +59,14 @@ public class EpdcAooUserWxFormIdController { } /*** - * 新增一跳 + * 新增一条 * @param dto * @return com.elink.esua.epdc.commons.tools.utils.Result * @author qushutong * @date 2019/9/26 14:25 */ @PostMapping("save") - public Result delete(@RequestBody EpdcUserWxFormIdSaveFormDTO dto) { + public Result save(@RequestBody EpdcUserSaveWxFormIdFormDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); UserWxFormIdDTO userWxFormIdDTO = new UserWxFormIdDTO(); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserWxFormIdDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserWxFormIdDao.java index f932f2697..25510e441 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserWxFormIdDao.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserWxFormIdDao.java @@ -23,7 +23,7 @@ import com.elink.esua.epdc.entity.UserWxFormIdEntity; import org.apache.ibatis.annotations.Mapper; /** - * 用户标签表 + * 微信formId表 * * @author qu qu@elink-cn.com * @since v1.0.0 2019-09-26 diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserWxFormIdEntity.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserWxFormIdEntity.java index c2b6ee468..b5353778e 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserWxFormIdEntity.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/entity/UserWxFormIdEntity.java @@ -23,10 +23,9 @@ import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; /** - * 用户标签表 + * 微信formId表 * * @author qu qu@elink-cn.com * @since v1.0.0 2019-09-26 diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserWxFormIdServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserWxFormIdServiceImpl.java index 4b57ebada..b5ee73819 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserWxFormIdServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserWxFormIdServiceImpl.java @@ -26,10 +26,8 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.dao.UserWxFormIdDao; import com.elink.esua.epdc.dto.UserWxFormIdDTO; import com.elink.esua.epdc.entity.UserWxFormIdEntity; -import com.elink.esua.epdc.redis.UserWxFormIdRedis; import com.elink.esua.epdc.service.UserWxFormIdService; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,7 +36,7 @@ import java.util.List; import java.util.Map; /** - * 用户标签表 + * 微信formId表 * * @author qu qu@elink-cn.com * @since v1.0.0 2019-09-26 diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserWxFormIdDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserWxFormIdDao.xml index 100d2f365..894f43904 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserWxFormIdDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserWxFormIdDao.xml @@ -3,24 +3,13 @@ - - - - - - - - - - - - SELECT * FROM epdc_user_wx_form_id ei WHERE - ei.WX_OPEN_ID = #{openId} + ei.WX_OPEN_ID = #{openId} and ei.del_flag = '0' ORDER BY ei.CREATED_TIME DESC LIMIT 1