Kaynağa Gözat

供应商临时密码登陆redis转mysql(redis序列化有问题)

zhijiezhao 8 ay önce
ebeveyn
işleme
ee1be0f7e6

+ 9 - 1
src/main/java/com/caimei/modules/user/dao/CmUserDao.java

@@ -41,7 +41,7 @@ public interface CmUserDao extends CrudDao<CmUser> {
      */
     void updateUserInfo(@Param("realName") String realName, @Param("name") String name, @Param("userName") String userName, @Param("bindMobile") String bindMobile, @Param("email") String email, @Param("userID") Integer userID);
 
-    CmUser findUserByMobile(@Param("mobile") String mobile,@Param("oldUserId") String oldUserId,@Param("userIdentity") Integer userIdentity);
+    CmUser findUserByMobile(@Param("mobile") String mobile, @Param("oldUserId") String oldUserId, @Param("userIdentity") Integer userIdentity);
 
     List<CmUser> findListBuyBindMobile(CmUser cmUser);
 
@@ -69,6 +69,7 @@ public interface CmUserDao extends CrudDao<CmUser> {
 
     /**
      * 用户价值
+     *
      * @param userId
      * @return
      */
@@ -76,6 +77,7 @@ public interface CmUserDao extends CrudDao<CmUser> {
 
     /**
      * 用户活跃
+     *
      * @param userId
      * @return
      */
@@ -85,13 +87,19 @@ public interface CmUserDao extends CrudDao<CmUser> {
 
     /**
      * 添加用户价值
+     *
      * @param userId
      */
     void insertOrgan(@Param("userId") Integer userId);
 
     /**
      * 添加用户活跃状态
+     *
      * @param userId
      */
     void insertActiveOrgan(@Param("userId") Integer userId);
+
+    String findTemporaryUser(Integer userId);
+
+    void insertTemporaryUser(@Param("userId") Integer userId, @Param("password") String password);
 }

+ 6 - 11
src/main/java/com/caimei/modules/user/web/NewCmShopController.java

@@ -73,8 +73,6 @@ public class NewCmShopController extends BaseController {
     @Resource
     private CmOperationalLogService cmOperationalLogService;
     @Resource
-    private SysLogService sysLogService;
-    @Resource
     private MessageCenterDao messageCenterDao;
     @Resource
     private NewOrderService newOrderService;
@@ -82,8 +80,6 @@ public class NewCmShopController extends BaseController {
     private NewShopOrderDao newShopOrderDao;
     @Resource
     private WeChatService weChatService;
-    @Autowired
-    private RedisService redisService;
 
     @ModelAttribute
     public NewCmShop get(@RequestParam(required = false) String id) {
@@ -500,13 +496,12 @@ public class NewCmShopController extends BaseController {
 
     @ResponseBody
     @RequestMapping(value = "login/password")
-    public Map<String, String> loginPass(Integer userId, HttpServletRequest request, HttpServletResponse response) {
-        String pasKey = "pas-" + userId;
-        boolean exists = redisService.exists(pasKey);
+    public Map<String, String> loginPass(Integer userId) {
+        String pasKey = "pas-" + userId.toString();
+        String pass = cmUserDao.findTemporaryUser(userId);
         HashMap<String, String> pasMap = new HashMap<>();
-        if (exists) {
-            String val = (String) redisService.get(pasKey);
-            pasMap.put("pasKey", val);
+        if (StringUtils.isNotBlank(pass)) {
+            pasMap.put("pasKey", pass);
             return pasMap;
         } else {
             SecureRandom random = new SecureRandom();
@@ -519,7 +514,7 @@ public class NewCmShopController extends BaseController {
                 char randomChar = allowedChars.charAt(randomIndex);
                 sb.append(randomChar);
             }
-            redisService.set(pasKey, sb, 600L);
+            cmUserDao.insertTemporaryUser(userId, sb.toString());
             pasMap.put("pasKey", sb.toString());
             return pasMap;
         }

+ 12 - 2
src/main/resources/mappings/modules/user/CmUserMapper.xml

@@ -540,11 +540,16 @@
     </select>
 
     <select id="findUserIdentity" resultType="Integer">
-        SELECT
-            a.userIdentity AS "userIdentity"
+        SELECT a.userIdentity AS "userIdentity"
         FROM user a
         WHERE a.userID = #{userID}
     </select>
+    <select id="findTemporaryUser" resultType="java.lang.String">
+        select password
+        from cm_temporary_user
+        where addtime >= NOW() - INTERVAL 10 MINUTE
+          and userId = #{userId}
+    </select>
 
     <insert id="insertOrgan">
         INSERT INTO cm_organ_value_system
@@ -557,4 +562,9 @@
             (userID, activeState, activeStatus, stage, addTime, delType)
         VALUES (#{userId}, '活跃用户', 0, 0, date_format(now(), '%Y-%m-%d'), 1)
     </insert>
+
+    <insert id="insertTemporaryUser">
+        insert into cm_temporary_user(userId, password, addtime)
+        values (#{userId}, #{password}, now())
+    </insert>
 </mapper>