Browse Source

对接管理后台

dengsixing 5 months ago
parent
commit
4a1b250d7a

+ 33 - 2
src/main/java/com/fdkankan/openApi/controller/system/AccountController.java

@@ -1,6 +1,15 @@
 package com.fdkankan.openApi.controller.system;
 
 
+import cn.dev33.satoken.annotation.SaIgnore;
+import com.fdkankan.openApi.dto.AccountDTO;
+import com.fdkankan.openApi.service.system.IAccountService;
+import com.fdkankan.openApi.vo.system.CreateAppUserParamVo;
+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;
 
 import org.springframework.web.bind.annotation.RestController;
@@ -10,12 +19,34 @@ import org.springframework.web.bind.annotation.RestController;
  * 账号表 前端控制器
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-18
  */
 @RestController
-@RequestMapping("/openApi/account")
+@RequestMapping("/account")
 public class AccountController {
 
+    @Autowired
+    private IAccountService accountService;
+
+    @SaIgnore
+    @PostMapping("add")
+    public ResultData createApp(@RequestBody @Validated AccountDTO param){
+        return accountService.createApp(param);
+    }
+
+    @SaIgnore
+    @PostMapping("updateStatus")
+    public ResultData updateStatus(@RequestBody @Validated AccountDTO param){
+        accountService.updateStatus(param);
+        return ResultData.ok();
+    }
+
+    @SaIgnore
+    @PostMapping("page")
+    public ResultData page(@RequestBody @Validated AccountDTO param){
+        return ResultData.ok(accountService.page(param));
+    }
+
 }
 

+ 3 - 2
src/main/java/com/fdkankan/openApi/controller/system/SsoUserController.java

@@ -9,6 +9,7 @@ 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.dto.AccountDTO;
 import com.fdkankan.openApi.entity.system.Account;
 import com.fdkankan.openApi.entity.system.UserAuthInfo;
 import com.fdkankan.openApi.httpclient.client.FdKKClient;
@@ -32,7 +33,7 @@ import java.util.Objects;
  *  前端控制器
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-02-15
  */
 @RestController
