From be312977d893185e8d3a8a619a81b148389573c0 Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Mon, 12 May 2025 14:04:13 +0800 Subject: [PATCH] =?UTF-8?q?lis=E5=AD=97=E5=85=B8=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czlis/common/constant/CacheConstants.java | 5 ++ .../common/core/domain/entity}/ComDict.java | 5 +- .../com/czlis/common/utils/ComDictUtils.java | 53 +++++++++++++++++ .../common/utils/spring/SpringUtils.java | 2 +- .../system/aspectj/RateLimiterAspect.java | 2 +- .../czlis/system/config/SecurityConfig.java | 2 +- .../interceptor/RepeatSubmitInterceptor.java | 23 +++----- .../web/controller/tool/TestController.java | 2 +- lis-system/src/main/resources/application.yml | 8 +-- .../controller/dict/DictController.java | 48 +++++++++------ .../liswork/mapper/dict/ComDictMapper.java | 10 +++- .../czlis/liswork/service/ComDictService.java | 12 +++- .../service/impl/ComDictServiceImpl.java | 58 ++++++++++++++++++- .../main/resources/mapper/ComDictMapper.xml | 45 +++++++++++++- zycx/src/main/resources/mapper/ZycxMapper.xml | 25 ++++---- 15 files changed, 238 insertions(+), 62 deletions(-) rename {liswork/src/main/java/com/czlis/liswork/pojo => lis-common/src/main/java/com/czlis/common/core/domain/entity}/ComDict.java (69%) create mode 100644 lis-common/src/main/java/com/czlis/common/utils/ComDictUtils.java diff --git a/lis-common/src/main/java/com/czlis/common/constant/CacheConstants.java b/lis-common/src/main/java/com/czlis/common/constant/CacheConstants.java index 524a529..4427c03 100644 --- a/lis-common/src/main/java/com/czlis/common/constant/CacheConstants.java +++ b/lis-common/src/main/java/com/czlis/common/constant/CacheConstants.java @@ -41,4 +41,9 @@ public class CacheConstants * 登录账户密码错误次数 redis key */ public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:"; + + /** + * lis字典缓存 + */ + public static final String COM_DICT_KEY = "com_dict:"; } diff --git a/liswork/src/main/java/com/czlis/liswork/pojo/ComDict.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/ComDict.java similarity index 69% rename from liswork/src/main/java/com/czlis/liswork/pojo/ComDict.java rename to lis-common/src/main/java/com/czlis/common/core/domain/entity/ComDict.java index 05c409a..f7935f4 100644 --- a/liswork/src/main/java/com/czlis/liswork/pojo/ComDict.java +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/ComDict.java @@ -1,5 +1,6 @@ -package com.czlis.liswork.pojo; +package com.czlis.common.core.domain.entity; +import com.czlis.common.core.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -7,7 +8,7 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor -public class ComDict { +public class ComDict extends BaseEntity { private String zdlb; private String zddh; private String zdmc; diff --git a/lis-common/src/main/java/com/czlis/common/utils/ComDictUtils.java b/lis-common/src/main/java/com/czlis/common/utils/ComDictUtils.java new file mode 100644 index 0000000..c9fb262 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/utils/ComDictUtils.java @@ -0,0 +1,53 @@ +package com.czlis.common.utils; + +import com.alibaba.fastjson2.JSONArray; +import com.czlis.common.constant.CacheConstants; +import com.czlis.common.core.domain.entity.ComDict; +import com.czlis.common.core.redis.RedisCache; +import com.czlis.common.utils.spring.SpringUtils; + +import java.util.List; + +/** + * lis字典工具类 + */ +public class ComDictUtils { + + /** + * 设置字典缓存 + * + * @param key 参数键 + * @param dictDatas 字典数据列表 + */ + public static void setDictCache(String key, List dictDatas) { + //先清除该key的所有缓存,然后再重新设置该key的缓存 + SpringUtils.getBean(RedisCache.class).deleteObject(key); + SpringUtils.getBean(RedisCache.class).setCacheObject(getCacheKey(key), dictDatas); + } + + /** + * 获取字典缓存 + * + * @param key 参数键 + * @return dictDatas 字典数据列表 + */ + public static List getDictCache(String key) { + JSONArray arrayCache = SpringUtils.getBean(RedisCache.class).getCacheObject(getCacheKey(key)); + if (StringUtils.isNotNull(arrayCache)) { + return arrayCache.toList(ComDict.class); + } + return null; + } + + + + /** + * 设置cache key + * + * @param configKey 参数键 + * @return 缓存键key + */ + public static String getCacheKey(String configKey) { + return CacheConstants.COM_DICT_KEY + configKey; + } +} diff --git a/lis-common/src/main/java/com/czlis/common/utils/spring/SpringUtils.java b/lis-common/src/main/java/com/czlis/common/utils/spring/SpringUtils.java index f123d91..881e571 100644 --- a/lis-common/src/main/java/com/czlis/common/utils/spring/SpringUtils.java +++ b/lis-common/src/main/java/com/czlis/common/utils/spring/SpringUtils.java @@ -14,7 +14,7 @@ import com.czlis.common.utils.StringUtils; /** * spring工具类 方便在非spring管理环境中获取bean * - * @author ruoyi + * @author admin */ @Component public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware { diff --git a/lis-system/src/main/java/com/czlis/system/aspectj/RateLimiterAspect.java b/lis-system/src/main/java/com/czlis/system/aspectj/RateLimiterAspect.java index 7d68a2a..a0cfd36 100644 --- a/lis-system/src/main/java/com/czlis/system/aspectj/RateLimiterAspect.java +++ b/lis-system/src/main/java/com/czlis/system/aspectj/RateLimiterAspect.java @@ -24,7 +24,7 @@ import java.util.List; /** * 限流处理 * - * @author ruoyi + * @author admin */ @Aspect @Component diff --git a/lis-system/src/main/java/com/czlis/system/config/SecurityConfig.java b/lis-system/src/main/java/com/czlis/system/config/SecurityConfig.java index 93e975d..b9699b8 100644 --- a/lis-system/src/main/java/com/czlis/system/config/SecurityConfig.java +++ b/lis-system/src/main/java/com/czlis/system/config/SecurityConfig.java @@ -110,7 +110,7 @@ public class SecurityConfig { // 对于登录login 注册register 验证码captchaImage 允许匿名访问 requests.antMatchers("/login", "/register", "/captchaImage").permitAll() // 静态资源,可匿名访问 - .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**","/zyreq/**").permitAll() + .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll() .antMatchers("/doc.html").permitAll() //Knife4j 过滤 // 除上面外的所有请求全部需要鉴权认证 diff --git a/lis-system/src/main/java/com/czlis/system/interceptor/RepeatSubmitInterceptor.java b/lis-system/src/main/java/com/czlis/system/interceptor/RepeatSubmitInterceptor.java index ba6a50f..d9c669b 100644 --- a/lis-system/src/main/java/com/czlis/system/interceptor/RepeatSubmitInterceptor.java +++ b/lis-system/src/main/java/com/czlis/system/interceptor/RepeatSubmitInterceptor.java @@ -15,32 +15,25 @@ import java.lang.reflect.Method; /** * 防止重复提交拦截器 * - * @author ruoyi + * @author admin */ @Component -public abstract class RepeatSubmitInterceptor implements HandlerInterceptor -{ +public abstract class RepeatSubmitInterceptor implements HandlerInterceptor { @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception - { - if (handler instanceof HandlerMethod) - { + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; Method method = handlerMethod.getMethod(); RepeatSubmit annotation = method.getAnnotation(RepeatSubmit.class); - if (annotation != null) - { - if (this.isRepeatSubmit(request, annotation)) - { + if (annotation != null) { + if (this.isRepeatSubmit(request, annotation)) { AjaxResult ajaxResult = AjaxResult.error(annotation.message()); ServletUtils.renderString(response, JSON.toJSONString(ajaxResult)); return false; } } return true; - } - else - { + } else { return true; } } @@ -48,7 +41,7 @@ public abstract class RepeatSubmitInterceptor implements HandlerInterceptor /** * 验证是否重复提交由子类实现具体的防重复提交的规则 * - * @param request 请求信息 + * @param request 请求信息 * @param annotation 防重复注解参数 * @return 结果 * @throws Exception diff --git a/lis-system/src/main/java/com/czlis/system/web/controller/tool/TestController.java b/lis-system/src/main/java/com/czlis/system/web/controller/tool/TestController.java index 90efdab..cdf96d1 100644 --- a/lis-system/src/main/java/com/czlis/system/web/controller/tool/TestController.java +++ b/lis-system/src/main/java/com/czlis/system/web/controller/tool/TestController.java @@ -14,7 +14,7 @@ import java.util.Map; /** * swagger 用户测试方法 * - * @author ruoyi + * @author admin */ @Api(tags = "测试用户信息管理") @RestController diff --git a/lis-system/src/main/resources/application.yml b/lis-system/src/main/resources/application.yml index c56a71c..5b88b9d 100644 --- a/lis-system/src/main/resources/application.yml +++ b/lis-system/src/main/resources/application.yml @@ -115,10 +115,10 @@ mybatis: #org.apache.ibatis.logging.stdout.StdOutImpl # PageHelper分页插件 -pagehelper: - helperDialect: sqlserver - supportMethodsArguments: true - params: count=countSql +#pagehelper: +# helperDialect: sqlserver +# supportMethodsArguments: true +# params: count=countSql # Swagger配置 swagger: diff --git a/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java b/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java index f3254c8..bdc88de 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java @@ -1,18 +1,16 @@ package com.czlis.liswork.controller.dict; - - +import com.czlis.common.core.controller.BaseController; import com.czlis.common.core.domain.Result; -import com.czlis.liswork.pojo.ComDict; +import com.czlis.common.core.page.TableDataInfo; +import com.czlis.common.core.domain.entity.ComDict; import com.czlis.liswork.service.ComDictService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -22,29 +20,43 @@ import java.util.List; @RestController @RequestMapping("/comdict") @Api(tags = "字典管理") -public class DictController { +@Slf4j +public class DictController extends BaseController { @Autowired private ComDictService comDictService; /** * 获取字典列表 - * @param zdlb - * @param yljg - * @param zddh + * @param comDict * @return */ @ApiOperation("查询字典列表") @GetMapping("/query") - public Result getComDictList(@RequestParam String zdlb, @RequestParam String yljg, @RequestParam String zddh){ - List comDictList = comDictService.getComDictList(zdlb, zddh, yljg); - return new Result("0","获取字典数据成功!",comDictList); + public TableDataInfo getComDictList(ComDict comDict){ + log.info("调用查询字典列表,{}",comDict); + startPage(); + List comDictList = comDictService.getComDictList(comDict); + return getDataTable(comDictList); + } + + @ApiOperation("新增字典") + @PostMapping("/add") + public Result add(@RequestBody ComDict comDict){ + log.info("调用新增字典{}",comDict); + return comDictService.insertComDict(comDict); } - @ApiOperation("测试方法swagger") - @GetMapping("/test11") - public Result test11(){ - return new Result("0","测试controller!!!"); + @DeleteMapping("/del") + public Result delComDict(ComDict comDict){ + log.info("调用删除字典接口{}",comDict); + return comDictService.delComDict(comDict); } + + @PostMapping("/update") + public Result updateComDict(ComDict comDict){ + return comDictService.updateComDict(comDict); + } + } diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/dict/ComDictMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/dict/ComDictMapper.java index 5d089c3..e4b0142 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/dict/ComDictMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/dict/ComDictMapper.java @@ -1,12 +1,18 @@ package com.czlis.liswork.mapper.dict; -import com.czlis.liswork.pojo.ComDict; +import com.czlis.common.core.domain.entity.ComDict; + + import java.util.List; public interface ComDictMapper { - List getComDictList(String zdlb, String zddh, String yljg); + List getComDictList(ComDict comDict); + int insertComDict(ComDict comDict); + int delComDict(ComDict comDict); + + int updateComDict(ComDict comDict); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/ComDictService.java b/liswork/src/main/java/com/czlis/liswork/service/ComDictService.java index d38acaf..fe1536b 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/ComDictService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/ComDictService.java @@ -2,10 +2,18 @@ package com.czlis.liswork.service; -import com.czlis.liswork.pojo.ComDict; +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.ComDict; import java.util.List; public interface ComDictService { - List getComDictList(String zdlb, String zddh, String yljg); + List getComDictList(ComDict comDict); + + Result insertComDict(ComDict comDict); + + Result delComDict(ComDict comDict); + + Result updateComDict(ComDict comDict); + } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java index ba1af6b..c3fce6e 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java @@ -1,15 +1,23 @@ package com.czlis.liswork.service.impl; +import com.czlis.common.core.domain.Result; +import com.czlis.common.utils.ComDictUtils; import com.czlis.liswork.mapper.dict.ComDictMapper; -import com.czlis.liswork.pojo.ComDict; +import com.czlis.common.core.domain.entity.ComDict; import com.czlis.liswork.service.ComDictService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; +import static com.czlis.common.utils.PageUtils.startPage; + +/** + * lis字典管理 + */ @Service @Slf4j public class ComDictServiceImpl implements ComDictService { @@ -20,8 +28,52 @@ public class ComDictServiceImpl implements ComDictService { @Override - public List getComDictList(String zdlb, String zddh, String yljg) { - return comDictMapper.getComDictList(zdlb,zddh,yljg); + public List getComDictList(ComDict comDict) { + //先从redis缓存中获取,如果没有,就从数据库取 +// List dictCache = ComDictUtils.getDictCache(comDict.getZdlb()); +// if (dictCache != null) return dictCache; +// List comDictList = comDictMapper.getComDictList(comDict); +// //加载缓存 +// ComDictUtils.setDictCache(comDict.getZdlb(),comDictList); +// return comDictMapper.getComDictList(comDict); + + + return comDictMapper.getComDictList(comDict); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public Result insertComDict(ComDict comDict) { + int row = comDictMapper.insertComDict(comDict); + if(row > 0){ + List comDictList = comDictMapper.getComDictList(comDict); + ComDictUtils.setDictCache(comDict.getZdlb(),comDictList); + } + return null; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public Result delComDict(ComDict comDict) { + String zdlb = comDict.getZdlb(); + String zddh = comDict.getZddh(); + String yljg = comDict.getYljg(); + if(zdlb == null || zdlb.equals("")) return new Result("-1","字典类别不能为空!"); + if(zddh == null || zddh.equals("")) return new Result("-1","字典代号不能为空!"); + if(yljg == null || yljg.equals("")) return new Result("-1","医疗机构不能为空!"); + int row = comDictMapper.delComDict(comDict); + return new Result("0","删除成功!"); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public Result updateComDict(ComDict comDict) { + int row = comDictMapper.updateComDict(comDict); + if(row > 0) { + List comDictList = comDictMapper.getComDictList(comDict); + ComDictUtils.setDictCache(comDict.getZdlb(),comDictList); + } + return null; } } diff --git a/liswork/src/main/resources/mapper/ComDictMapper.xml b/liswork/src/main/resources/mapper/ComDictMapper.xml index 37c9c7b..1777a5d 100644 --- a/liswork/src/main/resources/mapper/ComDictMapper.xml +++ b/liswork/src/main/resources/mapper/ComDictMapper.xml @@ -7,7 +7,7 @@ select zdlb,zddh,zdmc,zjf,zdbz,bz,yljg,userflag from com_dict - @@ -19,8 +19,51 @@ and yljg = #{yljg} + + and zdmc like '%'+#{zdmc}+'%' + + + insert into com_dict( + zdlb, + zddh, + zdmc, + zjf, + zdbz, + bz, + yljg, + userflag, + )values( + #{zdlb} + #{zddh} + #{zdmc} + #{zjf} + #{zdbz} + #{bz} + #{yljg} + #{userflag} + ) + + + + delete from com_dict where zdlb = #{zdlb} and zddh = #{zddh} and yljg = #{yljg} + + + + update com_dict + + zdlb = #{zdlb} + zddh = #{zddh} + zdmc= #{zdmc} + zjf = #{zjf} + zdbz = #{zdbz} + bz = #{bz} + yljg = #{yljg} + userflag = #{userflag} + + where zdlb = #{zdlb} and zddh = {zddh} and yljg = #{yljg} + diff --git a/zycx/src/main/resources/mapper/ZycxMapper.xml b/zycx/src/main/resources/mapper/ZycxMapper.xml index 1846bfd..6f512de 100644 --- a/zycx/src/main/resources/mapper/ZycxMapper.xml +++ b/zycx/src/main/resources/mapper/ZycxMapper.xml @@ -5,21 +5,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select * from lab_reqmain where 1=1 + select * from lab_reqmain