PC 2 lat temu
rodzic
commit
194d30952e
23 zmienionych plików z 495 dodań i 263 usunięć
  1. 4 4
      sckw-auth/src/main/java/com/sckw/auth/controller/IndexController.java
  2. 39 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/LoginReqVo.java
  3. 48 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/DeptInfoResVo.java
  4. 136 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/EntInfoResVo.java
  5. 73 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/LoginResVo.java
  6. 3 3
      sckw-auth/src/main/java/com/sckw/auth/service/IIndexService.java
  7. 42 14
      sckw-auth/src/main/java/com/sckw/auth/service/impl/IndexServiceImpl.java
  8. 0 38
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/CustomDataSource.java
  9. 0 47
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/CustomMetaHandle.java
  10. 0 57
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/MyConfig.java
  11. 6 3
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/interceptor/WebInterceptor.java
  12. 24 20
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PasswordUtils.java
  13. 1 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  14. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginBase.java
  15. 9 9
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java
  16. 0 30
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/LoginReqDto.java
  17. 0 11
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/LoginResDto.java
  18. 2 2
      sckw-modules/sckw-example/src/main/java/com/sckw/example/dubbo/RemoteUserService1Impl.java
  19. 17 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsUserDao.java
  20. 55 8
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteUserServiceImpl.java
  21. 9 14
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  22. 11 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  23. 15 1
      sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

+ 4 - 4
sckw-auth/src/main/java/com/sckw/auth/controller/IndexController.java

@@ -1,6 +1,6 @@
 package com.sckw.auth.controller;
 
-import com.sckw.system.api.model.dto.req.LoginReqDto;
+import com.sckw.auth.model.vo.req.LoginReqVo;
 import com.sckw.auth.service.IIndexService;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.api.RemoteUserService;