@@ -54,7 +55,7 @@ public class SsoUserController extends BaseController {
 
     @SaIgnore
     @PostMapping("app/create")
-    public ResultData createApp(@RequestBody @Validated CreateAppUserParamVo param){
+    public ResultData createApp(@RequestBody @Validated AccountDTO param){
         return accountService.createApp(param);
     }
 

+ 72 - 0
src/main/java/com/fdkankan/openApi/dto/AccountDTO.java

@@ -0,0 +1,72 @@
+package com.fdkankan.openApi.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fdkankan.openApi.entity.system.SystemBaseEntity;
+import com.fdkankan.web.request.RequestBase;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 账号表
+ * </p>
+ *
+ * @author
+ * @since 2023-05-18
+ */
+@Getter
+@Setter
+public class AccountDTO extends RequestBase {
+
+    private Long id;
+
+    /**
+     * 官网用户id
+     */
+    private Long userId;
+
+    /**
+     * 官网用户账号
+     */
+    private String userName;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 客户描述
+     */
+    private String description;
+
+    /**
+     * 头像
+     */
+    private String head;
+
+    private Integer useType;
+
+    private String companyName;
+
+    private String businessDept;
+
+    private String businessName;
+
+    private Integer customerType;
+
+    private String endCustomer;
+
+    private String remark;
+
+    private Integer status;
+
+    private String apiKey;
+
+    private Long createrId;
+
+    private Long updaterId;
+}

+ 21 - 1
src/main/java/com/fdkankan/openApi/entity/system/Account.java

@@ -14,7 +14,7 @@ import lombok.Setter;
  * 账号表
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-18
  */
 @Getter
@@ -52,4 +52,24 @@ public class Account extends SystemBaseEntity {
     @TableField("head")
     private String head;
 
+    @TableField("use_type")
+    private Integer useType;
+
+    @TableField("company_name")
+    private String companyName;
+
+    @TableField("business_dept")
+    private String businessDept;
+
+    @TableField("business_name")
+    private String businessName;
+
+    @TableField("customer_type")
+    private Integer customerType;
+
+    @TableField("end_customer")
+    private String endCustomer;
+
+    @TableField("remark")
+    private String remark;
 }

+ 5 - 1
src/main/java/com/fdkankan/openApi/mapper/system/IAccountMapper.java

@@ -1,9 +1,11 @@
 package com.fdkankan.openApi.mapper.system;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fdkankan.openApi.dto.AccountDTO;
 import com.fdkankan.openApi.entity.system.Account;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.openApi.entity.www.ScenePlus;
+import com.fdkankan.openApi.vo.system.AccountVO;
 import com.fdkankan.openApi.vo.system.AppUserVo;
 import com.fdkankan.openApi.vo.system.PageAppUserParamVo;
 import com.fdkankan.openApi.vo.www.PageScenesParamVo;
@@ -14,7 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
  * 账号表 Mapper 接口
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-18
  */
 @Mapper
@@ -22,4 +24,6 @@ public interface IAccountMapper extends BaseMapper<Account> {
 
     Page<AppUserVo> pageList(Page<AppUserVo> page, PageAppUserParamVo param);
 
+    Page<AccountVO> page(Page<AccountVO> page, AccountDTO param);
+
 }

+ 8 - 2
src/main/java/com/fdkankan/openApi/service/system/IAccountService.java

@@ -2,6 +2,8 @@ package com.fdkankan.openApi.service.system;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.openApi.common.PageInfo;
+import com.fdkankan.openApi.dto.AccountDTO;
 import com.fdkankan.openApi.entity.system.Account;
 import com.fdkankan.openApi.vo.system.*;
 import com.fdkankan.web.response.ResultData;
@@ -11,7 +13,7 @@ import com.fdkankan.web.response.ResultData;
  * 账号表 服务类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-18
  */
 public interface IAccountService extends IService<Account> {
@@ -24,11 +26,15 @@ public interface IAccountService extends IService<Account> {
 
     ResultData longinV1(LoginParam param);
 
-    ResultData createApp(CreateAppUserParamVo param);
+    ResultData createApp(AccountDTO param);
 
     ResultData updateApp(UpdateAppUserParamVo param);
 
     ResultData listApp(PageAppUserParamVo param);
 
     void deleteApp(UpdateAppUserParamVo param);
+
+    void updateStatus(AccountDTO accountDTO);
+
+    PageInfo page(AccountDTO accountDTO);
 }

+ 43 - 17
src/main/java/com/fdkankan/openApi/service/system/impl/AccountServiceImpl.java

@@ -14,6 +14,7 @@ import com.fdkankan.common.util.Base64Converter;
 import com.fdkankan.common.util.PasswordUtils;
 import com.fdkankan.openApi.common.PageInfo;
 import com.fdkankan.openApi.constant.CountType;
+import com.fdkankan.openApi.dto.AccountDTO;
 import com.fdkankan.openApi.entity.system.Account;
 import com.fdkankan.openApi.entity.system.UserAuthInfo;
 import com.fdkankan.openApi.entity.www.User;
@@ -32,6 +33,8 @@ import com.fdkankan.web.response.ResultData;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -40,13 +43,13 @@ import java.util.Objects;
  * 账号表 服务实现类
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-18
  */
 @Service
 public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> implements IAccountService {
 
-    @Autowired
+    @Resource
     private FdKKClient fdKKClient;
     @Autowired
     private IUserAuthInfoService userAuthService;
@@ -115,7 +118,8 @@ public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> imp
     }
 
     @Override
-    public ResultData createApp(CreateAppUserParamVo param) {
+    public ResultData createApp(AccountDTO param) {
+
         Account account = this.getOne(new LambdaQueryWrapper<Account>().eq(Account::getUserName, param.getUserName()));
         if(Objects.nonNull(account)){
             throw new BusinessException(ErrorCode.FAILURE_CODE_10002);
@@ -124,37 +128,34 @@ public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> imp
         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);
-        }
-        Integer count = param.getCount();
-        if(CountType.NO_LIMIT.code() != param.getCountType() && (Objects.isNull(count) || count < 1)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_10004);
-        }else{
-            count = -1;
-        }
         account = new Account();
         account.setUserId(user.getId());
         account.setUserName(user.getUserName());
         account.setCustomerName(param.getCustomerName());
         account.setDescription(param.getDescription());
         account.setCreaterId(param.getCreaterId());
+        account.setUseType(param.getUseType());
+        account.setCompanyName(param.getCompanyName());
+        account.setBusinessDept(param.getBusinessDept());
+        account.setCustomerType(param.getCustomerType());
+        account.setEndCustomer(param.getEndCustomer());
+        account.setRemark(param.getRemark());
+        account.setBusinessName(param.getBusinessName());
         this.save(account);
 
         UserAuthInfo userAuthInfo = new UserAuthInfo();
         userAuthInfo.setAccountId(account.getId());
         userAuthInfo.setUserId(user.getId());
         userAuthInfo.setAppKey(TokenUtil.createToken());
-        userAuthInfo.setTotalCount(count);
+        userAuthInfo.setTotalCount(-1);
         userAuthInfo.setCallCount(0);
-        userAuthInfo.setState(param.getState());
-        userAuthInfo.setEffectTime(param.getEffectTime());
+        userAuthInfo.setState(CommonStatus.YES.code().intValue());
+        userAuthInfo.setEffectTime(new Date());
         userAuthInfo.setCreaterId(param.getCreaterId());
         userAuthService.save(userAuthInfo);
 
         //设置redis缓存
-        userAuthService.setReidsCount(userAuthInfo.getAppKey(), param.getCountType(), count);
+        userAuthService.setReidsCount(userAuthInfo.getAppKey(), CountType.NO_LIMIT.code(), -1);
 
         return ResultData.ok();
     }
@@ -241,4 +242,29 @@ public class AccountServiceImpl extends ServiceImpl<IAccountMapper, Account> imp
 
         this.removeById(account.getId());
     }
+
+    @Override
+    public void updateStatus(AccountDTO accountDTO) {
+
+        Account account = this.getById(accountDTO.getId());
+        if(Objects.isNull(account)){
+            return;
+        }
+
+        account.setUpdaterId(accountDTO.getUpdaterId());
+        account.setUpdateTime(new Date());
+        this.updateById(account);
+
+        UserAuthInfo userAuthInfo = userAuthService.findByAccountId(account.getId());
+        userAuthInfo.setState(accountDTO.getStatus());
+        userAuthInfo.setUpdateTime(new Date());
+        userAuthInfo.setUpdaterId(accountDTO.getUpdaterId());
+        userAuthService.updateById(userAuthInfo);
+    }
+
+    @Override
+    public PageInfo page(AccountDTO accountDTO) {
+        Page<AccountVO> page = this.baseMapper.page(new Page<>(accountDTO.getPageNum(), accountDTO.getPageSize()), accountDTO);
+        return PageInfo.PageInfo(page);
+    }
 }

