From b5c4def616b7509ee86c8df91e42ae8bbc3a391f Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期一, 15 五月 2023 20:00:59 +0800
Subject: [PATCH] 999

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZHonorServiceImpl.java      |  120 +++++++++++++++++
 zhang-content/src/main/java/com/ruoyi/service/ZHonorService.java               |   11 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZHonorController.java |  107 ++++++++++++++
 zhang-content/src/main/java/com/ruoyi/domain/ZHonor.java                       |  128 ++++-------------
 4 files changed, 266 insertions(+), 100 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZHonorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZHonorController.java
index 9eaeff5..5c7b625 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZHonorController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZHonorController.java
@@ -1,9 +1,29 @@
 package com.ruoyi.web.controller.zhang;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.domain.ZHonor;
+import com.ruoyi.service.ZHonorService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM;
+import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE;
 
 /**
  * <p>
@@ -15,7 +35,88 @@
  */
 @RestController
 @RequestMapping("/zHonor")
-public class ZHonorController {
+@Slf4j
+public class ZHonorController extends BaseController {
+    @Autowired
+    private ZHonorService zHonorService;
+
+    /**
+     * 鏌ヨ鎵�鏈夎褰�
+     */
+    @GetMapping("/all")
+    public AjaxResult listAll(ZHonor zHonor){
+        Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
+        Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
+        return zHonorService.selectDataList(zHonor,pageNum,pageSize);
+    }
+
+    /**
+     * 妯℃澘
+     */
+    @GetMapping("/model")
+    public void getModel(HttpServletResponse response){
+        ZHonor zHonor = new ZHonor();
+        List<ZHonor> emptyList = Collections.singletonList(zHonor);
+        ExcelUtil<ZHonor> util = new ExcelUtil<>(ZHonor.class);
+        util.exportExcel(response, emptyList, "璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰曟暟鎹�");
+    }
+
+    /**
+     * 瀵煎嚭璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰曞垪琛�
+     */
+//    @PreAuthorize("@ss.hasPermi('system:property:export')")
+    @Log(title = "璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZHonor zHonor)
+    {
+        List<ZHonor> list = zHonorService.selectCondition(zHonor);
+        log.info("瀵煎嚭璁板綍涓�:{}",list);
+        ExcelUtil<ZHonor> util = new ExcelUtil<>(ZHonor.class);
+        util.exportExcel(response, list, "璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰曟暟鎹�");
+    }
+
+    /**
+     * 瀵煎叆璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰曞垪琛�
+     */
+    @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception
+    {
+        return zHonorService.importExcel(file);
+    }
+
+    /**
+     * 鏂板璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�
+     */
+//    @PreAuthorize("@ss.hasPermi('system:property:add')")
+    @Log(title = "璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ZHonor zHonor)
+    {
+        return zHonorService.mySave(zHonor);
+    }
+
+    /**
+     * 淇敼璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�
+     */
+//    @PreAuthorize("@ss.hasPermi('system:property:edit')")
+    @Log(title = "璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ZHonor zHonor)
+    {
+        return toAjax(zHonorService.updateById(zHonor));
+    }
+//
+    /**
+     * 鎵归噺鍒犻櫎璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�
+     */
+//    @PreAuthorize("@ss.hasPermi('system:property:remove')")
+    @Log(title = "璇佷欢銆佽崳瑾夈�佽祫璐ㄨ褰�", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(zHonorService.removeByIds(Arrays.asList(ids)));
+    }
 
 }
 
diff --git a/zhang-content/src/main/java/com/ruoyi/domain/ZHonor.java b/zhang-content/src/main/java/com/ruoyi/domain/ZHonor.java
index 949a091..d7db7f8 100644
--- a/zhang-content/src/main/java/com/ruoyi/domain/ZHonor.java
+++ b/zhang-content/src/main/java/com/ruoyi/domain/ZHonor.java
@@ -3,8 +3,15 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
+import org.hibernate.validator.constraints.EAN;
+
+import javax.print.attribute.standard.MediaSize;
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * <p>
@@ -15,152 +22,79 @@
  * @since 2023-03-14
  */
 @TableName("z_honor")
+@Data
 public class ZHonor implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
      * 鏈汉id
      */
-    private Integer userId;
+    private Long userId;
 
     /**
      * 绫诲埆,0锛氳瘉浠躲��1锛氳崳瑾夈��2锛氳祫璐�
      */
+    @Excel(name = "绫诲埆(璇佷欢銆佽崳瑾夈�佽祫璐�)",readConverterExp = "0=璇佷欢,1=鑽h獕,2=璧勮川")
     private Integer type;
 
     /**
      * 鍚嶇О
      */
+    @Excel(name = "鍚嶇О")
     private String name;
 
     /**
      * 璇佸彿/涓撲笟
      */
+    @Excel(name = "璇佸彿/涓撲笟")
     private String idNo;
 
     /**
      * 绾у埆
      */
+    @Excel(name = "绾у埆")
     private String grade;
 
     /**
      * 鏈夋晥鏈�
      */
-    private LocalDateTime validityDate;
+    @Excel(name = "鏈夋晥鏈�", dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date validityDate;
 
     /**
      * 鑾峰緱鏃堕棿
      */
-    private LocalDateTime getDate;
+    @Excel(name = "鑾峰緱鏃堕棿", dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date getDate;
 
     /**
      * 瀛樻斁浣嶇疆
      */
+    @Excel(name = "瀛樻斁浣嶇疆")
     private String location;
 
     /**
      * 澶囨敞
      */
+    @Excel(name = "澶囨敞")
     private String remark;
 
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date createTime;
 
-    public Integer getId() {
-        return id;
-    }
+    /**
+     * 鐢靛瓙鏂囦欢璺緞
+     */
+    private String url;
 
-    public void setId(Integer id) {
-        this.id = id;
-    }
 
-    public Integer getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Integer userId) {
-        this.userId = userId;
-    }
-
-    public Integer getType() {
-        return type;
-    }
-
-    public void setType(Integer type) {
-        this.type = type;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getIdNo() {
-        return idNo;
-    }
-
-    public void setIdNo(String idNo) {
-        this.idNo = idNo;
-    }
-
-    public String getGrade() {
-        return grade;
-    }
-
-    public void setGrade(String grade) {
-        this.grade = grade;
-    }
-
-    public LocalDateTime getValidityDate() {
-        return validityDate;
-    }
-
-    public void setValidityDate(LocalDateTime validityDate) {
-        this.validityDate = validityDate;
-    }
-
-    public LocalDateTime getGetDate() {
-        return getDate;
-    }
-
-    public void setGetDate(LocalDateTime getDate) {
-        this.getDate = getDate;
-    }
-
-    public String getLocation() {
-        return location;
-    }
-
-    public void setLocation(String location) {
-        this.location = location;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    @Override
-    public String toString() {
-        return "ZHonor{" +
-        "id=" + id +
-        ", userId=" + userId +
-        ", type=" + type +
-        ", name=" + name +
-        ", idNo=" + idNo +
-        ", grade=" + grade +
-        ", validityDate=" + validityDate +
-        ", getDate=" + getDate +
-        ", location=" + location +
-        ", remark=" + remark +
-        "}";
-    }
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/service/ZHonorService.java b/zhang-content/src/main/java/com/ruoyi/service/ZHonorService.java
index 9d9e705..68b5a4b 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/ZHonorService.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/ZHonorService.java
@@ -2,7 +2,11 @@
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.domain.ZHonor;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,4 +18,11 @@
  */
 public interface ZHonorService extends IService<ZHonor> {
 
+    AjaxResult selectDataList(ZHonor zHonor,Integer pageNum,Integer pageSize);
+
+    AjaxResult mySave(ZHonor zHonor);
+
+    AjaxResult importExcel(MultipartFile file);
+
+    List<ZHonor> selectCondition(ZHonor zHonor);
 }
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZHonorServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZHonorServiceImpl.java
index 14879b6..f2b1e65 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZHonorServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZHonorServiceImpl.java
@@ -1,11 +1,28 @@
 package com.ruoyi.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.MapUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.domain.ZAbroad;
 import com.ruoyi.domain.ZHonor;
+import com.ruoyi.domain.ZfCollection;
 import com.ruoyi.mapper.ZHonorMapper;
 import com.ruoyi.service.ZHonorService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -18,4 +35,107 @@
 @Service
 public class ZHonorServiceImpl extends ServiceImpl<ZHonorMapper, ZHonor> implements ZHonorService {
 
+    @Autowired
+    ZHonorServiceImpl zHonorService;
+
+    private LambdaQueryWrapper<ZHonor> uniqueCondition(ZHonor zHonor){
+        LambdaQueryWrapper<ZHonor> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(StringUtils.isNotEmpty(zHonor.getName()),ZHonor::getName,zHonor.getName())
+                .eq(zHonor.getType()!=null,ZHonor::getType,zHonor.getType())
+                .eq(StringUtils.isNotEmpty(zHonor.getIdNo()),ZHonor::getIdNo,zHonor.getIdNo())
+                .eq(StringUtils.isNotEmpty(zHonor.getGrade()),ZHonor::getGrade,zHonor.getGrade())
+                .eq(zHonor.getValidityDate()!=null,ZHonor::getValidityDate,zHonor.getValidityDate())
+                .eq(zHonor.getGetDate()!=null,ZHonor::getGetDate,zHonor.getGetDate())
+                .eq(StringUtils.isNotEmpty(zHonor.getLocation()),ZHonor::getLocation,zHonor.getLocation())
+                .eq(StringUtils.isNotEmpty(zHonor.getRemark()),ZHonor::getRemark,zHonor.getRemark())
+                .eq(zHonor.getUserId()!=null,ZHonor::getUserId,zHonor.getUserId());
+        return lqw;
+    }
+
+    private LambdaQueryWrapper<ZHonor> buildCondition(ZHonor zHonor,Long userId){
+        LambdaQueryWrapper<ZHonor> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(StringUtils.isNotEmpty(zHonor.getName()),ZHonor::getName,zHonor.getName())
+                .eq(ZHonor::getUserId,userId)
+                .like(zHonor.getType()!=null,ZHonor::getType,zHonor.getType())
+                .like(StringUtils.isNotEmpty(zHonor.getIdNo()),ZHonor::getIdNo,zHonor.getIdNo())
+                .like(StringUtils.isNotEmpty(zHonor.getGrade()),ZHonor::getGrade,zHonor.getGrade())
+                .like(StringUtils.isNotEmpty(zHonor.getLocation()),ZHonor::getLocation,zHonor.getLocation())
+                .like(StringUtils.isNotEmpty(zHonor.getRemark()),ZHonor::getRemark,zHonor.getRemark())
+                .orderByDesc(ZHonor::getCreateTime);
+        return lqw;
+    }
+
+    /**
+     * 鍒嗛〉鏌ユ壘
+     */
+    @Override
+    public AjaxResult selectDataList(ZHonor zHonor,Integer pageNum,Integer pageSize) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+        LambdaQueryWrapper<ZHonor> lqw = buildCondition(zHonor, userId);
+
+        Page<ZHonor> pageBean = new Page<>(pageNum, pageSize);
+        Page<ZHonor> pageResult = page(pageBean, lqw);
+
+        List<ZHonor> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹�
+
+        HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
+        return AjaxResult.success(data);
+
+    }
+
+    @Override
+    public List<ZHonor> selectCondition(ZHonor zHonor) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+        LambdaQueryWrapper<ZHonor> lqw = buildCondition(zHonor, userId);
+        return list(lqw);
+    }
+
+    @Override
+    public AjaxResult mySave(ZHonor zHonor) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+        zHonor.setUserId(userId);
+
+        //妫�鏌ユ槸鍚︽湁閲嶅鏁版嵁鎻掑叆
+        LambdaQueryWrapper<ZHonor> lqw = uniqueCondition(zHonor);
+        List<ZHonor> list = list(lqw);
+        if(list.size()>0){
+            throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁");
+        }
+
+        if (save(zHonor)) {
+            return AjaxResult.success();
+        }else {
+            return AjaxResult.error();
+        }
+
+    }
+
+    @Override
+    @Transactional
+    public AjaxResult importExcel(MultipartFile file) {
+
+        ExcelUtil<ZHonor> util = new ExcelUtil<>(ZHonor.class);
+        List<ZHonor> dataList = null;
+        try {
+            dataList = util.importExcel(file.getInputStream());
+        } catch (Exception e) {
+            throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁");
+        }
+
+        assert dataList != null;
+
+        for (ZHonor zHonor : dataList) {
+            zHonorService.mySave(zHonor);
+        }
+
+        return AjaxResult.success();
+
+    }
+
+
+
+
 }

--
Gitblit v1.9.1