diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/controller/NuBaseInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/controller/NuBaseInfoController.java index a731b29..0c5620a 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/controller/NuBaseInfoController.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/controller/NuBaseInfoController.java @@ -11,8 +11,12 @@ import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSONObject; import com.nu.modules.nuBizAdvisoryInfo.entity.NuBizAdvisoryInfo; +import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryRuleEnum; import org.jeecg.common.util.oConvertUtils; @@ -31,6 +35,7 @@ import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.commons.util.IdUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -41,128 +46,148 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; import org.apache.shiro.authz.annotation.RequiresPermissions; - /** +/** * @Description: 护理单元 * @Author: jeecg-boot - * @Date: 2025-04-11 + * @Date: 2025-04-11 * @Version: V1.0 */ -@Api(tags="护理单元") +@Api(tags = "护理单元") @RestController @RequestMapping("/nuBaseInfo/nuBaseInfo") @Slf4j public class NuBaseInfoController extends JeecgController { - @Autowired - private INuBaseInfoService nuBaseInfoService; - - /** - * 分页列表查询 - * - * @param nuBaseInfo - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "护理单元-分页列表查询") - @ApiOperation(value="护理单元-分页列表查询", notes="护理单元-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(NuBaseInfo nuBaseInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - Map customeRuleMap = new HashMap<>(); - customeRuleMap.put("area_flag", QueryRuleEnum.LIKE_WITH_OR); - customeRuleMap.put("status", QueryRuleEnum.LIKE_WITH_OR); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuBaseInfo, req.getParameterMap(),customeRuleMap); - Page page = new Page(pageNo, pageSize); - IPage pageList = nuBaseInfoService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param nuBaseInfo - * @return - */ - @AutoLog(value = "护理单元-添加") - @ApiOperation(value="护理单元-添加", notes="护理单元-添加") - @RequiresPermissions("nuBaseInfo:nu_base_info:add") - @PostMapping(value = "/add") - public Result add(@RequestBody NuBaseInfo nuBaseInfo) { - nuBaseInfoService.save(nuBaseInfo); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param nuBaseInfo - * @return - */ - @AutoLog(value = "护理单元-编辑") - @ApiOperation(value="护理单元-编辑", notes="护理单元-编辑") - @RequiresPermissions("nuBaseInfo:nu_base_info:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody NuBaseInfo nuBaseInfo) { - nuBaseInfoService.updateById(nuBaseInfo); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "护理单元-通过id删除") - @ApiOperation(value="护理单元-通过id删除", notes="护理单元-通过id删除") - @RequiresPermissions("nuBaseInfo:nu_base_info:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - nuBaseInfoService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "护理单元-批量删除") - @ApiOperation(value="护理单元-批量删除", notes="护理单元-批量删除") - @RequiresPermissions("nuBaseInfo:nu_base_info:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.nuBaseInfoService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "护理单元-通过id查询") - @ApiOperation(value="护理单元-通过id查询", notes="护理单元-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - NuBaseInfo nuBaseInfo = nuBaseInfoService.getById(id); - if(nuBaseInfo==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(nuBaseInfo); - } + @Autowired + private INuBaseInfoService nuBaseInfoService; + @Autowired + private ISysBaseAPI sysBaseAPI; /** - * 导出excel - * - * @param request - * @param nuBaseInfo - */ + * 分页列表查询 + * + * @param nuBaseInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "护理单元-分页列表查询") + @ApiOperation(value = "护理单元-分页列表查询", notes = "护理单元-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(NuBaseInfo nuBaseInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Map customeRuleMap = new HashMap<>(); + customeRuleMap.put("area_flag", QueryRuleEnum.LIKE_WITH_OR); + customeRuleMap.put("status", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuBaseInfo, req.getParameterMap(), customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuBaseInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param nuBaseInfo + * @return + */ + @AutoLog(value = "护理单元-添加") + @ApiOperation(value = "护理单元-添加", notes = "护理单元-添加") + @RequiresPermissions("nuBaseInfo:nu_base_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody NuBaseInfo nuBaseInfo) { + JSONObject deptInfo = sysBaseAPI.getDeptInfo(); + String orgCode = deptInfo.getString("code"); + if (StringUtils.isBlank(orgCode)) { + throw new RuntimeException("请先在部门管理中设置机构编码!"); + } + try { + Integer code = nuBaseInfoService.getCode(); + if (code == null) { + nuBaseInfo.setCode(orgCode + "-001"); + } else { + //保证3位字符串 不足前面用0补全 + String codeStr = String.format("%03d", code + 1); + nuBaseInfo.setCode(orgCode + "-" + codeStr); + } + } catch (Exception e) { + e.printStackTrace(); + nuBaseInfo.setCode(orgCode + "-" + IdUtil.simpleUUID()); + } + nuBaseInfoService.save(nuBaseInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param nuBaseInfo + * @return + */ + @AutoLog(value = "护理单元-编辑") + @ApiOperation(value = "护理单元-编辑", notes = "护理单元-编辑") + @RequiresPermissions("nuBaseInfo:nu_base_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody NuBaseInfo nuBaseInfo) { + nuBaseInfoService.updateById(nuBaseInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "护理单元-通过id删除") + @ApiOperation(value = "护理单元-通过id删除", notes = "护理单元-通过id删除") + @RequiresPermissions("nuBaseInfo:nu_base_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + nuBaseInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "护理单元-批量删除") + @ApiOperation(value = "护理单元-批量删除", notes = "护理单元-批量删除") + @RequiresPermissions("nuBaseInfo:nu_base_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.nuBaseInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "护理单元-通过id查询") + @ApiOperation(value = "护理单元-通过id查询", notes = "护理单元-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + NuBaseInfo nuBaseInfo = nuBaseInfoService.getById(id); + if (nuBaseInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(nuBaseInfo); + } + + /** + * 导出excel + * + * @param request + * @param nuBaseInfo + */ @RequiresPermissions("nuBaseInfo:nu_base_info:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, NuBaseInfo nuBaseInfo) { @@ -170,12 +195,12 @@ public class NuBaseInfoController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/entity/NuBaseInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/entity/NuBaseInfo.java index 9592703..e509ce6 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/entity/NuBaseInfo.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/entity/NuBaseInfo.java @@ -42,6 +42,10 @@ public class NuBaseInfo implements Serializable { @Excel(name = "护理单元名称", width = 15) @ApiModelProperty(value = "护理单元名称") private java.lang.String nuName; + /**护理单元编码*/ + @Excel(name = "护理单元编码", width = 15) + @ApiModelProperty(value = "护理单元编码") + private java.lang.String code; /**区域标签ID*/ @Excel(name = "区域标签ID", width = 15, dicCode = "nu_type") @Dict(dicCode = "nu_type") diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/NuBaseInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/NuBaseInfoMapper.java index be75b76..7b253b7 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/NuBaseInfoMapper.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/NuBaseInfoMapper.java @@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface NuBaseInfoMapper extends BaseMapper { + Integer getCode(); + } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/xml/NuBaseInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/xml/NuBaseInfoMapper.xml index 5176ed7..794a62e 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/xml/NuBaseInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/mapper/xml/NuBaseInfoMapper.xml @@ -2,4 +2,9 @@ - \ No newline at end of file + + diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/INuBaseInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/INuBaseInfoService.java index 3a35326..3d62ef1 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/INuBaseInfoService.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/INuBaseInfoService.java @@ -11,4 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface INuBaseInfoService extends IService { + Integer getCode(); } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/impl/NuBaseInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/impl/NuBaseInfoServiceImpl.java index f3d9245..ba2c3a0 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/impl/NuBaseInfoServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/nuBaseInfo/service/impl/NuBaseInfoServiceImpl.java @@ -16,4 +16,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class NuBaseInfoServiceImpl extends ServiceImpl implements INuBaseInfoService { + @Override + public Integer getCode() { + return baseMapper.getCode(); + } } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java index d098887..94b58b8 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/entity/AppCameraInfo.java @@ -133,7 +133,7 @@ public class AppCameraInfo implements Serializable { private String topTime; /**护理单元*/ @ApiModelProperty(value = "护理单元ID") - @Dict(dictTable ="nu_base_info",dicText = "nu_name",dicCode = "id") + @Dict(dictTable ="nu_base_info",dicText = "nu_name",dicCode = "code") private String nuId; /**护理单元*/ @ApiModelProperty(value = "护理单元") diff --git a/nursing-unit-common/src/main/java/com/nu/utils/SafetyUtil.java b/nursing-unit-common/src/main/java/com/nu/utils/SafetyUtil.java index 27c30f8..1ef7ffd 100644 --- a/nursing-unit-common/src/main/java/com/nu/utils/SafetyUtil.java +++ b/nursing-unit-common/src/main/java/com/nu/utils/SafetyUtil.java @@ -5,7 +5,7 @@ import org.springframework.stereotype.Component; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @Component @@ -24,22 +24,26 @@ public class SafetyUtil { * @param secureKey 客户端传入的密钥(MD5 值) * @return true=验证通过,false=验证失败 */ - public static boolean validateSecureKey(String secureKey) { if (secureKey == null || downloadkey == null) { return false; } - // 1. 获取当前日期(yyyyMMdd) - String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + // 获取当前时间(精确到分钟,格式为 yyyyMMddHHmm) + String currentTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")); + // 获取前一分钟的时间(用于扩大验证窗口) + String previousMinute = LocalDateTime.now().minusMinutes(1).format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")); - // 2. 复杂混拼(固定规则) - String mixedKey = complexMix(downloadkey, currentDate); - - // 3. 计算 MD5 + // 验证当前时间的密钥 + String mixedKey = complexMix(downloadkey, currentTime); String md5Hash = calculateMD5(mixedKey); + if (secureKey.equalsIgnoreCase(md5Hash)) { + return true; + } - // 4. 比较 secureKey 是否匹配(忽略大小写) + // 验证前一分钟的密钥(扩大验证窗口) + mixedKey = complexMix(downloadkey, previousMinute); + md5Hash = calculateMD5(mixedKey); return secureKey.equalsIgnoreCase(md5Hash); } @@ -54,7 +58,6 @@ public class SafetyUtil { * 进行倒序 * 3.每 3个字符插入一个固定干扰符 '#' */ - private static String complexMix(String key, String date) { StringBuilder mixed = new StringBuilder(); @@ -102,19 +105,22 @@ public class SafetyUtil { } } - + /** + * 获取当前的安全密钥 + * 现在包含精确到分钟的时间信息(yyyyMMddHHmm) + */ public static String getSecureKey() { if (downloadkey == null) { return "aaa"; } - // 1. 获取当前日期(yyyyMMdd) - String currentDate = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + // 获取当前时间(精确到分钟,格式为 yyyyMMddHHmm) + String currentTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")); - // 2. 复杂混拼(固定规则) - String mixedKey = complexMix(downloadkey, currentDate); + // 复杂混拼(固定规则) + String mixedKey = complexMix(downloadkey, currentTime); - // 3. 计算 MD5 并返回 + // 计算 MD5 并返回 return calculateMD5(mixedKey); } } diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java index b5ea11a..5d1a90f 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/entity/CameraInfo.java @@ -132,8 +132,8 @@ public class CameraInfo implements Serializable { @TableField(exist = false) private String topTime; /**护理单元*/ - @ApiModelProperty(value = "护理单元ID") - @Dict(dictTable ="nu_base_info",dicText = "nu_name",dicCode = "id") + @ApiModelProperty(value = "护理单元编码") + @Dict(dictTable ="nu_base_info",dicText = "nu_name",dicCode = "code") private String nuId; /**护理单元*/ @ApiModelProperty(value = "护理单元") diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml index 5b9c610..a672a96 100644 --- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml +++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/mapper/xml/CameraInfoMapper.xml @@ -129,12 +129,12 @@ - + diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java index 905de13..3c58573 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java @@ -61,6 +61,12 @@ public class SysDepartTreeModel implements Serializable { private String url; + private String province; + + private String city; + + private String district; + private String mobile; private String fax; @@ -113,6 +119,9 @@ public class SysDepartTreeModel implements Serializable { this.orgType = sysDepart.getOrgType(); this.orgCode = sysDepart.getOrgCode(); this.url = sysDepart.getUrl(); + this.province = sysDepart.getProvince(); + this.city = sysDepart.getCity(); + this.district = sysDepart.getDistrict(); this.mobile = sysDepart.getMobile(); this.fax = sysDepart.getFax(); this.address = sysDepart.getAddress(); @@ -372,6 +381,30 @@ public class SysDepartTreeModel implements Serializable { this.directorUserIds = directorUserIds; } + public String getProvince() { + return province; + } + + public void setProvince(String province) { + this.province = province; + } + + public String getCity() { + return city; + } + + public void setCity(String city) { + this.city = city; + } + + public String getDistrict() { + return district; + } + + public void setDistrict(String district) { + this.district = district; + } + /** * 重写equals方法 */ @@ -395,6 +428,9 @@ public class SysDepartTreeModel implements Serializable { Objects.equals(orgType, model.orgType) && Objects.equals(orgCode, model.orgCode) && Objects.equals(url, model.url) && + Objects.equals(province, model.province) && + Objects.equals(city, model.city) && + Objects.equals(district, model.district) && Objects.equals(mobile, model.mobile) && Objects.equals(fax, model.fax) && Objects.equals(address, model.address) && @@ -417,7 +453,7 @@ public class SysDepartTreeModel implements Serializable { public int hashCode() { return Objects.hash(id, parentId, departName, departNameEn, departNameAbbr, - departOrder, description, orgCategory, orgType, orgCode, url, mobile, fax, address, + departOrder, description, orgCategory, orgType, orgCode, url, province, city, district, mobile, fax, address, memo, status, delFlag, qywxIdentifier, createBy, createTime, updateBy, updateTime, children, directorUserIds); } diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java index bab896a..188fd52 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java @@ -19,38 +19,40 @@ public interface ISysCategoryService extends IService { /**根节点父ID的值*/ public static final String ROOT_PID_VALUE = "0"; - /** - * 存在子节点 - */ - public static final String HAS_CHILD = "1"; + /** + * 存在子节点 + */ + public static final String HAS_CHILD = "1"; - /** - * 添加分类字典 - * @param sysCategory - */ + /** + * 添加分类字典 + * @param sysCategory + */ void addSysCategory(SysCategory sysCategory); - /** - * 修改分类字典 - * @param sysCategory - */ + /** + * 修改分类字典 + * @param sysCategory + */ void updateSysCategory(SysCategory sysCategory); /** - * 根据父级编码加载分类字典的数据 + * 根据父级编码加载分类字典的数据 * @param pcode * @return - * @throws JeecgBootException + * @throws JeecgBootException */ public List queryListByCode(String pcode) throws JeecgBootException; /** - * 根据pid查询子节点集合 + * 根据pid查询子节点集合 * @param pid * @return */ public List queryListByPid(String pid); + public List queryAllCategories(); + /** * 根据pid查询子节点集合,支持查询条件 * @param pid diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java index 5724db3..82d3353 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.StringUtils; import org.jeecg.common.constant.FillRuleConstant; import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.exception.JeecgBootException; @@ -23,7 +24,7 @@ import java.util.stream.Collectors; /** * @Description: 分类字典 * @Author: jeecg-boot - * @Date: 2019-05-29 + * @Date: 2019-05-29 * @Version: V1.0 */ @Service @@ -34,14 +35,14 @@ public class SysCategoryServiceImpl extends ServiceImpl queryListByCode(String pcode) throws JeecgBootException{ + public List queryListByCode(String pcode) throws JeecgBootException { String pid = ROOT_PID_VALUE; - if(oConvertUtils.isNotEmpty(pcode)) { + if (oConvertUtils.isNotEmpty(pcode)) { List list = baseMapper.selectList(new LambdaQueryWrapper().eq(SysCategory::getCode, pcode)); - if(list==null || list.size() ==0) { - throw new JeecgBootException("该编码【"+pcode+"】不存在,请核实!"); + if (list == null || list.size() == 0) { + throw new JeecgBootException("该编码【" + pcode + "】不存在,请核实!"); } - if(list.size()>1) { - throw new JeecgBootException("该编码【"+pcode+"】存在多个,请核实!"); + if (list.size() > 1) { + throw new JeecgBootException("该编码【" + pcode + "】存在多个,请核实!"); } pid = list.get(0).getId(); } - return baseMapper.queryListByPid(pid,null); + return baseMapper.queryListByPid(pid, null); } @Override public List queryListByPid(String pid) { - if(oConvertUtils.isEmpty(pid)) { + if (oConvertUtils.isEmpty(pid)) { pid = ROOT_PID_VALUE; } - return baseMapper.queryListByPid(pid,null); + return baseMapper.queryListByPid(pid, null); + } + + @Override + public List queryAllCategories() { + return baseMapper.queryAllCategories(); } @Override public List queryListByPid(String pid, Map condition) { - if(oConvertUtils.isEmpty(pid)) { + if (oConvertUtils.isEmpty(pid)) { pid = ROOT_PID_VALUE; } - return baseMapper.queryListByPid(pid,condition); + return baseMapper.queryListByPid(pid, condition); } @Override @@ -117,17 +125,18 @@ public class SysCategoryServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper() .lambda() - .in(SysCategory::getId,Arrays.asList(pids.split(","))) - .set(SysCategory::getHasChild,"0"); + .in(SysCategory::getId, Arrays.asList(pids.split(","))) + .set(SysCategory::getHasChild, "0"); this.update(updateWrapper); } } /** * 查询节点下所有子节点 + * * @param ids * @return */ @@ -136,13 +145,13 @@ public class SysCategoryServiceImpl extends ServiceImpl 0){ + if (pidVal != null) { + if (!sb.toString().contains(pidVal)) { + if (sb.toString().length() > 0) { sb.append(","); } sb.append(pidVal); - this.getTreeChildIds(pidVal,sb); + this.getTreeChildIds(pidVal, sb); } } } @@ -151,6 +160,7 @@ public class SysCategoryServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysCategory::getPid,metaPid); - queryWrapper.notIn(SysCategory::getId,Arrays.asList(idArr)); + queryWrapper.eq(SysCategory::getPid, metaPid); + queryWrapper.notIn(SysCategory::getId, Arrays.asList(idArr)); List dataList = this.baseMapper.selectList(queryWrapper); - boolean flag = (dataList == null || dataList.size()==0) && !Arrays.asList(idArr).contains(metaPid) - && !sb.toString().contains(metaPid); - if(flag){ + boolean flag = (dataList == null || dataList.size() == 0) && !Arrays.asList(idArr).contains(metaPid) + && !sb.toString().contains(metaPid); + if (flag) { //如果当前节点原本有子节点 现在木有了,更新状态 sb.append(metaPid).append(","); } } } - if(sb.toString().endsWith(SymbolConstant.COMMA)){ + if (sb.toString().endsWith(SymbolConstant.COMMA)) { sb = sb.deleteCharAt(sb.length() - 1); } return sb.toString(); @@ -184,17 +194,18 @@ public class SysCategoryServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysCategory::getPid,pidVal); + queryWrapper.eq(SysCategory::getPid, pidVal); List dataList = baseMapper.selectList(queryWrapper); - if(dataList != null && dataList.size()>0){ - for(SysCategory category : dataList) { - if(!sb.toString().contains(category.getId())){ + if (dataList != null && dataList.size() > 0) { + for (SysCategory category : dataList) { + if (!sb.toString().contains(category.getId())) { sb.append(",").append(category.getId()); } this.getTreeChildIds(category.getId(), sb); diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-dev-nu002.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-dev-nu002.yml index 355598c..425a671 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-dev-nu002.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-dev-nu002.yml @@ -388,3 +388,18 @@ aliyun: accessKeySecret: pQBMT6TlUWgRfvvDnOu0IKVYXCfKee #文件传输秘钥 downloadkey: hP2K9Z!WLuj"M#8, + +# 微信支付 +wxpay: + # APIv3密钥 + api-v3-key: asdfiuzwe3534565478WETDSAFRWEq1E + # APPID + appid: wx8fc3e4305d2fbf0b + # 商户ID + mch-id: 1717618860 + # 商户API证书序列号 + mch-serial-no: 3E51C9D24F64CE50E9273E544561D29684AB21C7 + # 接收结果通知地址 + notify-domain: https://www.focusnu.com/nursing-unit_0010507/weiXinPay/callback + # 商户私钥文件路径 + private-key-path: /opt/nu001/apiclient_key.pem diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml index ce09ecd..84e159b 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml @@ -249,8 +249,10 @@ jeecg: pc: http://localhost:3100 app: http://localhost:8051 path: + #服务指令上传目录 + directivepath: /opt/upFiles001/directive #文件上传根目录 设置 - upload: /opt/upFiles + upload: /opt/upFiles001 #webapp文件路径 webapp: /opt/webapp shiro: diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml index 9c6a56c..739a9ef 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml @@ -247,6 +247,8 @@ jeecg: pc: http://localhost:3100 app: http://localhost:8051 path: + #服务指令上传目录 + directivepath: /opt/upFiles001/directive #文件上传根目录 设置 upload: /opt/nu001/upFiles #webapp文件路径 diff --git a/pom.xml b/pom.xml index ef998d8..6ecbc0c 100644 --- a/pom.xml +++ b/pom.xml @@ -70,6 +70,8 @@ nursing-unit-common + + nursing-unit-payment nursing-unit-base-core