From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Controller/RegisterController.java | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 258 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Controller/RegisterController.java b/src/main/java/com/gk/firework/Controller/RegisterController.java
new file mode 100644
index 0000000..f226f29
--- /dev/null
+++ b/src/main/java/com/gk/firework/Controller/RegisterController.java
@@ -0,0 +1,258 @@
+package com.gk.firework.Controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gk.firework.Controller.Base.BaseController;
+import com.gk.firework.Domain.*;
+import com.gk.firework.Domain.Enum.EnterpriseSafetySupervision;
+import com.gk.firework.Domain.Enum.ErrorCode;
+import com.gk.firework.Domain.Utils.*;
+import com.gk.firework.Domain.Utils.Properties;
+import com.gk.firework.Domain.Vo.RegisterVo;
+import com.gk.firework.Service.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.FieldError;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.gk.firework.Domain.Enum.ErrorCode.ERROR_10001;
+
+/**
+ * @author : jingjy
+ * @date : 2021/6/24 16:52
+ */
+@Api(tags = "注册信息")
+@RequestMapping("/register")
+@RestController
+public class RegisterController extends BaseController {
+
+ /** 未审核 **/
+ private final Byte REVIEW_INCOMPLETE = 0;
+ /** 审核通过 **/
+ private final Byte REVIEW_APPROVE = 1;
+ /** 审核拒绝 **/
+ private final Byte REVIEW_REJECTION = 2;
+
+ @Autowired
+ private RegisterService registerService;
+ @Autowired
+ private EnterpriseResourceService enterpriseResourceService;
+ @Autowired
+ private EnterpriseService enterpriseService;
+ @Autowired
+ private UserService userService;
+ @Autowired
+ private BlackListService blackListService;
+
+ @PostMapping("/add")
+ public Msg addRegisterInfo(@Validated RegisterVo registerVo, BindingResult bindingResult){
+ if (registerVo == null){
+ return new Msg(ErrorCode.ERROR_10001);
+ }
+
+ if (bindingResult.hasErrors()) {
+ StringBuilder stringBuilder = new StringBuilder();
+ for (String s : bindingResult.getFieldErrors().stream()
+ .map(FieldError::getDefaultMessage).collect(Collectors.toList())) {
+ stringBuilder.append(s);
+ stringBuilder.append(",");
+ }
+ return new Msg(ErrorCode.ERROR_10002,stringBuilder.toString());
+ }
+
+ boolean isSupervision = false;
+ for (EnterpriseSafetySupervision e : EnterpriseSafetySupervision.values()){
+ if (registerVo.getType().equals(e.getMsg())){
+ isSupervision = true;
+ }
+ }
+
+ if (!isSupervision){
+ return new Msg(ErrorCode.ERROR_10004,"企业类型无效");
+ }
+
+ if ((boolean)isEnterpriseNameExist(registerVo.getEnterprisename()).getResult()){
+ return new Msg(ErrorCode.ERROR_10004,"企业名称已存在");
+ }
+
+ if ((boolean)isEnterpriseNumberExist(registerVo.getEnterprisenumber()).getResult()){
+ return new Msg(ErrorCode.ERROR_10004,"企业编码已存在");
+ }
+
+ RegisterInfo registerInfo = BeanUtils.copy(registerVo,RegisterInfo.class);
+ registerInfo.setCreatedat(new Date());
+
+ registerService.save(registerInfo);
+
+ Map<String,MultipartFile[]> map = new HashMap<>(8);
+ map.put(RegisterVo.BUSINESS,registerVo.getBusinessLicense());
+ map.put(RegisterVo.ID_CARD,registerVo.getIdCard());
+ map.put(RegisterVo.LEGAL_PERSON,registerVo.getLegalPersonFile());
+ map.put(RegisterVo.OPERATION,registerVo.getOperationQualification());
+ map.put(RegisterVo.ESCORT_COMPANY,registerVo.getEscortCompany());
+ map.put(RegisterVo.INSURANCE,registerVo.getInsurance());
+ map.put(RegisterVo.PRODUCTION,registerVo.getSafetyProduction());
+ Msg msg = uploadFiles(map,registerInfo);
+ if (!msg.getCode().equals(ErrorCode.SUCCESS.getMsg())){
+ return msg;
+ }
+
+ return success();
+ }
+
+ @ApiOperation(value = "注册信息审核", httpMethod = "POST")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "id", value = "注册信息id",required = true),
+ @ApiImplicitParam(name = "reviewResult",value = "审核结果(1.审核通过;2.审核驳回)",required = true),
+ @ApiImplicitParam(name = "reviewContent",value = "审核意见"),
+ })
+ @PostMapping("/review")
+ public Msg reviewRegister(@RequestBody JSONObject object){
+ Long id = object.getLong("id");
+ Byte reviewResult = object.getByte("reviewResult");
+ String reviewContent = object.getString("reviewContent").trim();
+ if (id == null || reviewResult == null){
+ return new Msg(ErrorCode.ERROR_10001);
+ }
+ if (reviewResult.equals(REVIEW_INCOMPLETE)){
+ return new Msg(ErrorCode.ERROR_10004);
+ }else if (!(reviewResult.equals(REVIEW_REJECTION)||reviewResult.equals(REVIEW_APPROVE))){
+ return new Msg(ErrorCode.ERROR_10004);
+ }
+
+ UserInfo userInfo = userService.getById(getUser().getId());
+ //普通用户
+ int normalUser = 3;
+ if (userInfo.getType() == normalUser){
+ return new Msg(ErrorCode.ERROR_70001);
+ }
+ RegisterInfo registerInfo = registerService.getById(id);
+ if (registerInfo == null){
+ return new Msg(ErrorCode.ERROR_50001);
+ }
+ if ((boolean)isEnterpriseNameExist(registerInfo.getEnterprisename()).getResult()){
+ return new Msg(ErrorCode.ERROR_10004,"企业名称已存在");
+ }
+
+ if ((boolean)isEnterpriseNumberExist(registerInfo.getEnterprisenumber()).getResult()){
+ return new Msg(ErrorCode.ERROR_10004,"企业编码已存在");
+ }
+
+ registerInfo.setReviewresult(reviewResult);
+ registerInfo.setReviewat(new Date());
+ registerInfo.setReviewer(getUser().getId().toString());
+ registerInfo.setReviewcontent(reviewContent);
+ registerService.updateById(registerInfo);
+ if (reviewResult.equals(REVIEW_APPROVE)){
+ //创建企业账户
+ enterpriseService.addEnterpriseByRegister(registerInfo,userInfo);
+ }
+ return success();
+ }
+
+ /**
+ * @Description: 根据企业名称判断企业是否存在
+ */
+ @GetMapping("/isNameExist")
+ @ApiOperation(value = "企业名称是否存在", httpMethod = "GET")
+ @ApiImplicitParam(name = "enterpriseName", value = "企业名称", required = true)
+ public Msg isEnterpriseNameExist(@RequestParam("enterpriseName")String enterpriseName){
+ if (StringUtils.isBlank(enterpriseName.trim())){
+ return new Msg(ERROR_10001);
+ }
+ boolean flag = true;
+ Enterprise enterprise = enterpriseService.selectEnterpriseByName(enterpriseName);
+ if (enterprise == null){
+ flag = false;
+ return success(flag);
+ }
+ BlackList blackList = blackListService.getByEnterprisenumber(enterprise.getEnterprisenumber());
+ if (blackList != null) flag = false;
+ return success(flag);
+
+ }
+
+ /**
+ * @Description: 根据企业编码判断企业是否存在
+ */
+ @GetMapping("/isNumberExist")
+ @ApiOperation(value = "企业编码是否存在", httpMethod = "GET")
+ @ApiImplicitParam(name = "enterpriseNumber", value = "企业编码", required = true)
+ public Msg isEnterpriseNumberExist(@RequestParam("enterpriseNumber")String enterpriseNumber){
+ if (StringUtils.isBlank(enterpriseNumber.trim())){
+ return new Msg(ERROR_10001);
+ }
+ boolean flag = true;
+ Enterprise enterprise = enterpriseService.selectEnterpriseByNumber(enterpriseNumber);
+ if (enterprise == null){
+ flag = false;
+ }
+ return success(flag);
+ }
+
+ @GetMapping("/review")
+ public Msg getWaitReviewData(@RequestParam(value = "name", required = false) String name,
+ @RequestParam(value = "type", required = false) String type,
+ @RequestParam(value = "reviewResult", required = false) Integer reviewResult,
+ @RequestParam(defaultValue = "0") Integer pageIndex,
+ @RequestParam(defaultValue = "10") Integer pageSize,
+ String sort, String order){
+ Msg msg = new Msg(true);
+
+ PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order);
+ Map<String, Object> condition = new HashMap<>(4);
+ if (StringUtils.isNotBlank(name)) {
+ condition.put("name", name);
+ }
+ if (StringUtils.isNotBlank(type)) {
+ condition.put("type", type);
+ }
+ if (reviewResult != null ){
+ condition.put("reviewResult", reviewResult);
+ }
+ UserInfo userInfo = userService.getById(getUser().getId());
+
+ pageInfo.setCondition(condition);
+ registerService.selectDataGrid(pageInfo);
+ msg.setResult(pageInfo);
+ return msg;
+ }
+
+ private Msg uploadFiles(Map<String, MultipartFile[]> map, RegisterInfo registerInfo) {
+ List<EnterpriseResource> adds = new ArrayList<>();
+ try {
+ for (Map.Entry<String, MultipartFile[]>entry : map.entrySet()){
+ MultipartFile[] files = entry.getValue();
+ if (files != null && files.length > 0) {
+ for (MultipartFile file : files) {
+ String name = UploadUtil.uploadFile(file, Properties.enterprisePath);
+ EnterpriseResource er = new EnterpriseResource();
+ er.setTabletype(entry.getKey());
+ er.setFilename(file.getOriginalFilename());
+ er.setUrl(Properties.enterprise + name);
+ er.setCreatetime(new Date());
+ er.setCreatebyname(registerInfo.getEnterprisename());
+ er.setBelongid(registerInfo.getId());
+ er.setValidflag(true);
+ adds.add(er);
+ }
+ }
+ }
+ //执行
+ enterpriseResourceService.saveBatch(adds);
+ return success();
+
+ } catch (Exception e) {
+ return new Msg(ErrorCode.ERROR_40001,"文件上传失败");
+ }
+
+ }
+}
--
Gitblit v1.9.2