From 217c5844dc109c3aa2734716ae4d34afd1a32b80 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 7 May 2025 14:18:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=95=B0=E6=8D=AE=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E5=90=8C=E6=AD=A5=EF=BC=88=E4=B8=B4=E6=97=B6=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdvisoryMQExceptionHandler.java | 2 +- .../api/VersionManageApi.java | 73 +++++++++++++++ ...UpdateApi.java => VersionManageApiBK.java} | 2 +- .../org/jeecg/config/shiro/ShiroConfig.java | 1 + .../java/com/nu/config/RabbitMQConfig.java | 1 + .../src/main/java/com/nu/dto/StatusMQDto.java | 3 + .../java/com/nu/dto/SysDictItemMQDto.java | 70 +++++++++++++++ .../main/java/com/nu/dto/SysDictMQDto.java | 90 +++++++++++++++++++ .../nu/modules/async/entity/AsyncMain.java | 8 ++ .../async/mapper/xml/AsyncMainMapper.xml | 2 + nursing-unit-system/nu-system-biz/pom.xml | 6 ++ .../system/controller/SysDictController.java | 6 ++ .../system/service/ISysDictService.java | 2 + .../service/impl/SysDictServiceImpl.java | 26 ++++++ .../DictMQExceptionHandler.java | 28 ++++++ .../mq/dict/listener/DictMQListener.java | 28 ++++++ .../src/main/resources/application-uat.yml | 6 ++ 17 files changed, 352 insertions(+), 2 deletions(-) create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java rename nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/{VersionUpdateApi.java => VersionManageApiBK.java} (98%) create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/SysDictItemMQDto.java create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/SysDictMQDto.java create mode 100644 nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/mq/dict/exceptionhandler/DictMQExceptionHandler.java create mode 100644 nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/mq/dict/listener/DictMQListener.java diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/NuBizAdvisoryInfo/exceptionhandler/AdvisoryMQExceptionHandler.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/NuBizAdvisoryInfo/exceptionhandler/AdvisoryMQExceptionHandler.java index 8d8eaec..419210e 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/NuBizAdvisoryInfo/exceptionhandler/AdvisoryMQExceptionHandler.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/NuBizAdvisoryInfo/exceptionhandler/AdvisoryMQExceptionHandler.java @@ -18,7 +18,7 @@ public class AdvisoryMQExceptionHandler implements RabbitListenerErrorHandler { // 根据异常类型选择处理策略 if (isRetryable(e)) { // 可重试异常:抛出异常触发重试 - throw e; + throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); } else { // 不可恢复异常:拒绝消息且不重新入队 throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java new file mode 100644 index 0000000..b8fa816 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApi.java @@ -0,0 +1,73 @@ +package com.nu.modules.pad.appversionconfig.api; + +import cn.hutool.core.util.StrUtil; +import com.nu.modules.pad.appversionconfig.entity.AppConfig; +import com.nu.modules.pad.appversionconfig.entity.R; +import com.nu.modules.pad.appversionconfig.entity.VersionInfo; +import com.nu.modules.pad.appversionconfig.service.IAppConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/nuIpadApi/versionManage") +@CrossOrigin("*") +public class VersionManageApi { + + @Autowired + private IAppConfigService appConfigService; + /** + * APP版本更新 + * 请求参数中其实不止传递了一下四个,更多请看插件市场作者的文档,https://ext.dcloud.net.cn/plugin?id=3931 + * @param platform 平台(android/ios) + * @param name 应用名称 + * @param version 应用版本名称 主版本号.次版本号.修订号 + * @param code 应用版本号 + * @return + */ + @RequestMapping("/versionUpdate") + public R check(String platform,String name,String version,String code) { + Map map = new HashMap<>(); + VersionInfo info = new VersionInfo(); + info.setUpdate_flag(0); + map.put("code", 100); + map.put("data", info); + AppConfig appConfig = appConfigService.findLastVersionInfo(); + if(appConfig ==null) { + map.put("msg", "无版本配置信息"); + return R.ok(map); + } + if(!StrUtil.isEmptyIfStr(version) && !StrUtil.isEmptyIfStr(platform)) { + int[] oldVers = StrUtil.splitToInt(version, "."); + int[] newVers = StrUtil.splitToInt(appConfig.getVersionCode(), "."); + boolean isUpdateFlag = false; + int length = oldVers.length > newVers.length ? newVers.length : oldVers.length; + for (int i = 0; i < length; i++) { + if(newVers[i] > oldVers[i]) { + isUpdateFlag = true; + break; + } + } + if(isUpdateFlag) { + info.setUpdate_flag(1);//0:不需要更新,1:需要更新 + info.setVersion(appConfig.getVersionCode()); + info.setUpdate_url(appConfig.getVersionUrl()); + info.setUpdate_tips(appConfig.getUpdateTrips()); + info.setForceupdate(appConfig.getIsForceUpdate()); + map.put("code", 100); + map.put("msg", "应用程序需要更新"); + map.put("data", info); + } + return R.ok(map); + }else { + map.put("code", 500); + map.put("msg", "请求参数不含版本号、平台"); + map.put("data", info); + return R.ok(map); + } + } +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionUpdateApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java similarity index 98% rename from nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionUpdateApi.java rename to nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java index 124ff85..48c70cb 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionUpdateApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/appversionconfig/api/VersionManageApiBK.java @@ -16,7 +16,7 @@ import java.util.Map; @RestController @RequestMapping("/api/pad") @CrossOrigin("*") -public class VersionUpdateApi { +public class VersionManageApiBK { @Autowired private IAppConfigService appConfigService; diff --git a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index d361ea3..7ccc975 100644 --- a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -114,6 +114,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/getQrcodeToken/**", "anon"); //监听扫码 filterChainDefinitionMap.put("/sys/checkAuth", "anon"); //授权接口排除 filterChainDefinitionMap.put("/api/pad/versionUpdate", "anon");//pad端版本检测接口 + filterChainDefinitionMap.put("/nuIpadApi/versionManage/versionUpdate", "anon");//pad端版本检测接口 //update-begin--Author:scott Date:20221116 for:排除静态资源后缀 filterChainDefinitionMap.put("/", "anon"); diff --git a/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java b/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java index 1de0c7a..ec3ff75 100644 --- a/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java +++ b/nursing-unit-common/src/main/java/com/nu/config/RabbitMQConfig.java @@ -90,4 +90,5 @@ public class RabbitMQConfig { public Binding bindingRegEdit(Queue registerEditQueue, DirectExchange registerExchange) { return BindingBuilder.bind(registerEditQueue).to(registerExchange).with("register.editData"); } + } diff --git a/nursing-unit-common/src/main/java/com/nu/dto/StatusMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/StatusMQDto.java index ec4955b..ecc5a82 100644 --- a/nursing-unit-common/src/main/java/com/nu/dto/StatusMQDto.java +++ b/nursing-unit-common/src/main/java/com/nu/dto/StatusMQDto.java @@ -13,4 +13,7 @@ public class StatusMQDto { private String asyncId; //同步表子表code private String code; + + private String dictId; + private String orgCode; } diff --git a/nursing-unit-common/src/main/java/com/nu/dto/SysDictItemMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/SysDictItemMQDto.java new file mode 100644 index 0000000..821ce64 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/SysDictItemMQDto.java @@ -0,0 +1,70 @@ +package com.nu.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * + *

+ * + * @Author zmy + * @since 2025-5-6 + */ +@Data +public class SysDictItemMQDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 字典id + */ + private String dictId; + + /** + * 字典项文本 + */ + private String itemText; + + /** + * 字典项值 + */ + private String itemValue; + + /** + * 描述 + */ + private String description; + + /** + * 排序 + */ + private Integer sortOrder; + + + /** + * 状态(1启用 0不启用) + */ + private Integer status; + + private String createBy; + + private Date createTime; + + private String updateBy; + + private Date updateTime; + + /** + * 字典项颜色 + */ + private String itemColor; + +} diff --git a/nursing-unit-common/src/main/java/com/nu/dto/SysDictMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/SysDictMQDto.java new file mode 100644 index 0000000..a440b64 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/SysDictMQDto.java @@ -0,0 +1,90 @@ +package com.nu.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + *

