Quellcode durchsuchen

bindUser接口调整

liuam vor 7 Jahren
Ursprung
Commit
d42207fcd2

+ 2 - 25
src/main/java/com/uas/platform/b2c/common/weixin/contoller/WeChatController.java

@@ -1,8 +1,8 @@
 package com.uas.platform.b2c.common.weixin.contoller;
 
-import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.common.weixin.model.MessageModel;
+import com.uas.platform.b2c.common.weixin.model.UserVo;
 import com.uas.platform.b2c.common.weixin.service.WeChatService;
 import com.uas.platform.b2c.common.weixin.util.CheckoutUtil;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
@@ -111,7 +111,7 @@ public class WeChatController {
      * @return
      */
     @RequestMapping(value = "/bindUser", method = RequestMethod.POST)
-    public ModelMap bindUser(@RequestBody User user) {
+    public ModelMap bindUser(@RequestBody UserVo user) {
         logger.info("绑定用户 userUU: {}", user.getUserUU());
         return weChatService.bindUser(user);
     }
@@ -143,27 +143,4 @@ public class WeChatController {
         return success("发送成功");
     }
 
-    /**
-     * 根据 验证码 和 手机号 绑定用户
-     * @param smsCode 验证码
-     * @param mobile 手机号
-     * @return
-     */
-    @RequestMapping(value = "/bindUserBySmsCode", method = RequestMethod.POST)
-    public ModelMap bindUserBySmsCode(String smsCode, String mobile) {
-        smsCode = StringUtils.trimAllWhitespace(smsCode);
-        if (StringUtils.isEmpty(smsCode)) {
-            return error("验证码不能为空");
-        }
-
-        boolean verifyCode = weChatService.verifyCode(mobile, smsCode);
-
-        if (!verifyCode) {
-            return error("验证码错误");
-        }
-        User user = userService.findUserByUserTel(mobile);
-
-        logger.info("绑定用户 userUU: {}", user.getUserUU());
-        return weChatService.bindUser(user);
-    }
 }

+ 21 - 0
src/main/java/com/uas/platform/b2c/common/weixin/model/UserVo.java

@@ -0,0 +1,21 @@
+package com.uas.platform.b2c.common.weixin.model;
+
+import com.uas.platform.b2c.common.account.model.User;
+
+/**
+ * 验证码 user 包装类
+ * @author liuam
+ * @since 2018/8/14 0014 下午 17:56
+ */
+public class UserVo extends User {
+
+    private String code;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+}

+ 2 - 2
src/main/java/com/uas/platform/b2c/common/weixin/service/WeChatService.java

@@ -1,7 +1,7 @@
 package com.uas.platform.b2c.common.weixin.service;
 
-import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.weixin.model.MessageModel;
+import com.uas.platform.b2c.common.weixin.model.UserVo;
 import org.springframework.ui.ModelMap;
 
 import java.util.List;
@@ -33,7 +33,7 @@ public interface WeChatService {
      * @param user
      * @return
      */
-    ModelMap bindUser(User user);
+    ModelMap bindUser(UserVo user);
 
     /**
      * 发送验证码

+ 14 - 6
src/main/java/com/uas/platform/b2c/common/weixin/service/impl/WeChatServiceImpl.java

@@ -5,6 +5,7 @@ import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.weixin.exception.WeChatException;
 import com.uas.platform.b2c.common.weixin.model.MessageModel;
+import com.uas.platform.b2c.common.weixin.model.UserVo;
 import com.uas.platform.b2c.common.weixin.model.req.AuthTokenParams;
 import com.uas.platform.b2c.common.weixin.model.req.AuthUserParams;
 import com.uas.platform.b2c.common.weixin.model.req.WechatTemplateMsg;
@@ -161,18 +162,25 @@ public class WeChatServiceImpl implements WeChatService{
      * @return
      */
     @Override
-    public ModelMap bindUser(User user) {
+    public ModelMap bindUser(UserVo user) {
         logger.info("微信绑定用户 userUU: {}", user.getUserUU());
         ModelMap result = new ModelMap();
         // 账户中心校验手机号和密码是否正确
         if (StringUtils.isEmpty(user) || StringUtils.isEmpty(user.getUserTel()) || StringUtils.isEmpty(user.getUserPwd()) || StringUtils.isEmpty(user.getOpenId())) {
-            throw new IllegalOperatorException("信息不完整!");
+            if (StringUtils.isEmpty(user.getCode())) {
+                throw new IllegalOperatorException("信息不完整!");
+            } else {
+                boolean verifyCode = verifyCode(user.getUserTel(), user.getCode());
+                if (!verifyCode) {
+                   return new ModelMap("error", true).addAttribute("errMsg", "验证码错误");
+                }
+            }
         }
         // 是否存在用户信息
         List<User> oldUsers = userDao.findUserByUserTel(user.getUserTel());
         if (CollectionUtils.isEmpty(oldUsers)) {
             throw new IllegalOperatorException("未找到用户信息");
-    }
+        }
         List<User> judgeUser = userDao.findUsersByOpenId(user.getOpenId());
         if (!CollectionUtils.isEmpty(judgeUser)) {
             throw new IllegalOperatorException("该微信号已被绑定");
@@ -191,11 +199,11 @@ public class WeChatServiceImpl implements WeChatService{
                 throw new IllegalOperatorException("手机号或密码不正确");
             }
             oldUser.setOpenId(user.getOpenId());
-            user = userDao.save(oldUser);
+            User newUser = userDao.save(oldUser);
             // 转成UserAccount便于登录
-            UserAccount userAccount = convertUserAccount(user);
+            UserAccount userAccount = convertUserAccount(newUser);
             // 企业信息单独提出
-            Set<Enterprise> enterprises = user.getEnterprises();
+            Set<Enterprise> enterprises = newUser.getEnterprises();
             result.put("userAccount", userAccount);
             result.put("enterprises", enterprises);
             result.put("success", true);