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