he2802 2 anni fa
parent
commit
9a8345663b

+ 8 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/distribution/SellerLoginController.java

@@ -4,6 +4,7 @@ import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.modules.distribution.bo.SellerAppAccountLoginBo;
+import com.zhongzheng.modules.distribution.bo.SellerAppOpenidLoginBo;
 import com.zhongzheng.modules.distribution.bo.SellerAppRegisterBo;
 import com.zhongzheng.modules.distribution.service.IDistributionSellerService;
 import io.swagger.annotations.Api;
@@ -59,6 +60,13 @@ public class SellerLoginController extends BaseController {
         return AjaxResult.success(map);
     }
 
+    @ApiOperation("业务员openid登录")
+    @PostMapping("/openid_login")
+    public AjaxResult openid_login(@RequestBody SellerAppOpenidLoginBo bo) {
+        Map<String,Object> map = iDistributionSellerService.openidLogin(bo);
+        return AjaxResult.success(map);
+    }
+
     @ApiOperation("刷新业务员登录令牌")
     @GetMapping("/refreshToken/{userAccount}")
     public AjaxResult refreshToken(@PathVariable("userAccount") String userAccount)

+ 19 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/system/SysLoginController.java

@@ -1,7 +1,7 @@
 package com.zhongzheng.controller.system;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.domain.AjaxResult;
@@ -13,6 +13,7 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.web.service.SysLoginService;
 import com.zhongzheng.framework.web.service.SysPermissionService;
 import com.zhongzheng.framework.web.service.TokenService;
+import com.zhongzheng.modules.goods.bo.OldTenantLoginBo;
 import com.zhongzheng.modules.system.service.ISysMenuService;
 import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.service.ISysUserService;
@@ -133,4 +134,21 @@ public class SysLoginController
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(user.getUserId());
         return AjaxResult.success(menuService.buildMenus(menus));
     }
+
+    @ApiOperation("旧系统用户登入")
+    @PostMapping("/old/login")
+    public AjaxResult oldTenantLogin(@RequestBody OldTenantLoginBo bo)
+    {
+//        if(!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(),bo.getSign())){
+//            return AjaxResult.error("签名错误");
+//        }
+        if (StringUtils.isBlank(bo.getAccount())){
+            return AjaxResult.error("账号不能为空");
+        }
+        AjaxResult ajax = AjaxResult.success();
+        String token = loginService.oldTenantLogin(bo);
+        ajax.put(Constants.TOKEN, token);
+        return ajax;
+    }
+
 }

+ 1 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java

@@ -119,7 +119,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 // 过滤请求
                 .authorizeRequests()
                 // 对于登录login 验证码captchaImage 允许匿名访问
-                .antMatchers("/login", "/captchaImage", "/testLogin","/wx/pay/callback","/gzh_login","/check_pc_login","/pc_login_url","/scan_code","/businessToken").anonymous()
+                .antMatchers("/login","/old/login", "/captchaImage", "/testLogin","/wx/pay/callback","/gzh_login","/check_pc_login","/pc_login_url","/scan_code","/businessToken").anonymous()
                 .antMatchers("/aliyun/oss/callback").anonymous()
                 .antMatchers(
                         HttpMethod.GET,

+ 32 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/DistributionSellerServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -491,4 +492,35 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
         return iDistributionActivityService.getCashDetail(id);
     }
 
+    @Override
+    public Map<String, Object> openidLogin(SellerAppOpenidLoginBo bo) {
+        if(Validator.isEmpty(bo.getOpenid())){
+            throw new CustomException("openid不能为空");
+        }
+        DistributionSeller seller = getOne(new LambdaQueryWrapper<DistributionSeller>()
+                .eq(DistributionSeller::getGzhOpenId, bo.getOpenid()));
+        if (ObjectUtils.isNull(seller)){
+            throw new CustomException("账号不存在",999);
+        }
+        SysUser sysUser = iSysUserService.getOne(new LambdaQueryWrapper<SysUser>()
+        .eq(SysUser::getSellerId,seller.getSellerId()));
+        if(Validator.isEmpty(sysUser)){
+            throw new CustomException("登录信息错误");
+        }
+        else if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus()))
+        {
+            throw new BaseException("对不起,您的账号:已停用");
+        }
+        if(Validator.isEmpty(sysUser.getSellerId())){
+            throw new CustomException("非业务员无法登录");
+        }
+        LoginUser loginSeller = new LoginUser();
+        loginSeller.setUser(sysUser);
+        Map<String,Object> map = new HashMap<>();
+        map.put(Constants.TOKEN,tokenService.createToken(loginSeller));
+        map.put("user_account",seller.getUserAccount());
+        map.put("full_info",Validator.isEmpty(sysUser.getIdCard())?false:true); //是否完善身份信息
+        return map;
+    }
+
 }

+ 45 - 18
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysLoginService.java

@@ -1,38 +1,35 @@
 package com.zhongzheng.framework.web.service;
 
-import javax.annotation.Resource;
-
-
 import cn.hutool.core.lang.Validator;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.domain.entity.SysUser;
