From 06997ad92d77b7dd8a002df16b5b0cadc528d5f5 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 24 八月 2023 15:28:52 +0800
Subject: [PATCH] 111
---
 server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java   |    1 
 server/src/main/java/doumeemes/dao/business/vo/UnqualifiedRecordVO.java    |   57 ++++++++++++++++++++++++++++
 server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java |   11 +++++
 server/src/main/java/doumeemes/dao/ext/dto/WxLoginOutDTO.java              |   20 ++++++++++
 server/src/main/java/doumeemes/api/ext/UnqualifiedRecordExtController.java |   15 ++++++-
 server/src/main/java/doumeemes/service/system/WxLoginService.java          |    3 +
 server/src/main/java/doumeemes/api/system/SystemController.java            |    9 ++++
 7 files changed, 114 insertions(+), 2 deletions(-)
diff --git a/server/src/main/java/doumeemes/api/ext/UnqualifiedRecordExtController.java b/server/src/main/java/doumeemes/api/ext/UnqualifiedRecordExtController.java
index 6d573c2..958c244 100644
--- a/server/src/main/java/doumeemes/api/ext/UnqualifiedRecordExtController.java
+++ b/server/src/main/java/doumeemes/api/ext/UnqualifiedRecordExtController.java
@@ -7,6 +7,7 @@
 import doumeemes.core.model.PageWrap;
 import doumeemes.core.utils.DateUtil;
 import doumeemes.dao.business.model.UnqualifiedRecord;
+import doumeemes.dao.business.vo.UnqualifiedRecordVO;
 import doumeemes.dao.business.vo.WorkPlansVO;
 import doumeemes.dao.ext.dto.QueryUnQualifiedRecordDTO;
 import doumeemes.dao.ext.dto.QueryWorkPlansDTO;
@@ -15,6 +16,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -22,6 +24,8 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Created by IntelliJ IDEA.
@@ -31,7 +35,7 @@
  */
 
 @RestController
-@RequestMapping("/ext/unqualifiedRecord")
+@RequestMapping("/business/unqualifiedRecord")
 @Api(tags = "宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛�")
 public class UnqualifiedRecordExtController  extends BaseController {
 
@@ -47,7 +51,14 @@
     @ApiOperation("瀵煎嚭Excel")
     @PostMapping("/exportExcel")
     public void exportExcel (@RequestBody PageWrap<QueryUnQualifiedRecordDTO> pageWrap, HttpServletResponse response) throws Exception{
-        ExcelExporter.build(UnqualifiedRecord.class).export(unqualifiedRecordService.findJoinPage(pageWrap).getRecords(), "涓嶈壇浜у嚭鏄庣粏璁板綍"+ DateUtil.getNowLongTime(), response);
+        List<UnqualifiedRecord> list  = unqualifiedRecordService.findJoinPage(pageWrap).getRecords();
+        List<UnqualifiedRecordVO> voList = new ArrayList<>();
+        list.forEach(i->{
+            UnqualifiedRecordVO unqualifiedRecordVO = new UnqualifiedRecordVO();
+            BeanUtils.copyProperties(i,unqualifiedRecordVO);
+            voList.add(unqualifiedRecordVO);
+        });
+        ExcelExporter.build(UnqualifiedRecordVO.class).export(voList, "涓嶈壇浜у嚭鏄庣粏璁板綍"+ DateUtil.getNowLongTime(), response);
     }
 
 }
diff --git a/server/src/main/java/doumeemes/api/system/SystemController.java b/server/src/main/java/doumeemes/api/system/SystemController.java
index 468aea0..1cbe332 100644
--- a/server/src/main/java/doumeemes/api/system/SystemController.java
+++ b/server/src/main/java/doumeemes/api/system/SystemController.java
@@ -9,6 +9,7 @@
 import doumeemes.core.utils.Constants;
 import doumeemes.dao.business.dto.CompanyInitDataDTO;
 import doumeemes.dao.ext.dto.WxLoginDTO;
+import doumeemes.dao.ext.dto.WxLoginOutDTO;
 import doumeemes.dao.ext.vo.WxLoginVO;
 import doumeemes.dao.system.dto.LoginDTO;
 import doumeemes.dao.system.dto.UpdatePwdDto;
@@ -81,6 +82,14 @@
         return ApiResponse.success(wxLoginService.wxLoginByPassword(dto, request));
     }
 
