dsx 2 năm trước cách đây
mục cha
commit
632d4cbb94

+ 10 - 29
src/main/java/com/fdkankan/openApi/controller/system/SsoUserController.java

@@ -6,17 +6,20 @@ import cn.dev33.satoken.stp.SaLoginModel;
 import cn.dev33.satoken.stp.StpUtil;
 import com.fdkankan.common.util.Base64Converter;
 import com.fdkankan.common.util.PasswordUtils;
+import com.fdkankan.openApi.aop.ValidateApi;
 import com.fdkankan.openApi.controller.BaseController;
 import com.fdkankan.openApi.entity.system.Account;
 import com.fdkankan.openApi.entity.system.UserAuthInfo;
 import com.fdkankan.openApi.httpclient.client.FdKKClient;
 import com.fdkankan.openApi.service.system.IAccountService;
 import com.fdkankan.openApi.service.system.IUserAuthInfoService;
+import com.fdkankan.openApi.vo.system.CreateAppUserParamVo;
 import com.fdkankan.openApi.vo.system.LoginParam;
 import com.fdkankan.openApi.vo.www.FdkkLoginVo;
 import com.fdkankan.web.response.Result;
 import com.fdkankan.web.response.ResultData;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -37,11 +40,7 @@ import java.util.Objects;
 public class SsoUserController extends BaseController {
 
     @Autowired
-    private FdKKClient fdKKClient;
-    @Autowired
     private IAccountService accountService;
-    @Autowired
-    private IUserAuthInfoService userAuthService;
 
     /**
      * 登录
@@ -49,33 +48,15 @@ public class SsoUserController extends BaseController {
      */
     @SaIgnore
     @PostMapping("/login/v1")
-    public ResultData getScenesByUsername(@RequestBody LoginParam param) {
-        String password = PasswordUtils.decycptPasswordWeb(Base64Converter.encode(param.getPassword()));
-        param.setPassword(password);
-        Result<FdkkLoginVo> fdkkLoginVo = fdKKClient.fdkkLogin(param);
-        SaLoginModel saLoginModel = new SaLoginModel();
-        saLoginModel
-                .setIsLastingCookie(false)
-                .setToken(fdkkLoginVo.getData().getToken());
-        FdkkLoginVo data = fdkkLoginVo.getData();
-        Account account = accountService.findByUserName(data.getUser().getUserName(), data.getUser().getId(), data.getUser().getHead());
-        if(Objects.nonNull(account)){
-            UserAuthInfo userAuthInfo = userAuthService.findByUserIdCreateIfNotExits(account.getId(), account.getUserId());
-            data.setAppKey(userAuthInfo.getAppKey());
-        }
-        StpUtil.login(account.getUserName(), saLoginModel);
-        StpUtil.getSession().set("user", account);
-        return ResultData.ok(data.getAppKey());
+    public ResultData longinV1(@RequestBody @Validated LoginParam param) {
+        return accountService.longinV1(param);
     }
 
-//    @SaIgnore
-//    @PostMapping("createApp")
-//    public ResultData createApp(){
-//
-//
-//
-//
-//    }
+    @SaIgnore
+    @PostMapping("createApp")
+    public ResultData createApp(@RequestBody @Validated CreateAppUserParamVo param){
+        return accountService.createApp(param);
+    }
 
 
 }

+ 9 - 0
src/main/java/com/fdkankan/openApi/service/system/IAccountService.java

@@ -2,6 +2,11 @@ package com.fdkankan.openApi.service.system;
 
 import com.fdkankan.openApi.entity.system.Account;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.openApi.vo.system.CreateAppUserParamVo;
+import com.fdkankan.openApi.vo.system.LoginParam;
+import com.fdkankan.web.response.ResultData;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
@@ -19,4 +24,8 @@ public interface IAccountService extends IService<Account> {
 
     Account findByTokenCovUserName(String token);
 
+    ResultData longinV1(LoginParam param);
+
+    ResultData createApp(CreateAppUserParamVo param);
+
 }

+ 82 - 0
src/main/java/com/fdkankan/openApi/service/system/impl/AccountServiceImpl.java

@@ -1,14 +1,35 @@
 package com.fdkankan.openApi.service.system.impl;
 
+import cn.dev33.satoken.stp.SaLoginModel;
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.common.constant.CommonStatus;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.Base64Converter;
+import com.fdkankan.common.util.PasswordUtils;
 import com.fdkankan.openApi.entity.system.Account;
+import com.fdkankan.openApi.entity.system.UserAuthInfo;
+import com.fdkankan.openApi.entity.www.User;
+import com.fdkankan.openApi.httpclient.client.FdKKClient;
 import com.fdkankan.openApi.mapper.system.IAccountMapper;
 import com.fdkankan.openApi.service.system.IAccountService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.openApi.service.system.IUserAuthInfoService;
+import com.fdkankan.openApi.service.www.IUserService;
 import com.fdkankan.openApi.util.JwtUtil;
+import com.fdkankan.openApi.util.TokenUtil;
+import com.fdkankan.openApi.vo.system.CreateAppUserParamVo;
+import com.fdkankan.openApi.vo.system.LoginParam;
+import com.fdkankan.openApi.vo.www.FdkkLoginVo;
+import com.fdkankan.web.response.Result;
+import com.fdkankan.web.response.ResultData;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Objects;
+
 /**
  * <p>
  * 账号表 服务实现类
@@ -20,6 +41,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> implements IAccountService {
 
+    @Autowired
+    private FdKKClient fdKKClient;
+    @Autowired
+    private IUserAuthInfoService userAuthService;
+    @Autowired
+    private IUserService userService;
+
     @Override
     public Account findByUserName(String userName) {
         LambdaQueryWrapper<Account> wrapper = new LambdaQueryWrapper<>();
@@ -61,4 +89,58 @@ public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> imp
         return findByUserName(userName);
     }
 
+    @Override
+    public ResultData longinV1(LoginParam param) {
+        String password = PasswordUtils.decycptPasswordWeb(Base64Converter.encode(param.getPassword()));
+        param.setPassword(password);
+        Result<FdkkLoginVo> fdkkLoginVo = fdKKClient.fdkkLogin(param);
+        SaLoginModel saLoginModel = new SaLoginModel();
+        saLoginModel
+                .setIsLastingCookie(false)
+                .setToken(fdkkLoginVo.getData().getToken());
+        FdkkLoginVo data = fdkkLoginVo.getData();
+        Account account = this.findByUserName(data.getUser().getUserName(), data.getUser().getId(), data.getUser().getHead());
+        if(Objects.nonNull(account)){
+            UserAuthInfo userAuthInfo = userAuthService.findByUserIdCreateIfNotExits(account.getId(), account.getUserId());
+            data.setAppKey(userAuthInfo.getAppKey());
+        }
+        StpUtil.login(account.getUserName(), saLoginModel);
+        StpUtil.getSession().set("user", account);
+        return ResultData.ok(data.getAppKey());
+    }
+
+    @Override
+    public ResultData createApp(CreateAppUserParamVo param) {
+        Account account = this.getOne(new LambdaQueryWrapper<Account>().eq(Account::getUserName, param.getUserName()));
+        if(Objects.nonNull(account)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_10002);
+        }
+        User user = userService.getByUserName(param.getUserName());
+        if(Objects.isNull(user)){
+           throw new BusinessException(ErrorCode.FAILURE_CODE_3021);
+        }
+        if(param.getState() != CommonStatus.NO.code().intValue()
+                || param.getState() != CommonStatus.YES.code().intValue()){
+           throw new BusinessException(ErrorCode.PARAM_ERROR);
+        }
+        account = new Account();
+        account.setUserId(user.getId());
+        account.setUserName(user.getUserName());
+        account.setCustomerName(param.getCustomerName());
+        account.setDescription(param.getDescription());
+        account.setCreaterId(param.getCreaterId());
+        this.save(account);
+
+        UserAuthInfo userAuthInfo = new UserAuthInfo();
+        userAuthInfo.setAccountId(account.getId());
+        userAuthInfo.setUserId(user.getId());
+        userAuthInfo.setAppKey(TokenUtil.createToken());
+        userAuthInfo.setTotalCount(param.getCount());
+        userAuthInfo.setState(userAuthInfo.getState());
+        userAuthInfo.setEffectTime(param.getEffectTime());
+        userAuthInfo.setCreaterId(param.getCreaterId());
+        userAuthService.save(userAuthInfo);
+
+        return ResultData.ok();
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/openApi/service/www/IUserService.java

@@ -13,4 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IUserService extends IService<User> {
 
+    User getByUserName(String userName);
+
 }

+ 5 - 0
src/main/java/com/fdkankan/openApi/service/www/impl/UserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.openApi.service.www.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fdkankan.openApi.entity.www.User;
 import com.fdkankan.openApi.mapper.www.IUserMapper;
 import com.fdkankan.openApi.service.www.IUserService;
@@ -19,4 +20,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
 
+    @Override
+    public User getByUserName(String userName) {
+        return this.getOne(new LambdaQueryWrapper<User>().eq(User::getUserName, userName));
+    }
 }

+ 44 - 2
src/main/java/com/fdkankan/openApi/vo/system/CreateAppUserParamVo.java

@@ -2,11 +2,53 @@ package com.fdkankan.openApi.vo.system;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
 @Data
 public class CreateAppUserParamVo {
 
+    /**
+     * 账号
+     */
+    @NotBlank(message = "userName不能为空")
+    private String userName;
+    /**
+     * 客户名称
+     */
+    @NotBlank(message = "customerName不能为空")
+    private String customerName;
+
+    /**
+     * 客户描述
+     */
+    private String description;
+
+    /**
+     * api调用次数,当值为-1时,表示无限制,非负数表示增加次数
+     */
+    @NotNull(message = "count不能为空")
+    private Integer count;
+
+    /**
+     * 启用状态(0-否,1-是)
+     */
+    @NotNull(message = "state不能为空")
+    private Integer state;
+
+    /**
+     * 生效时间
+     */
+    @NotNull(message = "effectTime不能为空")
+    private Date effectTime;
+
+    /**
+     * 创建人id(对应管理后台用户id)
+     */
+    @NotNull(message = "createrId不能为空")
+    private Long createrId;
+
 
-//    private String userName;
-//    private String
 
 }

+ 1 - 1
src/main/resources/bootstrap-prod-eur.yml

@@ -3,7 +3,7 @@ spring:
     name: 4dkankan-center-openApi
   cloud:
     nacos:
-      server-addr: 172.31.42.151:8848
+      server-addr: 172.31.47.163:8848
       namespace: 4dkankan-v4-prod-eur
       config:
         file-extension: yaml