瀏覽代碼

close qrtz

he2802 2 年之前
父節點
當前提交
687944383a

+ 6 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/constant/Constants.java

@@ -64,6 +64,8 @@ public class Constants
 
     public static final String WX_LOGIN_TOKEN_KEY = "wx_login_tokens:";
 
+    public static final String SELLER_LOGIN_TOKEN_KEY = "se_login_tokens:";
+
     /**
      * 防重提交 redis key
      */
@@ -96,6 +98,8 @@ public class Constants
      */
     public static final String WX_TOKEN_PREFIX = "WX ";
 
+    public static final String SELLER_TOKEN_PREFIX = "SE ";
+
     public static final String REGISTER_SMS = "REGISTER-";
     public static final String FORGET_SMS = "FORGET-";
     public static final String LOGIN_SMS = "LOGIN-";
@@ -113,6 +117,8 @@ public class Constants
     public static final String SELLER_LOGIN_USER_KEY = "seller_login_user_key";
 
 
+
+
     /**
      * 用户ID
      */

+ 54 - 12
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/impl/DistributionSellerServiceImpl.java → zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/DistributionSellerServiceImpl.java

@@ -1,4 +1,4 @@
-package com.zhongzheng.modules.distribution.service.impl;
+package com.zhongzheng.framework.web.service;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
@@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.redis.RedisCache;
+import com.zhongzheng.common.enums.UserStatus;
+import com.zhongzheng.common.exception.BaseException;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.type.EncryptHandler;
-import com.zhongzheng.common.utils.DateUtils;
-import com.zhongzheng.common.utils.SecurityUtils;
-import com.zhongzheng.common.utils.ServletUtils;
-import com.zhongzheng.common.utils.ToolsUtils;
+import com.zhongzheng.common.utils.*;
 import com.zhongzheng.modules.distribution.bo.*;
 import com.zhongzheng.modules.distribution.domain.DistributionSeller;
 import com.zhongzheng.modules.distribution.mapper.DistributionSellerMapper;
@@ -20,6 +19,8 @@ import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
 import com.zhongzheng.modules.distribution.vo.DistributionSellerVo;
 import com.zhongzheng.modules.user.bo.UserAppRegisterBo;
 import com.zhongzheng.modules.user.domain.User;
+import com.zhongzheng.modules.user.entity.ClientLoginSeller;
+import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import com.zhongzheng.modules.user.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -28,10 +29,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.io.InputStream;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -49,6 +48,9 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
     @Autowired
     private IUserService iUserService;
 
