ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZHonorController.java
@@ -66,10 +66,10 @@ */ // @PreAuthorize("@ss.hasPermi('system:property:export')") @Log(title = "证件、荣誉、资质记录", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ZHonor zHonor) @PostMapping("/export/{ids}") public void export(HttpServletResponse response,@PathVariable Long[] ids) { List<ZHonor> list = zHonorService.selectCondition(zHonor); List<ZHonor> list = zHonorService.selectByIds(ids); log.info("导出记录为:{}",list); ExcelUtil<ZHonor> util = new ExcelUtil<>(ZHonor.class); util.exportExcel(response, list, "证件、荣誉、资质记录数据"); ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZSecretController.java
@@ -1,9 +1,27 @@ 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.text.Convert; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.domain.ZSecret; import com.ruoyi.service.ZSecretService; 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 +33,88 @@ */ @RestController @RequestMapping("/zSecret") public class ZSecretController { @Slf4j public class ZSecretController extends BaseController { @Autowired private ZSecretService zSecretService; /** * 查询所有记录 */ @GetMapping("/all") public AjaxResult listAll(ZSecret zSecret){ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); return zSecretService.selectDataList(zSecret,pageNum,pageSize); } /** * 模板 */ @GetMapping("/model") public void getModel(HttpServletResponse response){ ZSecret zSecret = new ZSecret(); List<ZSecret> emptyList = Collections.singletonList(zSecret); ExcelUtil<ZSecret> util = new ExcelUtil<>(ZSecret.class); util.exportExcel(response, emptyList, "藏心密语记录数据"); } /** * 导出藏心密语记录列表 */ // @PreAuthorize("@ss.hasPermi('system:property:export')") @Log(title = "藏心密语记录", businessType = BusinessType.EXPORT) @PostMapping("/export/{ids}") public void export(HttpServletResponse response,@PathVariable Long[] ids) { List<ZSecret> list = zSecretService.selectByIds(ids); log.info("导出记录为:{}",list); ExcelUtil<ZSecret> util = new ExcelUtil<>(ZSecret.class); util.exportExcel(response, list, "藏心密语记录数据"); } /** * 导入藏心密语记录列表 */ @Log(title = "用户管理", businessType = BusinessType.IMPORT) @PostMapping("/importData") public AjaxResult importData(@RequestParam("excelImport") MultipartFile file) throws Exception { return zSecretService.importExcel(file); } /** * 新增藏心密语记录 */ // @PreAuthorize("@ss.hasPermi('system:property:add')") @Log(title = "藏心密语记录", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ZSecret zSecret) { return zSecretService.mySave(zSecret); } /** * 修改藏心密语记录 */ // @PreAuthorize("@ss.hasPermi('system:property:edit')") @Log(title = "藏心密语记录", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ZSecret zSecret) { return toAjax(zSecretService.updateById(zSecret)); } // /** * 批量删除藏心密语记录 */ // @PreAuthorize("@ss.hasPermi('system:property:remove')") @Log(title = "藏心密语记录", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(zSecretService.removeByIds(Arrays.asList(ids))); } } zhang-content/src/main/java/com/ruoyi/domain/ZSecret.java
@@ -1,10 +1,17 @@ package com.ruoyi.domain; 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 com.ruoyi.common.annotation.Excel; import lombok.Data; import lombok.ToString; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; /** * <p> @@ -15,166 +22,95 @@ * @since 2023-03-14 */ @TableName("z_secret") @Data @ToString public class ZSecret implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; private Long id; private Long userId; /** * 创建时间 */ private LocalDateTime createTime; @JsonFormat(pattern = "yyyy-MM-dd") private Date createTime; /** * 发生时间 */ @Excel(name = "发生时间",dateFormat = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date happenTime; /** * 秘密信息类别 */ private Integer type; @Excel(name = "类别") private String type; /** * 账号(含理财收益) */ @Excel(name = "账号") private String accNo; /** * 有效期 */ private LocalDateTime validityDate; @Excel(name = "有效期",dateFormat = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private Date validityDate; /** * 密码(存折和卡用逗号隔开) */ @Excel(name = "密码") private String password; /** * 是否开启指纹,0:否、1:是 */ @Excel(name = "是否开启指纹(是/否)",readConverterExp = "0=否,1=是") private Integer isFinger; /** * 是否开启人脸识别,0:否、1:是 */ @Excel(name = "是否开启人脸识别(是/否)",readConverterExp = "0=否,1=是") private Integer isFace; /** * 是否私有,0:否、1:是 */ @Excel(name = "是否私有(是/否)",readConverterExp = "0=否,1=是") private Integer isPrivate; /** * 存放位置 */ @Excel(name = "存放位置") private String location; /** * 备注信息 */ @Excel(name = "备注信息") private String remark; /** * 电子文件路径 */ private String url; public Integer getId() { return id; } @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date happenStartTime; public void setId(Integer id) { this.id = id; } public LocalDateTime getCreateTime() { return createTime; } public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getAccNo() { return accNo; } public void setAccNo(String accNo) { this.accNo = accNo; } public LocalDateTime getValidityDate() { return validityDate; } public void setValidityDate(LocalDateTime validityDate) { this.validityDate = validityDate; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getIsFinger() { return isFinger; } public void setIsFinger(Integer isFinger) { this.isFinger = isFinger; } public Integer getIsFace() { return isFace; } public void setIsFace(Integer isFace) { this.isFace = isFace; } public Integer getIsPrivate() { return isPrivate; } public void setIsPrivate(Integer isPrivate) { this.isPrivate = isPrivate; } 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 "ZSecret{" + "id=" + id + ", createTime=" + createTime + ", type=" + type + ", accNo=" + accNo + ", validityDate=" + validityDate + ", password=" + password + ", isFinger=" + isFinger + ", isFace=" + isFace + ", isPrivate=" + isPrivate + ", location=" + location + ", remark=" + remark + "}"; } @TableField(exist = false) @JsonFormat(pattern = "yyyy-MM-dd") private Date happenEndTime; } zhang-content/src/main/java/com/ruoyi/service/ZHonorService.java
@@ -25,4 +25,6 @@ AjaxResult importExcel(MultipartFile file); List<ZHonor> selectCondition(ZHonor zHonor); List<ZHonor> selectByIds(Long[] ids); } zhang-content/src/main/java/com/ruoyi/service/ZSecretService.java
@@ -2,7 +2,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.ZSecret; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * <p> @@ -14,4 +18,12 @@ */ public interface ZSecretService extends IService<ZSecret> { AjaxResult selectDataList(ZSecret zSecret, Integer pageNum, Integer pageSize); List<ZSecret> selectByIds(Long[] ids); AjaxResult importExcel(MultipartFile file); AjaxResult mySave(ZSecret zSecret); } zhang-content/src/main/java/com/ruoyi/service/impl/ZHonorServiceImpl.java
@@ -13,6 +13,7 @@ import com.ruoyi.domain.ZAbroad; import com.ruoyi.domain.ZHonor; import com.ruoyi.domain.ZfCollection; import com.ruoyi.domain.ZfProperty; import com.ruoyi.mapper.ZHonorMapper; import com.ruoyi.service.ZHonorService; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +21,8 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -93,6 +96,16 @@ } @Override public List<ZHonor> selectByIds(Long[] ids) { List<ZHonor> list = new ArrayList<>(); if(ids.length!=0) list = listByIds(Arrays.asList(ids)); else list = list(); return list; } @Override public AjaxResult mySave(ZHonor zHonor) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); zhang-content/src/main/java/com/ruoyi/service/impl/ZSecretServiceImpl.java
@@ -1,11 +1,29 @@ 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.ZSecret; import com.ruoyi.domain.ZSecret; import com.ruoyi.domain.ZfEvent; import com.ruoyi.mapper.ZSecretMapper; import com.ruoyi.service.ZSecretService; 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.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; /** * <p> @@ -18,4 +36,104 @@ @Service public class ZSecretServiceImpl extends ServiceImpl<ZSecretMapper, ZSecret> implements ZSecretService { @Autowired ZSecretServiceImpl zSecretService; private LambdaQueryWrapper<ZSecret> uniqueCondition(ZSecret zSecret) { LambdaQueryWrapper<ZSecret> lqw = new LambdaQueryWrapper<>(); lqw.eq(StringUtils.isNotEmpty(zSecret.getType()), ZSecret::getType, zSecret.getType()) .eq(StringUtils.isNotEmpty(zSecret.getAccNo()), ZSecret::getAccNo, zSecret.getAccNo()) .eq(StringUtils.isNotEmpty(zSecret.getPassword()), ZSecret::getPassword, zSecret.getPassword()) .eq(zSecret.getValidityDate() != null, ZSecret::getValidityDate, zSecret.getValidityDate()) .eq(zSecret.getHappenTime() != null, ZSecret::getHappenTime, zSecret.getHappenTime()) .eq(StringUtils.isNotEmpty(zSecret.getLocation()), ZSecret::getLocation, zSecret.getLocation()) .eq(StringUtils.isNotEmpty(zSecret.getRemark()), ZSecret::getRemark, zSecret.getRemark()) .eq(zSecret.getUserId() != null, ZSecret::getUserId, zSecret.getUserId()); return lqw; } private LambdaQueryWrapper<ZSecret> buildCondition(ZSecret zSecret, Long userId) { LambdaQueryWrapper<ZSecret> lqw = new LambdaQueryWrapper<>(); lqw.eq(userId != null, ZSecret::getUserId, userId) .like(StringUtils.isNotEmpty(zSecret.getType()), ZSecret::getType, zSecret.getType()) .like(StringUtils.isNotEmpty(zSecret.getAccNo()), ZSecret::getAccNo, zSecret.getAccNo()) .between(zSecret.getHappenStartTime() != null && zSecret.getHappenEndTime() != null, ZSecret::getHappenTime, zSecret.getHappenStartTime(), zSecret.getHappenEndTime()) .orderByDesc(ZSecret::getCreateTime); return lqw; } /** * 分页查找 */ @Override public AjaxResult selectDataList(ZSecret zSecret, Integer pageNum, Integer pageSize) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper<ZSecret> lqw = buildCondition(zSecret, userId); Page<ZSecret> pageBean = new Page<>(pageNum, pageSize); Page<ZSecret> pageResult = page(pageBean, lqw); List<ZSecret> beanRecords = pageResult.getRecords();//得到查询出来的数据 HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public List<ZSecret> selectByIds(Long[] ids) { List<ZSecret> list = new ArrayList<>(); if (ids.length != 0) list = listByIds(Arrays.asList(ids)); else list = list(); return list; } @Override public AjaxResult mySave(ZSecret zSecret) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); zSecret.setUserId(userId); //检查是否有重复数据插入 LambdaQueryWrapper<ZSecret> lqw = uniqueCondition(zSecret); List<ZSecret> list = list(lqw); if (list.size() > 0) { throw new RuntimeException("请勿新增重复数据"); } if (save(zSecret)) { return AjaxResult.success(); } else { return AjaxResult.error(); } } @Override @Transactional public AjaxResult importExcel(MultipartFile file) { ExcelUtil<ZSecret> util = new ExcelUtil<>(ZSecret.class); List<ZSecret> dataList = null; try { dataList = util.importExcel(file.getInputStream()); } catch (Exception e) { throw new RuntimeException("没有按照规则导入数据"); } assert dataList != null; for (ZSecret zSecret : dataList) { zSecretService.mySave(zSecret); } return AjaxResult.success(); } }