+    @PreventRepeat(limit = 10, lockTime = 10000)
+    @ApiOperation("寰俊閫�鍑虹櫥褰�")
+    @PostMapping("/wxLoginOut")
+    public ApiResponse wxLoginOut (@Validated @RequestBody WxLoginOutDTO dto, HttpServletRequest request) {
+        wxLoginService.wxLoginOut(dto);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
+
     @ApiOperation("閫�鍑虹櫥褰�")
     @PostMapping("/logout")
     public ApiResponse logout () {
diff --git a/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java b/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java
index 32b16ab..85e2afa 100644
--- a/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java
+++ b/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java
@@ -23,6 +23,7 @@
 public class UnqualifiedRecord {
 
     @TableId(type = IdType.AUTO)
+    @ExcelColumn(name="涓婚敭",index = 0,width =15)
     @ApiModelProperty(value = "涓婚敭", example = "1")
     private Integer id;
 
diff --git a/server/src/main/java/doumeemes/dao/business/vo/UnqualifiedRecordVO.java b/server/src/main/java/doumeemes/dao/business/vo/UnqualifiedRecordVO.java
new file mode 100644
index 0000000..1c0fffa
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/business/vo/UnqualifiedRecordVO.java
@@ -0,0 +1,57 @@
+package doumeemes.dao.business.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import doumeemes.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛�
+ * @author 姹熻箘韫�
+ * @since 2023/08/16 14:15
+ */
+@Data
+public class UnqualifiedRecordVO {
+
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿",index = 7,width =15)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+
+    @ApiModelProperty(value = "妫�楠屼笉鍚堟牸鏁伴噺", example = "1")
+    @ExcelColumn(name="鏁伴噺",index = 6,width =15)
+    private BigDecimal unqualifiedNum;
+
+    @ApiModelProperty(value = "宸ュ崟缂栫爜", example = "1")
+    @ExcelColumn(name="宸ュ崟缂栫爜",index = 1,width =15)
+    private String workOrderCode;
+
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О", example = "1")
+    @ExcelColumn(name="鐗╂枡鍚嶇О",index = 2,width =15)
+    private String materialName;
+
+    @ApiModelProperty(value = "鐗╂枡缂栫爜", example = "1")
+    @ExcelColumn(name="鐗╂枡缂栫爜",index = 3,width =15)
+    private String materialCode;
+
+    @ApiModelProperty(value = "宸ュ簭", example = "1")
+    @ExcelColumn(name="宸ュ簭",index = 4,width =15)
+    private String proceduresName;
+
+    @ApiModelProperty(value = "涓嶈壇椤�", example = "1")
+    @ExcelColumn(name="涓嶈壇椤�",index = 5,width =15)
+    private String categoryName;
+
+    @ApiModelProperty(value = "鍒涘缓浜�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜�",index = 8,width =15)
+    private String createUserName;
+}
diff --git a/server/src/main/java/doumeemes/dao/ext/dto/WxLoginOutDTO.java b/server/src/main/java/doumeemes/dao/ext/dto/WxLoginOutDTO.java
new file mode 100644
index 0000000..25705cd
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/ext/dto/WxLoginOutDTO.java
@@ -0,0 +1,20 @@
+package doumeemes.dao.ext.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2023/8/11 10:10
+ */
+@Data
+public class WxLoginOutDTO {
+
+    @ApiModelProperty(value = "鐢ㄦ埛涓婚敭")
+    private Integer companyUserId;
+
+}
diff --git a/server/src/main/java/doumeemes/service/system/WxLoginService.java b/server/src/main/java/doumeemes/service/system/WxLoginService.java
index 5e92627..61e1644 100644
--- a/server/src/main/java/doumeemes/service/system/WxLoginService.java
+++ b/server/src/main/java/doumeemes/service/system/WxLoginService.java
@@ -1,6 +1,7 @@
 package doumeemes.service.system;
 
 import doumeemes.dao.ext.dto.WxLoginDTO;
+import doumeemes.dao.ext.dto.WxLoginOutDTO;
 import doumeemes.dao.ext.vo.WxLoginVO;
 import doumeemes.dao.system.dto.LoginDTO;
 
@@ -18,4 +19,6 @@
 
 
     String wxLoginByPassword (WxLoginDTO dto, HttpServletRequest request);
+
+    void wxLoginOut(WxLoginOutDTO wxLoginOutDTO);
 }
diff --git a/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java b/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java
index 9c3e70f..e289aa1 100644
--- a/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java
@@ -19,6 +19,7 @@
 import doumeemes.dao.ext.DepartmentExtMapper;
 import doumeemes.dao.ext.dto.QueryCompanyUserExtDTO;
 import doumeemes.dao.ext.dto.WxLoginDTO;
+import doumeemes.dao.ext.dto.WxLoginOutDTO;
 import doumeemes.dao.ext.vo.CompanyUserExtListVO;
 import doumeemes.dao.ext.vo.WxLoginVO;
 import doumeemes.dao.system.SystemUserMapper;
@@ -223,4 +224,14 @@
         }
     }
 
+    @Override
+    public void wxLoginOut(WxLoginOutDTO wxLoginOutDTO) {
+        if(Objects.isNull(wxLoginOutDTO)&&!Objects.isNull(wxLoginOutDTO.getCompanyUserId())){
+            companyUserExtMapper.update(null,new UpdateWrapper<CompanyUser>()
+                    .set("UNIONID","").set("OPENID","")
+                    .eq("id",wxLoginOutDTO.getCompanyUserId())
+            );
+        }
+    }
+
 }
--
Gitblit v1.9.3