@@ -10,10 +10,10 @@ import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-//@Slf4j
 @RestController
 @RequestMapping("/auth")
 public class IndexController {
+
     @Autowired
     private RemoteUserFService remoteUserFService;
 
@@ -39,8 +39,8 @@ public class IndexController {
      * 登录
      */
     @PostMapping("/login")
-    public HttpResult login(@RequestBody LoginReqDto reqDto) {
-        return HttpResult.ok(indexService.login(reqDto));
+    public HttpResult login(@RequestBody LoginReqVo reqVo) {
+        return HttpResult.ok(indexService.login(reqVo));
     }
 
     /**

+ 39 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/LoginReqVo.java

@@ -0,0 +1,39 @@
+package com.sckw.auth.model.vo.req;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 登录接口入参
+ * @date 2023/6/12
+ */
+@Data
+public class LoginReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6021472117198868910L;
+
+    /**
+     * 账号
+     */
+    private String account;
+
+    /**
+     * 系统类型
+     */
+    private Integer systemType;
+
+    /**
+     * 密码
+     */
+    private String password;
+
+    /**
+     * 验证码
+     */
+    private String captcha;
+
+}

+ 48 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/DeptInfoResVo.java

@@ -0,0 +1,48 @@
+package com.sckw.auth.model.vo.res;
+
+import lombok.Data;
+
+/**
+ * @author czh
+ * @desc TODO
+ * @date 2023/6/12
+ */
+@Data
+public class DeptInfoResVo {
+
+    /**
+     * 机构ID
+     */
+    private long id;
+
+    /**
+     * 机构类型(1系统管理机构、2平台企业机构)
+     */
+    private Integer systemType;
+
+    /**
+     * 机构名称
+     */
+    private String name;
+
+    /**
+     * 是否是公司(0 机构部门/1 公司)
+     */
+    private Integer company;
+
+    /**
+     * 上级机构ID,一级机构为0
+     */
+    private Long parentId;
+
+    /**
+     * 所有上级机构id
+     */
+    private String parentIds;
+
+    /**
+     * 机构层级(1更目录、...递增)
+     */
+    private Integer level;
+
+}

+ 136 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/EntInfoResVo.java

@@ -0,0 +1,136 @@
+package com.sckw.auth.model.vo.res;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc TODO
+ * @date 2023/6/12
+ */
+@Data
+public class EntInfoResVo {
+
+    /**
+     * 企业id
+     */
+    private Long id;
+
+    /**
+     * 企业编号
+     */
+    private String code;
+
+    /**
+     * 企业名称
+     */
+    private String firmName;
+
+    /**
+     * 企业联系人
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String telephone;
+
+    /**
+     * 法人姓名
+     */
+    private String legalName;
+
+    /**
+     * 法人联系电话
+     */
+    private String legalTelephone;
+
+    /**
+     * 企业头像
+     */
+    private String head;
+
+    /**
+     * 积分
+     */
+    private Integer integral;
+
+    /**
+     * 账号余额(分)
+     */
+    private Long balance;
+
+    /**
+     * 经验值
+     */
+    private Integer experience;
+
+    /**
+     * 会员等级
+     */
+    private Integer memberLevel;
+
+    /**
+     * 注册时间
+     */
+    private Date regTime;
+
+    /**
+     * 注册来源(app、pc)
+     */
+    private String regSource;
+
+    /**
+     * 组织机构代码
+     */
+    private String orgCode;
+
+    /**
+     * 企业地址code-----区域表id---实际用途?
+     */
+    private Integer cityCode;
+
+    /**
+     * 企业地址-----区域表id---实际用途?
+     */
+    private Integer cityName;
+
+    /**
+     * 企业详细地址
+     */
+    private String detailAddress;
+
+    /**
+     * 企业地址坐标----纬度
+     */
+    private String lat;
+
+    /**
+     * 企业地址坐标----经度
+     */
+    private String lng;
+
+    /**
+     * 资料审批状态(0未审批、1通过、2未通过、3审批中)
+     */
+    private Integer approval;
+
+    /**
+     * 审批时间
+     */
+    private Date approvalTime;
+
+    /**
+     * 专属客户经理(用户ID)
+     */
+    private long manager;
+
+    /**
+     * 机构信息
+     */
+    private List<DeptInfoResVo> deptInfo;
+
+}

+ 73 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/LoginResVo.java

@@ -0,0 +1,73 @@
+package com.sckw.auth.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc TODO
+ * @date 2023/6/12
+ */
+@Data
+public class LoginResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 8977846403689927853L;
+
+    /**
+     * 会话token
+     */
+    private String token;
+
+    /**
+     * 用户id
+     */
+    private String id;
+
+    /**
+     * 系统类型(1运营端、2企业开户)
+     */
+    private String systemType;
+
+    /**
+     * 账号
+     */
+    private String account;
+
+    /**
+     * 姓名
+     */
+    private String name;
+
+    /**
+     * 电话
+     */
+    private String telephone;
+
+    /**
+     * 头像
+     */
+    private String photo;
+
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 推送设备id
+     */
+    private String clientId;
+
+    /**
+     * 是否是企业管理(0是 1否)
+     */
+    private String isMain;
+
+    /**
+     * 企业信息
+     */
+    private EntInfoResVo entInfo;
+}

+ 3 - 3
sckw-auth/src/main/java/com/sckw/auth/service/IIndexService.java

@@ -1,8 +1,8 @@
 package com.sckw.auth.service;
 
-import com.sckw.system.api.model.dto.req.LoginReqDto;
+import com.sckw.auth.model.vo.req.LoginReqVo;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
-import com.sckw.system.api.model.dto.res.LoginResDto;
+import com.sckw.auth.model.vo.res.LoginResVo;
 
 public interface IIndexService {
 
@@ -11,7 +11,7 @@ public interface IIndexService {
      * @param reqVo
      * @return
      */
-    LoginResDto login(LoginReqDto reqVo);
+    LoginResVo login(LoginReqVo reqVo);
 
     /**
      * 注册

+ 42 - 14
sckw-auth/src/main/java/com/sckw/auth/service/impl/IndexServiceImpl.java

@@ -1,9 +1,14 @@
 package com.sckw.auth.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.sckw.auth.model.vo.req.LoginReqVo;
+import com.sckw.auth.model.vo.res.DeptInfoResVo;
+import com.sckw.auth.model.vo.res.EntInfoResVo;
+import com.sckw.auth.model.vo.res.LoginResVo;
+import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.UUIDUtils;
 import com.sckw.redis.utils.RedissonUtils;
-import com.sckw.system.api.model.dto.req.LoginReqDto;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.res.*;
 import com.sckw.auth.service.IIndexService;
@@ -13,7 +18,9 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Slf4j
 @Service
@@ -26,34 +33,55 @@ public class IndexServiceImpl implements IIndexService {
     private RedissonUtils redissonUtils;
 
     @Override
-    public LoginResDto login(LoginReqDto reqDto) {
-        /*1、根据账号密码或者手机号校验码登录,密码加密处理后面做*/
-        KwsUserResDto kwsUser = remoteUserService.checkUserBase(reqDto.getUsername());
+    public LoginResVo login(LoginReqVo reqDto) {
+        /*1、根据账号密码或者手机号校验码登录, 手机号后面处理*/
+        KwsUserResDto kwsUser = remoteUserService.checkUserBase(reqDto.getAccount(), reqDto.getSystemType());
 
         //密码校验
         remoteUserService.checkPassword(reqDto.getPassword(), kwsUser.getPassword());
-
+        LoginResVo loginResVo = new LoginResVo();
+        BeanUtils.copyProperties(kwsUser, loginResVo);
 
         /*2、登录成功,查询用户机构*/
+        EntInfoResVo entInfoResVo = new EntInfoResVo();
+        loginResVo.setEntInfo(entInfoResVo);
         List<KwsUserDeptResDto> kwsUserDepts = remoteUserService.queryUserDeptByUserId(kwsUser.getId());
         if (CollectionUtils.isEmpty(kwsUserDepts)) {
-            //不用抛异常,可能没有认证
-            log.info("");
+            //没有认证,没有所属机构
+            saveToCache(loginResVo);
+            return loginResVo;
         }
         List<Long> deptIds = kwsUserDepts.stream().map(KwsUserDeptResDto::getDeptId).toList();
         List<KwsDeptResDto> kwsDepts = remoteUserService.queryDeptByIds(deptIds);
+        if (CollectionUtils.isEmpty(kwsDepts)) {
+            //数据不全,直接返回
+            saveToCache(loginResVo);
+            return loginResVo;
+        }
+
+        List<DeptInfoResVo> deptInfo = new ArrayList<>(4);
+        BeanUtils.copyProperties(kwsDepts, deptInfo);
+        entInfoResVo.setDeptInfo(deptInfo);
 
         /*3、查企业*/
-        List<Long> entIds = kwsDepts.stream().map(KwsDeptResDto::getEntId).toList();
-        List<KwsEnterpriseResDto> kwsEnterprises = remoteUserService.queryEnterpriseByIds(entIds);
+        //目前一个人只能归属于一个企业,所以这里取第一个就行
+        Long entId = kwsDepts.get(0).getEntId();
+        KwsEnterpriseResDto kwsEnterprise = remoteUserService.queryEnterpriseById(entId);
+        if (Objects.isNull(kwsEnterprise)) {
+            saveToCache(loginResVo);
+            return loginResVo;
+        }
+        BeanUtils.copyProperties(kwsEnterprise, loginResVo);
 
         /*4、以uuid作为主键存redis,也是会话token*/
-        String key = UUIDUtils.get32UUID();
-        redissonUtils.add(key, "");
+        saveToCache(loginResVo);
+        return loginResVo;
+    }
 
-        /*5、组装返参*/
-        //todo
-        return null;
+    private void saveToCache(LoginResVo loginResDto) {
+        String key = UUIDUtils.get32UUID();
+        loginResDto.setToken(key);
+        redissonUtils.add(key, JSON.toJSONString(loginResDto));
     }
 
     @Override

+ 0 - 38
sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/CustomDataSource.java

@@ -1,38 +0,0 @@
-package com.sckw.core.handle;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.jdbc.DataSourceBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import javax.sql.DataSource;
-
-/**
- * @author czh
- * @desc TODO
- * @date 2023/6/9
- */
-//@Configuration
-public class CustomDataSource {
-
-    @Value("${spring.datasource.dynamic.datasource.master.url}")
-    private String url;
-
-    @Value("${spring.datasource.dynamic.datasource.master.username}")
-    private String username;
-
-    @Value("${spring.datasource.dynamic.datasource.master.password}")
-    private String password;
-
-    @Value("${spring.datasource.dynamic.datasource.master.driver-class-name}")
-    private String driver;
-
-    @Bean
-    @ConfigurationProperties(prefix = "spring.datasource.dynamic.datasource.master")
-    public DataSource dataSource() {
-        return DataSourceBuilder.create().url(url).username(username).password(password).driverClassName(driver).build();
-
-    }
-}

+ 0 - 47
sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/CustomMetaHandle.java

@@ -1,47 +0,0 @@
-package com.sckw.core.handle;
-
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.sckw.core.model.auth.context.LoginUserHolder;
-import com.sckw.core.model.constant.Global;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.utils.StringUtils;
-import org.apache.ibatis.reflection.MetaObject;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.stereotype.Component;
-
-import java.util.Date;
-import java.util.Objects;
-
-/**
- * @author czh
- * @desc TODO
- * @date 2023/6/9
- */
-//@Component
-public class CustomMetaHandle implements MetaObjectHandler {
-
-    @Override
-    public void insertFill(MetaObject metaObject) {
-        Long userId = Objects.isNull(LoginUserHolder.getUserId()) ? 1 : LoginUserHolder.getUserId();
-        String userName = StringUtils.isBlank(LoginUserHolder.getUserName()) ? "无" : LoginUserHolder.getUserName();
-        Date date = new Date();
-        metaObject.setValue("createBy", userId);
-        metaObject.setValue("updateBy", userId);
-//        metaObject.setValue("createByName", userName);
-        metaObject.setValue("createTime", date);
-        metaObject.setValue("updateTime", date);
-        metaObject.setValue("status",  Global.NO);
-        metaObject.setValue("delFlag", Global.NO);
-        metaObject.setValue("id", new IdWorker(1).nextId());
-    }
-
-    @Override
-    public void updateFill(MetaObject metaObject) {
-        Long userId = Objects.isNull(LoginUserHolder.getUserId()) ? 1 : LoginUserHolder.getUserId();
-        String userName = StringUtils.isBlank(LoginUserHolder.getUserName()) ? "无" : LoginUserHolder.getUserName();
-        metaObject.setValue("updateBy", userId);
-//        metaObject.setValue("updateByName", userName);
-        metaObject.setValue("updateTime", new Date());
-    }
-}

+ 0 - 57
sckw-common/sckw-common-core/src/main/java/com/sckw/core/handle/MyConfig.java

@@ -1,57 +0,0 @@
-package com.sckw.core.handle;
-
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.core.MybatisConfiguration;
-import com.baomidou.mybatisplus.core.MybatisXMLLanguageDriver;
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
-import jakarta.annotation.Resource;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.apache.ibatis.type.JdbcType;
-import org.mybatis.spring.annotation.MapperScan;
-import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.stereotype.Component;
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-
-import javax.sql.DataSource;
-
-
-/**
- * @author czh
- * @desc TODO
- * @date 2023/6/9
- */
-//@Configuration
-public class MyConfig {
-
-    @Autowired
-    private CustomDataSource customDataSource;
-
-    @Bean
-    public MybatisPlusInterceptor mybatisPlusInterceptor() {
-        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
-        return interceptor;
-    }
-
-    @Bean
-    public SqlSessionFactory sqlSessionFactory() throws Exception {
-        MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
-        factoryBean.setDataSource(customDataSource.dataSource());
-        factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:/mapper/*.xml "));
-        factoryBean.setTypeAliases();
-        MybatisConfiguration configuration = new MybatisConfiguration();
-        configuration.setMapUnderscoreToCamelCase(true);
-        factoryBean.setConfiguration(configuration);
-        factoryBean.setGlobalConfig(new GlobalConfig().setMetaObjectHandler(new CustomMetaHandle()));
-        return factoryBean.getObject();
-    }
-}

+ 6 - 3
sckw-common/sckw-common-core/src/main/java/com/sckw/core/interceptor/webInterceptor.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/interceptor/WebInterceptor.java

@@ -15,18 +15,21 @@ import java.util.Objects;
 
 @Slf4j
 @Component
-public class webInterceptor implements HandlerInterceptor {
+public class WebInterceptor implements HandlerInterceptor {
 
     public static final List<String> EXCLUDEMETHOD = new ArrayList<>();
 
+    static {
+        EXCLUDEMETHOD.add("/auth/login");
+    }
+
     @Resource
     private RedissonUtils redissonUtils;
 
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        // todo
         //1、解析请求的url,如果是登录接口则直接放行
         String method = request.getMethod();
-        if (EXCLUDEMETHOD.contains(method)){
+        if (EXCLUDEMETHOD.contains(method)) {
             log.info("登录接口");
         }
 

+ 24 - 20
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/PasswordUtils.java

@@ -35,6 +35,7 @@ public class PasswordUtils {
 
     /**
      * 获取加密盐
+     *
      * @return
      */
     public static String getSalt() {
@@ -43,6 +44,7 @@ public class PasswordUtils {
 
     /**
      * MD5加密
+     *
      * @param inStr 明文
      * @return 32位密文
      */
@@ -70,45 +72,47 @@ public class PasswordUtils {
 
     /**
      * md5密码校验
+     *
      * @param rawPass
      * @param encPass
      * @return
      */
-    public static boolean matchesMD5(String rawPass, String encPass){
-		if(md5(rawPass).equals(encPass)){
-			return true;
-		}else {
-			return false;
-		}
-	}
+    public static boolean matchesMD5(String rawPass, String encPass) {
+        if (md5(rawPass).equals(encPass)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
 
     /**
      * 生成安全的密码,生成随机的16位salt并经过1024次 sha-1 hash
      */
     public static String entryptPassword(String plainPassword) {
-	  byte[] salt = Digests.generateSalt(SALT_SIZE);
-	  byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);
-	  return Encodes.encodeHex(salt)+Encodes.encodeHex(hashPassword);
+        byte[] salt = Digests.generateSalt(SALT_SIZE);
+        byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);
+        return Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword);
     }
 
     /**
      * 验证密码
+     *
      * @param plainPassword 明文密码
-     * @param password 密文密码
+     * @param password      密文密码
      * @return 验证成功返回true
      */
     public static boolean validatePassword(String plainPassword, String password) {
-	  byte[] salt = Encodes.decodeHex(password.substring(0,16));
-	  byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);
-	  return password.equals(Encodes.encodeHex(salt)+Encodes.encodeHex(hashPassword));
+        byte[] salt = Encodes.decodeHex(password.substring(0, 16));
+        byte[] hashPassword = Digests.sha1(plainPassword.getBytes(), salt, HASH_INTERATIONS);
+        return password.equals(Encodes.encodeHex(salt) + Encodes.encodeHex(hashPassword));
     }
 
-    public static void main(String[] args){
-      String password =  PasswordUtils.entryptPassword(PasswordUtils.md5("czh"));
-      String md5 = PasswordUtils.md5("123456");
-	  System.out.println(password);
-	  System.out.println(md5);
-	  System.out.println(validatePassword(md5, password));
+    public static void main(String[] args) {
+        String password = PasswordUtils.entryptPassword(PasswordUtils.md5("czh"));
+        String md5 = PasswordUtils.md5("123456");
+        System.out.println(password);
+        System.out.println(md5);
+        System.out.println(validatePassword(md5, password));
 //        System.out.println(PasswordUtils.md5("czh"));
 //        System.out.println(PasswordUtils.entryptPassword(PasswordUtils.md5("czh")));
 

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -30,6 +30,7 @@ public class HttpStatus {
     public static final String ACCOUNT_MISSING = "用户账号必填!";
     public static final String ACCOUNT_EXISTS = "用户账号已存在!";
     public static final String PWD_MISSING = "密码不能为空!";
+    public static final String TOKEN_MISSING = "token不能为空!";
 
 
     /**其他自定义状态码*/

+ 1 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/model/LoginBase.java

@@ -28,7 +28,7 @@ public class LoginBase {
     /**
      * 系统类型(1 运营管理中心/2 运营管理中心/3 官网/4 司机应用)
      */
-    private String systemType;
+    private Integer systemType;
 
     /**
      * 客户端类型(ios 苹果设备/android 安卓设备/pc 浏览器/pc-background 管理系统)

+ 9 - 9
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/RemoteUserService.java

@@ -33,13 +33,6 @@ public interface RemoteUserService {
      */
     List<KwsDeptResDto> queryDeptByIds(List<Long> ids);
 
-    /**
-     * 根据企业id查企业信息
-     * @param ids
-     * @return
-     */
-    List<KwsEnterpriseResDto> queryEnterpriseByIds(List<Long> ids);
-
     /**
      * 注册
      */
@@ -54,8 +47,15 @@ public interface RemoteUserService {
 
     /**
      * 检验用户信息
-     * @param username
+     * @param account
+     * @return
+     */
+    KwsUserResDto checkUserBase(String account, int systemType);
+
+    /**
+     * 根基id查企业
+     * @param entId
      * @return
      */
-    KwsUserResDto checkUserBase(String username);
+    KwsEnterpriseResDto queryEnterpriseById(Long entId);
 }

+ 0 - 30
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/LoginReqDto.java

@@ -1,30 +0,0 @@
-package com.sckw.system.api.model.dto.req;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-@Data
-public class LoginReqDto implements Serializable {
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-    /**
-     * 密码
-     */
-    private String password;
-
-    /**
-     * 手机号
-     */
-    private String phoneNum;
-
-    /**
-     * 验证码
-     */
-    private String code;
-
-}

+ 0 - 11
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/LoginResDto.java

@@ -1,11 +0,0 @@
-package com.sckw.system.api.model.dto.res;
-
-import lombok.Data;
-
-import java.io.Serializable;
-
-@Data
-public class LoginResDto implements Serializable {
-
-
-}

+ 2 - 2
sckw-modules/sckw-example/src/main/java/com/sckw/example/dubbo/RemoteUserService1Impl.java

@@ -1,8 +1,8 @@
 //package com.sckw.example.dubbo;
 //
-//import com.sckw.system.api.model.dto.req.LoginReqDto;
+//import com.sckw.auth.model.vo.LoginReqDto;
 //import com.sckw.system.api.RemoteUserService;
-//import com.sckw.system.api.model.dto.res.LoginResDto;
+//import com.sckw.auth.model.vo.res.LoginResDto;
 //import com.sckw.system.model.KwsDept;
 //import com.sckw.system.model.KwsEnterprise;
 //import com.sckw.system.model.KwsUser;

+ 17 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsUserDao.java

@@ -1,7 +1,8 @@
 package com.sckw.system.dao;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.system.model.KwsDept;
 import com.sckw.system.model.KwsUser;
+import com.sckw.system.model.KwsUserDept;
 import org.apache.ibatis.annotations.Mapper;
 import java.util.List;
 import java.util.Map;
@@ -48,4 +49,19 @@ public interface KwsUserDao {
      * @return
      */
     List<KwsUser> findList(KwsUser params);
+
+    /**
+     * 根据用户id查用户机构
+     * @param userId
+     * @return
+     */
+    List<KwsUserDept> queryUserDeptByUserId(Long userId);
+
+    /**
+     * 根据id查机构
+     * @param list
+     * @return
+     */
+    List<KwsDept> queryDeptByIds(List<Long> list);
+
 }

+ 55 - 8
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteUserServiceImpl.java

@@ -1,22 +1,44 @@
 package com.sckw.system.dubbo;
 
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.req.RegisterReqDto;
 import com.sckw.system.api.model.dto.res.KwsDeptResDto;
 import com.sckw.system.api.model.dto.res.KwsEnterpriseResDto;
 import com.sckw.system.api.model.dto.res.KwsUserDeptResDto;
 import com.sckw.system.api.model.dto.res.KwsUserResDto;
+import com.sckw.system.model.KwsDept;
+import com.sckw.system.model.KwsEnterprise;
+import com.sckw.system.model.KwsUser;
+import com.sckw.system.model.KwsUserDept;
+import com.sckw.system.service.KwsEnterpriseService;
+import com.sckw.system.service.KwsUserService;
+import jakarta.annotation.Resource;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 
+/**
+ * @author czh
+ * @desc dobbo远程接口
+ * @date 2023/6/12
+ */
 
-@Deprecated
 @DubboService(group = "design", version = "2.0.0")
 @Service
 public class RemoteUserServiceImpl implements RemoteUserService {
 
+    @Resource
+    private KwsUserService kwsUserService;
+
+    @Resource
+    private KwsEnterpriseService kwsEnterpriseService;
+
     @Override
     public String getUserInfoV1(String account) {
         return null;
@@ -29,17 +51,38 @@ public class RemoteUserServiceImpl implements RemoteUserService {
 
     @Override
     public List<KwsUserDeptResDto> queryUserDeptByUserId(Long userId) {
-        return null;
+        List<KwsUserDept> kwsUserDepts = kwsUserService.queryUserDeptByUserId(userId);
+        if (CollectionUtils.isEmpty(kwsUserDepts)) {
+            return Collections.emptyList();
+        }
+
+        List<KwsUserDeptResDto> list = new ArrayList<>();
+        BeanUtils.copyProperties(kwsUserDepts, list, false);
+        return list;
     }
 
     @Override
     public List<KwsDeptResDto> queryDeptByIds(List<Long> ids) {
-        return null;
+        List<KwsDept> kwsDepts = kwsUserService.queryDeptByIds(ids);
+        if (CollectionUtils.isEmpty(kwsDepts)) {
+            return Collections.emptyList();
+        }
+
+        List<KwsDeptResDto> list = new ArrayList<>(4);
+        BeanUtils.copyProperties(kwsDepts, list, false);
+        return list;
     }
 
     @Override
-    public List<KwsEnterpriseResDto> queryEnterpriseByIds(List<Long> ids) {
-        return null;
+    public KwsEnterpriseResDto queryEnterpriseById(Long id) {
+        KwsEnterprise kwsEnterprise = kwsEnterpriseService.queryKwsEnterpriseById(id);
+        if (Objects.isNull(kwsEnterprise)) {
+            return null;
+        }
+
+        KwsEnterpriseResDto kwsEnterpriseResDto = new KwsEnterpriseResDto();
+        BeanUtils.copyProperties(kwsEnterprise, kwsEnterpriseResDto);
+        return kwsEnterpriseResDto;
     }
 
     @Override
@@ -49,11 +92,15 @@ public class RemoteUserServiceImpl implements RemoteUserService {
 
     @Override
     public void checkPassword(String password, String currentPwd) {
-
+        kwsUserService.checkPassword(password, currentPwd);
     }
 
     @Override
-    public KwsUserResDto checkUserBase(String username) {
-        return null;
+    public KwsUserResDto checkUserBase(String account, int systemType){
+        KwsUser kwsUser = kwsUserService.checkUserBase(account, systemType);
+        KwsUserResDto kwsUserService = new KwsUserResDto();
+        BeanUtils.copyProperties(kwsUser, kwsUserService);
+        return kwsUserService;
     }
+
 }

+ 9 - 14
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -175,6 +175,7 @@ public class KwsEnterpriseService {
         return kwsEntCertificate;
     }
 
+
     /**
      * 根据主键查询
      *
@@ -182,10 +183,12 @@ public class KwsEnterpriseService {
      * @return
      * @throws Exception
      */
-    public KwsEnterprise selectByKey(Long key) throws Exception {
+    public KwsEnterprise selectByKey(Long key) {
         return checkKwsEnterpriseById(key);
     }
 
+
+
     /**
      * @param reqVo
      * @return HttpResult
@@ -210,18 +213,6 @@ public class KwsEnterpriseService {
         return kwsEnterpriseDao.findList(reqVo);
     }
 
-
-    /**
-     * 查询
-     *
-     * @param params
-     * @return
-     * @throws Exception
-     */
-    public List<Map<String, Object>> findList(Map<String, Object> params) throws Exception {
-        return null;
-    }
-
     /**
      * 参数校验
      *
@@ -315,13 +306,17 @@ public class KwsEnterpriseService {
     }
 
     private KwsEnterprise checkKwsEnterpriseById(long id) {
-        KwsEnterprise kwsEnterprise = kwsEnterpriseDao.selectByKey(id);
+        KwsEnterprise kwsEnterprise = queryKwsEnterpriseById(id);
         if (Objects.isNull(kwsEnterprise) || kwsEnterprise.getDelFlag() == Global.YES) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ENT_NOT_EXISTS);
         }
         return kwsEnterprise;
     }
 
+    public KwsEnterprise queryKwsEnterpriseById(long id) {
+        return kwsEnterpriseDao.selectByKey(id);
+    }
+
     /**
      * 企业冻结/解冻
      */

+ 11 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -10,10 +10,13 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.redis.utils.RedissonUtils;
+import com.sckw.system.api.model.dto.res.KwsUserDeptResDto;
 import com.sckw.system.dao.KwsEntCheckTrackDao;
 import com.sckw.system.dao.KwsUserDao;
 import com.sckw.system.dao.KwsUserDeptDao;
+import com.sckw.system.model.KwsDept;
 import com.sckw.system.model.KwsUser;
+import com.sckw.system.model.KwsUserDept;
 import com.sckw.system.model.vo.req.ForgetPasswordReqVo;
 import com.sckw.system.model.vo.req.UpdatePasswordReqVo;
 import lombok.extern.slf4j.Slf4j;
@@ -266,4 +269,12 @@ public class KwsUserService {
             throw new SystemException(HttpStatus.CODE_10301, HttpStatus.PASSWD_ERROR);
         }
     }
+
+    public List<KwsUserDept> queryUserDeptByUserId (Long userId) {
+        return kwsUserDao.queryUserDeptByUserId(userId);
+    }
+
+    public List<KwsDept> queryDeptByIds(List<Long> list) {
+        return kwsUserDao.queryDeptByIds(list);
+    }
 }

+ 15 - 1
sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

@@ -246,7 +246,7 @@
     from kws_user su
     where su.del_flag = 0
     <if test="systemType != null and systemType != ''">
-      and su.system_type = #{systemType, jdbcType=VARCHAR}
+      and su.system_type = #{systemType, jdbcType=INTEGER}
     </if>
     <if test="account != null and account != ''">
       and su.account = #{account, jdbcType=VARCHAR}
@@ -259,4 +259,18 @@
     </if>
     ORDER BY su.create_time desc
   </select>
+
+  <select id="queryUserDeptByUserId" resultType="com.sckw.system.model.KwsUserDept">
+    select a.* from kws_user_depot a where a.user_id = #{userId} and a.del_flag = 0
+  </select>
+
+  <select id="queryDeptByIds" resultType="com.sckw.system.model.KwsDept">
+    select a.*
+      from kws_dept a
+     where a.id in
+     <foreach collection="list" item="item" open="(" close=")" separator=",">
+        #{item}
+     </foreach>
+  </select>
+
 </mapper>