From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期一, 19 六月 2023 14:41:54 +0800 Subject: [PATCH] commit --- src/main/java/com/gk/firework/Controller/AuthorizationController.java | 145 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 145 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/gk/firework/Controller/AuthorizationController.java b/src/main/java/com/gk/firework/Controller/AuthorizationController.java new file mode 100644 index 0000000..0ddcddf --- /dev/null +++ b/src/main/java/com/gk/firework/Controller/AuthorizationController.java @@ -0,0 +1,145 @@ +package com.gk.firework.Controller; + +import com.alibaba.fastjson.JSONObject; +import com.gk.firework.Controller.Base.BaseController; +import com.gk.firework.Domain.AuthorizationInfo; +import com.gk.firework.Domain.Enterprise; +import com.gk.firework.Domain.Enum.ErrorCode; +import com.gk.firework.Domain.UserInfo; +import com.gk.firework.Domain.Utils.Msg; +import com.gk.firework.Domain.Utils.StringUtils; +import com.gk.firework.Service.AuthorizationService; +import com.gk.firework.Service.EnterpriseService; +import com.gk.firework.Service.UserService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; + +/** + * @author : jingjy + * @date : 2021/7/2 14:31 + */ +@Api("授权码") +@RequestMapping("auth") +@RestController +public class AuthorizationController extends BaseController { + @Autowired + private AuthorizationService authorizationService; + @Autowired + private EnterpriseService enterpriseService; + @Autowired + private UserService userService; + + @GetMapping("/list") + public Msg getAuthListByEnterpriseId(@RequestParam("userId") String userId) { + if (StringUtils.isBlank(userId)) { + return new Msg(ErrorCode.ERROR_10001); + } + UserInfo userInfo = userService.getById(userId); + if (userInfo == null) { + return new Msg(ErrorCode.ERROR_50001); + } + List<AuthorizationInfo> authorizationInfo = authorizationService.getAuthByEnterprise(userInfo.getCompanynumber()); + return success(authorizationInfo); + } + + @PostMapping("/create") + public Msg createAuth(@RequestBody JSONObject jsonObject) { + String userId = jsonObject.getString("userId"); + String contractCode = jsonObject.getString("contractCode"); + Byte flag = jsonObject.getByte("flag"); + if (StringUtils.isBlank(userId)) { + return new Msg(ErrorCode.ERROR_10001); + } + UserInfo userInfo = userService.getById(userId); + if (userInfo == null) { + return new Msg(ErrorCode.ERROR_50001); + } + if (StringUtils.isBlank(contractCode)) { + return new Msg(ErrorCode.ERROR_10002, "合同编号不能为空"); + } + AuthorizationInfo authorizationInfo = new AuthorizationInfo(); + List<AuthorizationInfo> authorizationExist = authorizationService.getAuthByEnterprise(userInfo.getCompanynumber()); + String prefix; + if (authorizationExist.size() > 0) { + //企业已经生成过授权码,则使用第一次生成的前缀 + prefix = authorizationExist.get(0).getAuthcodeprefix(); + } else { + //未生成则随机生成,不能重复 + String str; + str = randomLetter(3); + boolean isPrefixExist; + isPrefixExist = authorizationService.checkPrefixExist(str); + while (isPrefixExist) { + str = randomLetter(3); + isPrefixExist = authorizationService.checkPrefixExist(str); + } + prefix = str; + } + String suffix; + suffix = randomLetter(3); + boolean isAuthCodeExist; + isAuthCodeExist = authorizationService.checkCodeExist(prefix + suffix); + while (isAuthCodeExist) { + suffix = randomLetter(3); + isAuthCodeExist = authorizationService.checkCodeExist(prefix + suffix); + } + authorizationInfo.setAuthcode(prefix+suffix); + authorizationInfo.setAuthcodeprefix(prefix); + authorizationInfo.setFlag(flag); + authorizationInfo.setEnterprisenumber(userInfo.getCompanynumber()); + authorizationInfo.setContractcode(contractCode); + authorizationInfo.setCreatedat(new Date()); + authorizationInfo.setCreatedby(userService.getById(getUser().getId()).getUsername()); + authorizationInfo.setStatus((byte)1); + authorizationService.save(authorizationInfo); + return success(); + } + + @PostMapping("status") + public Msg changeStatus(@RequestBody JSONObject jsonObject){ + String id = jsonObject.getString("id"); + String status = jsonObject.getString("status"); + if (!"0".equals(status) && !"1".equals(status)){ + return new Msg(ErrorCode.ERROR_10004); + } + if (StringUtils.isBlank(id)){ + return new Msg(ErrorCode.ERROR_10002); + } + AuthorizationInfo authorizationInfo = authorizationService.getById(id); + if (authorizationInfo == null){ + return new Msg(ErrorCode.ERROR_50001); + } + authorizationInfo.setStatus(Byte.parseByte(status)); + authorizationService.updateById(authorizationInfo); + return success(); + } + + @PostMapping("delete") + public Msg deleteAuth(@RequestBody JSONObject jsonObject){ + String id = jsonObject.getString("id"); + if (StringUtils.isBlank(id)){ + return new Msg(ErrorCode.ERROR_10002); + } + AuthorizationInfo authorizationInfo = authorizationService.getById(id); + if (authorizationInfo == null){ + return new Msg(ErrorCode.ERROR_50001); + } + authorizationService.removeById(id); + return success(); + } + /** + * @param n 随机字符串长度 + * @return 生成的随机字符串 + */ + private String randomLetter(int n) { + StringBuilder str = new StringBuilder(); + for (int i = 0; i < n; i++) { + str.append((char) (Math.random() * 26 + 'A')); + } + return str.toString(); + } +} -- Gitblit v1.9.2