-import com.zhongzheng.common.core.domain.model.LoginBody;
+import com.zhongzheng.common.core.domain.model.LoginUser;
+import com.zhongzheng.common.core.redis.RedisCache;
+import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.exception.user.CaptchaException;
+import com.zhongzheng.common.exception.user.CaptchaExpireException;
+import com.zhongzheng.common.exception.user.UserPasswordNotMatchException;
+import com.zhongzheng.common.utils.AES;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.MessageUtils;
+import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.framework.manager.AsyncManager;
 import com.zhongzheng.framework.manager.factory.AsyncFactory;
+import com.zhongzheng.modules.goods.bo.OldTenantLoginBo;
 import com.zhongzheng.modules.system.service.ISysConfigService;
 import com.zhongzheng.modules.system.service.ISysUserService;
-import com.zhongzheng.common.utils.AES;
-import com.zhongzheng.framework.manager.factory.AsyncFactory;
 import com.zhongzheng.modules.user.bo.UserBusinessLoginBo;
 import com.zhongzheng.modules.user.service.IUserLoginErrorService;
-import org.apache.commons.compress.utils.IOUtils;
-import org.bouncycastle.jcajce.provider.asymmetric.rsa.RSAUtil;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
 import org.springframework.stereotype.Component;
-import com.zhongzheng.common.constant.Constants;
-import com.zhongzheng.common.core.domain.model.LoginUser;
-import com.zhongzheng.common.core.redis.RedisCache;
-import com.zhongzheng.common.exception.CustomException;
-import com.zhongzheng.common.exception.user.CaptchaException;
-import com.zhongzheng.common.exception.user.CaptchaExpireException;
-import com.zhongzheng.common.exception.user.UserPasswordNotMatchException;
-import com.zhongzheng.common.utils.MessageUtils;
-import com.zhongzheng.framework.manager.AsyncManager;
 
+import javax.annotation.Resource;
 import java.io.InputStream;
 
 /**
@@ -188,6 +185,36 @@ public class SysLoginService
         return tokenService.createToken(loginUser);
     }
 
+    public String oldTenantLogin(OldTenantLoginBo bo) {
+        // 用户验证
+        SysUser sysUser = iSysUserService.getOne(new LambdaQueryWrapper<SysUser>()
+                .eq(SysUser::getUserName, bo.getAccount())
+                .eq(SysUser::getTenantId, bo.getTenantId()));
+        if (ObjectUtils.isNull(sysUser)){
+            //新增账号
+            sysUser = new SysUser();
+            sysUser.setTenantId(Long.valueOf(bo.getTenantId()));
+            sysUser.setUserName(bo.getAccount());
+            //查询老系统密码
+            sysUser.setPassword("");
+            sysUser.setNickName(bo.getAccount());
+            sysUser.setSex("0");
+            sysUser.setStatus(1L);
+            sysUser.setDelFlag("0");
+            sysUser.setCode(ServletUtils.getEncoded("ZH"));
+            sysUser.setCreateTime(DateUtils.getNowDate());
+            sysUser.setUpdateTime(DateUtils.getNowDate());
+            sysUser.setCreateBy("admin");
+            sysUser.setUpdateBy("admin");
+            sysUser.setRemark("系统增加(老系统业务员跳转)");
+            iSysUserService.save(sysUser);
+        }
+        LoginUser loginUser = new LoginUser();
+        loginUser.setUser(sysUser);
+        // 生成token
+        return tokenService.createToken(loginUser);
+    }
+
    /* public String wx_login(String username)
     {
         LoginUser loginUser = (LoginUser) authentication.getPrincipal();

+ 22 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/bo/SellerAppOpenidLoginBo.java

@@ -0,0 +1,22 @@
+package com.zhongzheng.modules.distribution.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 客户端用户编辑对象 user
+ *
+ * @author ruoyi
+ * @date 2021-06-08
+ */
+@Data
+@ApiModel("openid登录对象")
+public class SellerAppOpenidLoginBo {
+
+    @ApiModelProperty("openid")
+    private String openid;
+    @ApiModelProperty("企业ID")
+    private String tenantId;
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/distribution/service/IDistributionSellerService.java

@@ -78,4 +78,6 @@ public interface IDistributionSellerService extends IService<DistributionSeller>
     List<SellerOrderVo> getCashList(SellerOrderQueryBo bo);
 
 	SellerOrderVo getCashDetail(Long id);
+
+	Map<String, Object> openidLogin(SellerAppOpenidLoginBo bo);
 }

+ 31 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/OldTenantLoginBo.java

@@ -0,0 +1,31 @@
+package com.zhongzheng.modules.goods.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月26日 13:51
+ */
+@Data
+public class OldTenantLoginBo implements Serializable {
+
+    @ApiModelProperty("旧系统账号")
+    @NotBlank(message = "旧系统账号")
+    private String account;
+
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+
+    @ApiModelProperty("企业ID")
+    @NotBlank(message = "企业ID")
+    private String tenantId;
+}