diff --git a/hxhq-modules/hxhq-gen/src/main/resources/bootstrap.yml b/hxhq-modules/hxhq-gen/src/main/resources/bootstrap.yml index 7002820..428e6bf 100644 --- a/hxhq-modules/hxhq-gen/src/main/resources/bootstrap.yml +++ b/hxhq-modules/hxhq-gen/src/main/resources/bootstrap.yml @@ -23,3 +23,7 @@ spring: # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} +# token配置 +token: + # 是否允许账户多终端同时登录(true允许 false不允许) + soloLogin: false \ No newline at end of file diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/ZcgController.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/ZcgController.java index 919777c..8a8dc01 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/ZcgController.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/ZcgController.java @@ -6,6 +6,8 @@ import java.util.List; import com.hxhq.business.form.zcg.YsffForm; import com.hxhq.business.form.zcg.YsghForm; import com.hxhq.business.form.zcg.ZcgSearchForm; +import com.hxhq.common.security.annotation.RequiresPermissions; +import com.hxhq.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @@ -32,6 +34,7 @@ public class ZcgController extends BaseController /** * 查询暂存柜列表 */ + @RequiresPermissions("business:resource:zcg:list") @GetMapping("/list") public TableDataInfo list(ZcgSearchForm form) { @@ -43,6 +46,7 @@ public class ZcgController extends BaseController /** * 获取暂存柜详细信息 */ + @RequiresPermissions("business:resource:zcg:list") @GetMapping(value = "/info") public AjaxResult getInfo(Long id) { @@ -53,8 +57,10 @@ public class ZcgController extends BaseController * 钥匙归还 */ @PostMapping("/ysgh") + @RequiresPermissions("business:resource:zcg:ysgh") public AjaxResult ysgh(@RequestBody YsghForm form) { + form.setJsrId(SecurityUtils.getUserId()); zcgService.ysgh(form); return AjaxResult.success("操作成功"); } @@ -64,8 +70,10 @@ public class ZcgController extends BaseController * 批量钥匙归还 */ @PostMapping("/ysghBatch") + @RequiresPermissions("business:resource:zcg:ysgh") public AjaxResult ysghBatch(@RequestBody YsghForm form) { + form.setJsrId(SecurityUtils.getUserId()); zcgService.ysghBatch(form); return AjaxResult.success("操作成功"); } @@ -74,8 +82,10 @@ public class ZcgController extends BaseController * 钥匙发放 */ @PostMapping("/ysff") + @RequiresPermissions("business:resource:zcg:ysff") public AjaxResult ysff(@RequestBody YsffForm form) { + form.setFfrId(SecurityUtils.getUserId()); zcgService.ysff(form); return AjaxResult.success("操作成功"); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Zcg.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Zcg.java index ba803ce..1d6fecc 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Zcg.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Zcg.java @@ -24,10 +24,18 @@ public class Zcg extends MpBaseEntity @TableField(updateStrategy = FieldStrategy.IGNORED) private Long lqr1Id; + /** 钥匙1领取人名称 */ + @TableField(updateStrategy = FieldStrategy.IGNORED) + private String lqr1Mc; + /** 钥匙2领取人ID */ @TableField(updateStrategy = FieldStrategy.IGNORED) private Long lqr2Id; + /** 钥匙2领取人名称 */ + @TableField(updateStrategy = FieldStrategy.IGNORED) + private String lqr2Mc; + /** 状态:1:未借用;5:借用中 */ private Integer zt; @@ -35,6 +43,22 @@ public class Zcg extends MpBaseEntity @TableField(updateStrategy = FieldStrategy.IGNORED) private String glyj; + public String getLqr1Mc() { + return lqr1Mc; + } + + public void setLqr1Mc(String lqr1Mc) { + this.lqr1Mc = lqr1Mc; + } + + public String getLqr2Mc() { + return lqr2Mc; + } + + public void setLqr2Mc(String lqr2Mc) { + this.lqr2Mc = lqr2Mc; + } + public String getGlyj() { return glyj; } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsffForm.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsffForm.java index ecc4d69..077de43 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsffForm.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsffForm.java @@ -33,7 +33,7 @@ public class YsffForm { private String lqr2mm; /** 发放人 */ - private String ffrId; + private Long ffrId; /** 钥匙2领取人密码 */ private String ffrmm; @@ -102,11 +102,11 @@ public class YsffForm { this.lqr2mm = lqr2mm; } - public String getFfrId() { + public Long getFfrId() { return ffrId; } - public void setFfrId(String ffrId) { + public void setFfrId(Long ffrId) { this.ffrId = ffrId; } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsghForm.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsghForm.java index 69672bf..4cec942 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsghForm.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/zcg/YsghForm.java @@ -28,7 +28,7 @@ public class YsghForm { private String ghr2mm; /** 接收人id */ - private String jsrId; + private Long jsrId; /** 接收人密码 */ private String jsrmm; @@ -41,11 +41,11 @@ public class YsghForm { this.ids = ids; } - public String getJsrId() { + public Long getJsrId() { return jsrId; } - public void setJsrId(String jsrId) { + public void setJsrId(Long jsrId) { this.jsrId = jsrId; } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/ZcgServiceImpl.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/ZcgServiceImpl.java index 97bdb62..5918960 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/ZcgServiceImpl.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/ZcgServiceImpl.java @@ -1,16 +1,23 @@ package com.hxhq.business.service.impl; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.hxhq.business.domain.ZcgTz; import com.hxhq.business.enums.zykgl.JyztEnum; import com.hxhq.business.enums.zykgl.zcgJyztEnum; import com.hxhq.business.form.zcg.YsffForm; import com.hxhq.business.form.zcg.YsghForm; import com.hxhq.business.form.zcg.ZcgSearchForm; +import com.hxhq.business.service.IZcgTzService; import com.hxhq.common.core.utils.StringUtils; +import com.hxhq.system.api.domain.SysUser; +import com.hxhq.system.service.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hxhq.business.mapper.ZcgMapper; import com.hxhq.business.domain.Zcg; @@ -25,8 +32,12 @@ import org.springframework.transaction.annotation.Transactional; * @date 2025-12-18 */ @Service -public class ZcgServiceImpl extends ServiceImpl implements IZcgService -{ +public class ZcgServiceImpl extends ServiceImpl implements IZcgService { + @Autowired + private ISysUserService sysUserService; + @Autowired + private IZcgTzService zcgTzService; + /** * 查询暂存柜列表 * @@ -34,16 +45,15 @@ public class ZcgServiceImpl extends ServiceImpl implements IZcgS * @return 暂存柜 */ @Override - public List queryList(ZcgSearchForm form) - { + public List queryList(ZcgSearchForm form) { QueryWrapper queryWrapper = Wrappers.query(); - if(form.getZt()!=null&&form.getZt().intValue()>0){ - queryWrapper.eq("t.zt",form.getZt()); + if (form.getZt() != null && form.getZt().intValue() > 0) { + queryWrapper.eq("t.zt", form.getZt()); } if (StringUtils.isNoneBlank(form.getMc())) { queryWrapper.and(p -> p.like("t.`mc`", form.getMc())); } - if(form.getJyrId()!=null&&form.getJyrId().intValue()>0){ + if (form.getJyrId() != null && form.getJyrId().intValue() > 0) { queryWrapper.and(p -> p.eq("t.`lqr1_id`", form.getJyrId()).or().eq("t.`lqr2_id`", form.getJyrId())); } return baseMapper.queryList(queryWrapper); @@ -57,9 +67,9 @@ public class ZcgServiceImpl extends ServiceImpl implements IZcgS * @return 暂存柜 */ @Override - public Zcg queryInfo(Long id){ - if(id==null||id.longValue()<0){ - throw new SecurityException("参数id不正确"); + public Zcg queryInfo(Long id) { + if (id == null || id.longValue() < 0) { + throw new SecurityException("参数id不正确"); } return baseMapper.queryInfo(id); } @@ -72,27 +82,50 @@ public class ZcgServiceImpl extends ServiceImpl implements IZcgS */ @Override @Transactional(rollbackFor = Exception.class) - public void ysgh(YsghForm form){ - if(form.getId()==null||form.getId().longValue()<0){ - throw new SecurityException("参数id不正确"); - } - Zcg zcgOld=this.getById(form.getId()); - if(zcgOld==null){ - throw new SecurityException("暂存柜不存在或已删除"); - } - if(!zcgOld.getZt().equals(zcgJyztEnum.jyz.getValue())){ - throw new SecurityException("暂存柜未借用"); - } + public void ysgh(YsghForm form) { + if (form.getId() == null || form.getId().longValue() < 0) { + throw new SecurityException("参数id不正确"); + } + Zcg zcgOld = this.getById(form.getId()); + if (zcgOld == null) { + throw new SecurityException("暂存柜不存在或已删除"); + } + if (!zcgOld.getZt().equals(zcgJyztEnum.jyz.getValue())) { + throw new SecurityException("暂存柜未借用"); + } + SysUser ghr1 = sysUserService.selectUserById(form.getGhr1Id()); + if (ghr1 == null) { + throw new SecurityException("归还人1不存在"); + } + SysUser ghr2 = sysUserService.selectUserById(form.getGhr2Id()); + if (ghr2 == null) { + throw new SecurityException("归还人2不存在"); + } + SysUser jsr = sysUserService.selectUserById(form.getJsrId()); //验证钥匙1领取人密码,钥匙2领取人密码,发放人密码 todo zcgOld.setLqr1Id(null); + zcgOld.setLqr1Mc(null); zcgOld.setLqr2Id(null); + zcgOld.setLqr2Mc(null); zcgOld.setGlyj(null); zcgOld.setZt(zcgJyztEnum.wjy.getValue()); this.updateById(zcgOld); //存台账 - } + ZcgTz zcgTz = new ZcgTz(); + zcgTz.setZcgId(zcgOld.getId()); + zcgTz.setGhr1Id(ghr1.getUserId()); + zcgTz.setGhr1Mc(ghr1.getNickName()); + zcgTz.setGhr2Id(ghr2.getUserId()); + zcgTz.setGhr2Mc(ghr2.getNickName()); + + zcgTz.setJsrId(jsr.getUserId()); + zcgTz.setJsrMc(jsr.getNickName()); + zcgTz.setCreateTime(new Date()); + zcgTz.setQmyy("钥匙归还"); + zcgTzService.save(zcgTz); + } /** @@ -102,25 +135,55 @@ public class ZcgServiceImpl extends ServiceImpl implements IZcgS */ @Override @Transactional(rollbackFor = Exception.class) - public void ysghBatch(YsghForm form){ - if(StringUtils.isBlank(form.getIds())){ - throw new SecurityException("参数ids不正确"); + public void ysghBatch(YsghForm form) { + if (StringUtils.isBlank(form.getIds())) { + throw new SecurityException("参数ids不正确"); } - //验证钥匙1领取人密码,钥匙2领取人密码,发放人密码 todo QueryWrapper queryWrapper = Wrappers.query(); - queryWrapper.in("id",form.getIds()); - List zcgList=this.list(queryWrapper); - for (Zcg zcg:zcgList){ - if(!zcg.getZt().equals(zcgJyztEnum.jyz.getValue())){ - throw new SecurityException("暂存柜"+zcg.getMc()+"未借用"); - } - zcg.setLqr1Id(null); - zcg.setLqr2Id(null); - zcg.setGlyj(null); - zcg.setZt(zcgJyztEnum.wjy.getValue()); - this.updateById(zcg); - //存台账 - } + queryWrapper.in("id", form.getIds().split(",")); + List zcgList = this.list(queryWrapper); + List zcgTzList = new ArrayList<>(); + if (zcgList.size() > 0) { + SysUser ghr1 = sysUserService.selectUserById(form.getGhr1Id()); + if (ghr1 == null) { + throw new SecurityException("归还人1不存在"); + } + SysUser ghr2 = sysUserService.selectUserById(form.getGhr2Id()); + if (ghr2 == null) { + throw new SecurityException("归还人2不存在"); + } + SysUser jsr = sysUserService.selectUserById(form.getJsrId()); + //验证钥匙1归还人密码,钥匙2归还人密码,接收人密码 todo + for (Zcg zcg : zcgList) { + if (!zcg.getZt().equals(zcgJyztEnum.jyz.getValue())) { + throw new SecurityException("暂存柜" + zcg.getMc() + "未借用"); + } + zcg.setLqr1Id(null); + zcg.setLqr1Mc(null); + zcg.setLqr2Id(null); + zcg.setLqr2Mc(null); + zcg.setGlyj(null); + zcg.setZt(zcgJyztEnum.wjy.getValue()); + //存台账 + ZcgTz zcgTz = new ZcgTz(); + zcgTz.setZcgId(zcg.getId()); + + zcgTz.setGhr1Id(ghr1.getUserId()); + zcgTz.setGhr1Mc(ghr1.getNickName()); + + zcgTz.setGhr2Id(ghr2.getUserId()); + zcgTz.setGhr2Mc(ghr2.getNickName()); + + zcgTz.setJsrId(jsr.getUserId()); + zcgTz.setJsrMc(jsr.getNickName()); + zcgTz.setCreateTime(new Date()); + zcgTz.setQmyy("钥匙归还"); + zcgTzList.add(zcgTz); + } + this.saveOrUpdateBatch(zcgList); + zcgTzService.saveBatch(zcgTzList); + } + } /** @@ -130,28 +193,56 @@ public class ZcgServiceImpl extends ServiceImpl implements IZcgS */ @Override @Transactional(rollbackFor = Exception.class) - public void ysff(YsffForm form){ - if(form.getId()==null||form.getId().longValue()<0){ - throw new SecurityException("参数id不正确"); + public void ysff(YsffForm form) { + if (form.getId() == null || form.getId().longValue() < 0) { + throw new SecurityException("参数id不正确"); } - //验证钥匙1领取人密码,钥匙2领取人密码,发放人密码 todo - Zcg zcgOld=this.getById(form.getId()); - if(zcgOld==null){ - throw new SecurityException("暂存柜不存在或已删除"); + Zcg zcgOld = this.getById(form.getId()); + if (zcgOld == null) { + throw new SecurityException("暂存柜不存在或已删除"); } - if(!zcgOld.getZt().equals(zcgJyztEnum.wjy.getValue())){ - throw new SecurityException("暂存柜已借用"); + if (!zcgOld.getZt().equals(zcgJyztEnum.wjy.getValue())) { + throw new SecurityException("暂存柜已借用"); } + //获取领取人信息 + SysUser lqr1 = sysUserService.selectUserById(form.getLqr1Id()); + if (lqr1 == null) { + throw new SecurityException("领取人1不存在"); + } + SysUser lqr2 = sysUserService.selectUserById(form.getLqr2Id()); + if (lqr2 == null) { + throw new SecurityException("领取人2不存在"); + } + //验证钥匙1领取人密码,钥匙2领取人密码,发放人密码 todo + SysUser ffr = sysUserService.selectUserById(form.getFfrId()); + zcgOld.setLqr1Id(form.getLqr1Id()); + zcgOld.setLqr1Mc(lqr1.getNickName()); zcgOld.setLqr2Id(form.getLqr2Id()); - if(StringUtils.isBlank(zcgOld.getGlyj())){ + zcgOld.setLqr2Mc(lqr2.getNickName()); + if (StringUtils.isBlank(zcgOld.getGlyj())) { zcgOld.setGlyj(form.getGlyj()); - }else{ - zcgOld.setGlyj(zcgOld.getGlyj()+","+form.getGlyj()); + } else { + zcgOld.setGlyj(zcgOld.getGlyj() + "," + form.getGlyj()); } zcgOld.setZt(zcgJyztEnum.jyz.getValue()); this.updateById(zcgOld); - //存台账 todo + //存台账 + ZcgTz zcgTz = new ZcgTz(); + zcgTz.setZcgId(zcgOld.getId()); + + zcgTz.setLqr1Id(lqr1.getUserId()); + zcgTz.setLqr1Mc(lqr1.getNickName()); + + zcgTz.setLqr2Id(lqr2.getUserId()); + zcgTz.setLqr2Mc(lqr2.getNickName()); + + zcgTz.setFfrId(ffr.getUserId()); + zcgTz.setFfrMc(ffr.getNickName()); + zcgTz.setCreateTime(new Date()); + zcgTz.setQmyy("钥匙发放"); + zcgTzService.save(zcgTz); + } }