+ 75 - 0
src/main/java/com/fdkankan/openApi/vo/system/AccountVO.java

@@ -0,0 +1,75 @@
+package com.fdkankan.openApi.vo.system;
+
+import com.fdkankan.web.request.RequestBase;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 账号表
+ * </p>
+ *
+ * @author
+ * @since 2023-05-18
+ */
+@Getter
+@Setter
+public class AccountVO {
+
+    private Long id;
+
+    /**
+     * 官网用户id
+     */
+    private Long userId;
+
+    /**
+     * 官网用户账号
+     */
+    private String userName;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 客户描述
+     */
+    private String description;
+
+    /**
+     * 头像
+     */
+    private String head;
+
+    private Integer useType;
+
+    private String companyName;
+
+    private String businessDept;
+
+    private String businessName;
+
+    private Integer customerType;
+
+    private String endCustomer;
+
+    private String remark;
+
+    private Integer status;
+
+    private String apiKey;
+
+    private Long createrId;
+
+    private Long updaterId;
+
+    private Date effectTime;
+
+    private Date createTime;
+
+    private Date updateTime;
+}

+ 17 - 1
src/main/resources/mapper/system/AccountMapper.xml

@@ -20,8 +20,24 @@
             and u.state = #{param.state}
         </if>
 
+    </select>
 
-
+    <select id="page" resultType="com.fdkankan.openApi.vo.system.AccountVO">
+        select t.*, u.app_key as apiKey, u.effect_time, u.state as status from t_account t
+        left join t_user_auth_info u on t.id = u.account_id
+        where t.tb_status = 0 and u.tb_status = 0
+        <if test="param.userName != null and param.userName != ''">
+            and t.user_name like concat('%', #{param.userName}, '%')
+        </if>
+        <if test="param.customerName != null and param.customerName != ''">
+            and t.customer_name like concat('%', #{param.customerName}, '%')
+        </if>
+        <if test="param.apiKey != null and param.apiKey != ''">
+            and u.app_key like concat('%', #{param.apiKey}, '%')
+        </if>
+        <if test="param.status != null">
+            and u.state = #{param.status}
+        </if>
     </select>