+ * 字典表 + *

+ * + * @Author zmy + * @since 2025-5-6 + */ +@Data +public class SysDictMQDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * [预留字段,暂时无用] + * 字典类型,0 string,1 number类型,2 boolean + * 前端js对stirng类型和number类型 boolean 类型敏感,需要区分。在select 标签匹配的时候会用到 + * 默认为string类型 + */ + private Integer type; + + /** + * 字典名称 + */ + private String dictName; + + /** + * 字典编码 + */ + private String dictCode; + + /** + * 描述 + */ + private String description; + + /** + * 标识 + * sys:系统字典,非客户使用字典 + * nu:业务字典,客户使用字典 + */ + private String tag; + + /** + * 删除状态 + */ + private Integer delFlag; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /**租户ID*/ + private Integer tenantId; + + /** 关联的低代码应用ID */ + private String lowAppId; + + private List sysDictItemList; + +} diff --git a/nursing-unit-common/src/main/java/com/nu/modules/async/entity/AsyncMain.java b/nursing-unit-common/src/main/java/com/nu/modules/async/entity/AsyncMain.java index 42ae080..3346ae4 100644 --- a/nursing-unit-common/src/main/java/com/nu/modules/async/entity/AsyncMain.java +++ b/nursing-unit-common/src/main/java/com/nu/modules/async/entity/AsyncMain.java @@ -35,6 +35,10 @@ public class AsyncMain implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; + /**被同步数据的主键id*/ + @Excel(name = "被同步数据的主键id", width = 15) + @ApiModelProperty(value = "被同步数据的主键id") + private java.lang.String primaryKey; /**机构编码*/ @Excel(name = "机构编码", width = 15) @ApiModelProperty(value = "机构编码") @@ -56,6 +60,10 @@ public class AsyncMain implements Serializable { @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建日期") private java.util.Date createTime; + /**状态*/ + @Excel(name = "状态", width = 15) + @ApiModelProperty(value = "状态") + private java.lang.String status; @TableField(exist = false) private List asyncStatusList; diff --git a/nursing-unit-common/src/main/java/com/nu/modules/async/mapper/xml/AsyncMainMapper.xml b/nursing-unit-common/src/main/java/com/nu/modules/async/mapper/xml/AsyncMainMapper.xml index afa6084..1e80625 100644 --- a/nursing-unit-common/src/main/java/com/nu/modules/async/mapper/xml/AsyncMainMapper.xml +++ b/nursing-unit-common/src/main/java/com/nu/modules/async/mapper/xml/AsyncMainMapper.xml @@ -4,6 +4,7 @@ + @@ -22,6 +23,7 @@