+    @Autowired
+    private SellerTokenService sellerTokenService;
+
     @Override
     public Boolean registerSeller(SellerAppRegisterBo bo) {
         if(StringUtils.isBlank(bo.getIdcard())){
@@ -90,7 +92,7 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
         inertData.setRealname(bo.getRealname());
         inertData.setAvatar(Constants.DEFAULT_AVATAR);
         inertData.setPassword(SecurityUtils.encryptPassword(bo.getPwd()));
-        inertData.setCode(ServletUtils.getEncoded("YW"));
+        inertData.setUserAccount(ServletUtils.getEncoded("YW"));
         inertData.setCreateTime(DateUtils.getNowTime());
         inertData.setUpdateTime(DateUtils.getNowTime());
         inertData.setShareCode(ToolsUtils.getRandomString(8));
@@ -184,7 +186,47 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
 
     @Override
     public Map<String, Object> accountLogin(SellerAppAccountLoginBo bo) {
-        return null;
+        if(Validator.isEmpty(bo.getAccount())){
+            throw new CustomException("账号不能为空");
+        }
+        LambdaQueryWrapper<DistributionSeller> queryWrapper =new LambdaQueryWrapper<DistributionSeller>();
+        queryWrapper.and(wq -> wq
+                .eq(DistributionSeller::getTelphone,EncryptHandler.encrypt(bo.getAccount()))
+                .or()
+                .eq(DistributionSeller::getIdCard,EncryptHandler.encrypt(bo.getAccount())));
+        DistributionSeller seller = getOne(queryWrapper);
+        if(Validator.isEmpty(seller)){
+            throw new CustomException("登录信息错误");
+        }
+        else if (UserStatus.DISABLE.getCode().equals(seller.getStatus()))
+        {
+            throw new BaseException("对不起,您的账号:已停用");
+        }
+        String password = null;
+        if(bo.getPwd().length()>20){
+            String rsaPrivate = null;
+            try {
+                InputStream certStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config/pri.key");
+                rsaPrivate = AES.getStringByInputStream_1(certStream);
+                certStream.close();
+                password = AES.decrypt(bo.getPwd(),rsaPrivate);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }else{
+            password = bo.getPwd();
+        }
+        if (!SecurityUtils.matchesPassword(password,seller.getPassword()))
+        {
+            throw new BaseException("登录信息错误");
+        }
+        ClientLoginSeller loginSeller = new ClientLoginSeller();
+        loginSeller.setSeller(seller);
+        Map<String,Object> map = new HashMap<>();
+        map.put(Constants.TOKEN,sellerTokenService.createToken(loginSeller));
+        map.put("user_account",seller.getUserAccount());
+        map.put("full_info",Validator.isEmpty(seller.getIdCard())?false:true); //是否完善身份信息
+        return map;
     }
 
     @Override
@@ -202,7 +244,7 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
         lqw.eq(bo.getStatus() != null, DistributionSeller::getStatus, bo.getStatus());
         lqw.eq(StrUtil.isNotBlank(bo.getAvatar()), DistributionSeller::getAvatar, bo.getAvatar());
         lqw.eq(bo.getUserId() != null, DistributionSeller::getUserId, bo.getUserId());
-        lqw.eq(StrUtil.isNotBlank(bo.getCode()), DistributionSeller::getCode, bo.getCode());
+        lqw.eq(StrUtil.isNotBlank(bo.getUserAccount()), DistributionSeller::getUserAccount, bo.getUserAccount());
         lqw.eq(StrUtil.isNotBlank(bo.getGzhOpenId()), DistributionSeller::getGzhOpenId, bo.getGzhOpenId());
         lqw.eq(StrUtil.isNotBlank(bo.getUnionId()), DistributionSeller::getUnionId, bo.getUnionId());
         lqw.eq(StrUtil.isNotBlank(bo.getPassword()), DistributionSeller::getPassword, bo.getPassword());

+ 12 - 11
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SellerTokenService.java

@@ -10,6 +10,7 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ip.AddressUtils;
 import com.zhongzheng.common.utils.ip.IpUtils;
 import com.zhongzheng.modules.user.domain.User;
+import com.zhongzheng.modules.user.entity.ClientLoginSeller;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import com.zhongzheng.modules.user.service.IUserService;
 import io.jsonwebtoken.Claims;
@@ -79,7 +80,7 @@ public class SellerTokenService
         {
             Claims claims = parseToken(token);
             // 解析对应的权限以及用户信息
-            String uuid = (String) claims.get(Constants.WX_LOGIN_USER_KEY);
+            String uuid = (String) claims.get(Constants.SELLER_LOGIN_USER_KEY);
             String userKey = getTokenKey(uuid);
             ClientLoginUser user = redisCache.getCacheObject(userKey);
             return user;
@@ -99,7 +100,7 @@ public class SellerTokenService
     /**
      * 设置用户身份信息
      */
-    public void setLoginUser(ClientLoginUser loginUser)
+    public void setLoginUser(ClientLoginSeller loginUser)
     {
         if (Validator.isNotNull(loginUser) && Validator.isNotEmpty(loginUser.getToken()))
         {
@@ -125,14 +126,14 @@ public class SellerTokenService
      * @param loginUser 用户信息
      * @return 令牌
      */
-    public String createToken(ClientLoginUser loginUser)
+    public String createToken(ClientLoginSeller loginUser)
     {
-        String token = IdUtil.simpleUUID()+loginUser.getUser().getUserAccount();
+        String token = IdUtil.simpleUUID()+loginUser.getSeller().getUserAccount();
         loginUser.setToken(token);
         setUserAgent(loginUser);
         refreshToken(loginUser);
         Map<String, Object> claims = new HashMap<>();
-        claims.put(Constants.WX_LOGIN_USER_KEY, token);
+        claims.put(Constants.SELLER_LOGIN_USER_KEY, token);
         return createToken(claims);
     }
 
@@ -142,7 +143,7 @@ public class SellerTokenService
      * @param loginUser
      * @return 令牌
      */
-    public void verifyToken(ClientLoginUser loginUser)
+    public void verifyToken(ClientLoginSeller loginUser)
     {
         long expireTime = loginUser.getExpireTime();
         long currentTime = System.currentTimeMillis();
@@ -157,7 +158,7 @@ public class SellerTokenService
      *
      * @param loginUser 登录信息
      */
-    public void refreshToken(ClientLoginUser loginUser)
+    public void refreshToken(ClientLoginSeller loginUser)
     {
         loginUser.setLoginTime(System.currentTimeMillis());
         loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
@@ -171,7 +172,7 @@ public class SellerTokenService
      *
      * @param loginUser 登录信息
      */
-    public void setUserAgent(ClientLoginUser loginUser)
+    public void setUserAgent(ClientLoginSeller loginUser)
     {
         UserAgent userAgent = UserAgentUtil.parse(ServletUtils.getRequest().getHeader("User-Agent"));
         String ip = IpUtils.getIpAddr(ServletUtils.getRequest());
@@ -230,9 +231,9 @@ public class SellerTokenService
     public String getToken(HttpServletRequest request)
     {
         String token = request.getHeader(header);
-        if (Validator.isNotEmpty(token) && token.startsWith(Constants.WX_TOKEN_PREFIX))
+        if (Validator.isNotEmpty(token) && token.startsWith(Constants.SELLER_TOKEN_PREFIX))
         {
-            token = token.replace(Constants.WX_TOKEN_PREFIX, "");
+            token = token.replace(Constants.SELLER_TOKEN_PREFIX, "");
             return token;
         }else{
             return null;
@@ -242,6 +243,6 @@ public class SellerTokenService
 
     private String getTokenKey(String uuid)
     {
-        return Constants.WX_LOGIN_TOKEN_KEY + uuid;
+        return Constants.SELLER_LOGIN_TOKEN_KEY + uuid;
     }
 }

+ 1 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -1150,7 +1150,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         queryWrapper.and(wq -> wq
                 .eq(User::getTelphone,EncryptHandler.encrypt(bo.getAccount()))
                 .or()
-                .eq(User::getIdCard,bo.getAccount()));
+                .eq(User::getIdCard,EncryptHandler.encrypt(bo.getAccount())));
         User user = getOne(queryWrapper);
         if(Validator.isEmpty(user)){
             iUserLoginErrorService.saveErrorLog(bo.getAccount());

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionSellerAddBo.java

@@ -44,7 +44,7 @@ public class DistributionSellerAddBo {
     private Long userId;
     /** 业务员编号 */
     @ApiModelProperty("业务员编号")
-    private String code;
+    private String userAccount;
     /** 公众号openid */
     @ApiModelProperty("公众号openid")
     private String gzhOpenId;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionSellerEditBo.java

@@ -52,7 +52,7 @@ public class DistributionSellerEditBo {
 
     /** 业务员编号 */
     @ApiModelProperty("业务员编号")
-    private String code;
+    private String userAccount;
 
     /** 公众号openid */
     @ApiModelProperty("公众号openid")

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/DistributionSellerQueryBo.java

@@ -56,7 +56,7 @@ public class DistributionSellerQueryBo extends BaseEntity {
 	private Long userId;
 	/** 业务员编号 */
 	@ApiModelProperty("业务员编号")
-	private String code;
+	private String userAccount;
 	/** 公众号openid */
 	@ApiModelProperty("公众号openid")
 	private String gzhOpenId;

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/domain/DistributionSeller.java

@@ -45,7 +45,7 @@ private static final long serialVersionUID=1L;
     /** 关联用户ID */
     private Long userId;
     /** 业务员编号 */
-    private String code;
+    private String userAccount;
     /** 公众号openid */
     private String gzhOpenId;
     /** 微信unionId */

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/vo/DistributionSellerVo.java

@@ -51,7 +51,7 @@ public class DistributionSellerVo {
 	/** 业务员编号 */
 	@Excel(name = "业务员编号")
 	@ApiModelProperty("业务员编号")
-	private String code;
+	private String userAccount;
 	/** 公众号openid */
 	@Excel(name = "公众号openid")
 	@ApiModelProperty("公众号openid")

+ 65 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/entity/ClientLoginSeller.java

@@ -0,0 +1,65 @@
+package com.zhongzheng.modules.user.entity;
+
+import com.zhongzheng.modules.distribution.domain.DistributionSeller;
+import com.zhongzheng.modules.user.domain.User;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * 登录用户身份权限
+ *
+ * @author zhongzheng
+ */
+
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+public class ClientLoginSeller
+{
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户唯一标识
+     */
+    private String token;
+
+    /**
+     * 登录时间
+     */
+    private Long loginTime;
+
+    /**
+     * 过期时间
+     */
+    private Long expireTime;
+
+    /**
+     * 登录IP地址
+     */
+    private String ipaddr;
+
+    /**
+     * 登录地点
+     */
+    private String loginLocation;
+
+    /**
+     * 浏览器类型
+     */
+    private String browser;
+
+    /**
+     * 操作系统
+     */
+    private String os;
+
+
+    /**
+     * 用户信息
+     */
+    private DistributionSeller seller;
+
+
+
+}

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/distribution/DistributionSellerMapper.xml

@@ -14,7 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime" column="update_time"/>
         <result property="avatar" column="avatar"/>
         <result property="userId" column="user_id"/>
-        <result property="code" column="code"/>
+        <result property="userAccount" column="user_account"/>
         <result property="gzhOpenId" column="gzh_open_id"/>
         <result property="unionId" column="union_id"/>
         <result property="password" column="password"/>