From ee9a03cf7fd6e267b5730d096681d496e21a48a2 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Thu, 26 Feb 2026 14:09:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=AF=B9=E5=90=8C=E4=B8=80=E6=9C=BA=E6=9E=84=E5=90=8C=E4=B8=80?= =?UTF-8?q?=E6=8A=A4=E7=90=86=E5=8D=95=E5=85=83=E8=BF=9B=E8=A1=8C=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E7=BC=B4=E8=B4=B9=E9=83=BD=E8=83=BD=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/wechat/pay/api/WeChatPayApi.java | 29 ++++++++++++++++--- .../java/com/nu/entity/NuBaseInfoEntity.java | 7 ++++- .../nubaseinfo/api/INuBaseInfoApi.java | 2 +- .../modules/nubaseinfo/entity/NuBaseInfo.java | 5 ++++ .../service/impl/NuBaseInfoServiceImpl.java | 10 +++++-- .../mapper/ConfigServiceDirectiveMapper.java | 1 + .../xml/ConfigServiceDirectiveMapper.xml | 25 ++++++++-------- .../IConfigServiceDirectiveService.java | 2 ++ .../ConfigServiceDirectiveServiceImpl.java | 1 + 9 files changed, 62 insertions(+), 20 deletions(-) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/wechat/pay/api/WeChatPayApi.java b/nursing-unit-api/src/main/java/com/nu/modules/wechat/pay/api/WeChatPayApi.java index 355480d0..e751c221 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/wechat/pay/api/WeChatPayApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/wechat/pay/api/WeChatPayApi.java @@ -6,6 +6,7 @@ import com.google.common.collect.Maps; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.nu.dto.NuBaseElderMQDto; +import com.nu.entity.NuBaseInfoEntity; import com.nu.entity.NuBillEntity; import com.nu.entity.PayParamEntity; import com.nu.entity.WechatpayConfigEntity; @@ -20,6 +21,7 @@ import com.nu.utils.WeChatPayUtils; import com.wechat.pay.java.service.payments.jsapi.model.Amount; import com.wechat.pay.java.service.payments.model.Transaction; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; @@ -73,8 +75,7 @@ public class WeChatPayApi { * 绑定护理单元支付 */ @PostMapping("/nuBindPay") - public Map nativePay(@Valid @RequestBody PayParamEntity params) throws Exception { - + public Map nativePay(@Valid @RequestBody PayParamEntity params) { //准备各种数据 //系统订单号+商户订单号(使用同一个,便于管理):年月日时分秒+毫秒值后六位+2位随机数 String outTradeNo = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(System.currentTimeMillis() % 1000000) + String.format("%02d", new Random().nextInt(100)); @@ -144,14 +145,27 @@ public class WeChatPayApi { //如果是护理单元 验证是否已被绑定(停留在付款界面直至点击支付期间,可能已经有人更快已经付款绑定了此护理单元) { - if (!nuBaseInfoApi.canBinding(nuId)) { + String valiResult = nuBaseInfoApi.canBinding(nuId); + if (StringUtils.isNotBlank(valiResult)) { + //不可以支付 SystemOrderApiEntity upDto = new SystemOrderApiEntity(); upDto.setId(systemOrderApiEntity.getId()); upDto.setOrderStatus("NU_HAS_BEEN_BOUND");//护理单元已被其它用户绑定 - upDto.setReceiptDescription("护理单元已被其它用户绑定。");//回执描述 + if ("yiShiYong".equals(valiResult)) { + upDto.setReceiptDescription("护理单元已被其它用户绑定。");//回执描述 + } + if ("bangDingJiaoFeiZhong".equals(valiResult)) { + upDto.setReceiptDescription("其它用户正在绑定此护理单元,如需要继续绑定,请于一分钟后重新查询。");//回执描述 + } Map resultMap = Maps.newHashMap(); resultMap.put("nuFailType", "NU_HAS_BEEN_BOUND"); return resultMap; + } else { + //可以支付 修改绑定护理单元的缴费状态 + NuBaseInfoEntity baseInfo = new NuBaseInfoEntity(); + baseInfo.setNuId(nuId); + baseInfo.setIzBindPaying("Y"); + nuBaseInfoApi.updateByNuId(baseInfo); } } @@ -199,6 +213,13 @@ public class WeChatPayApi { mqDto.setOrgCode(orderData.getOrgCode()); rabbitMQUtil.sendToExchange("hldy.nubaseelder", "hldy.nubaseelder.bindnu", mqDto); } + + //这里是绑定护理单元支付回调 无论是否支付成功 + //护理单元绑定缴费中置为N(没有人在绑定缴费中) + NuBaseInfoEntity baseInfo = new NuBaseInfoEntity(); + baseInfo.setNuId(orderData.getNuId()); + baseInfo.setIzBindPaying("N"); + nuBaseInfoApi.updateByNuId(baseInfo); } Date now = new Date(); systemOrderApiEntity.setNotifyCount(orderData.getNotifyCount() + 1);//回执次数 diff --git a/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java index 686437d8..599bc52b 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/NuBaseInfoEntity.java @@ -91,7 +91,7 @@ public class NuBaseInfoEntity implements Serializable { private List humidDeviceList; //长者信息 private ElderInfoEntity elderInfo; - + private List permissionList; private java.lang.String fzr; @@ -105,6 +105,11 @@ public class NuBaseInfoEntity implements Serializable { // @ApiModelProperty(value = "负责人年龄") private java.lang.String fzrAge; + /** + * 是否绑定护理单元支付中 Y支付中(有客户正在给护理单元充值) N没有人在绑定缴费(可以让用户绑定) + */ + private String izBindPaying; + private List> readList; diff --git a/nursing-unit-nu/nu-nu-api/nu-nu-local-api/src/main/java/com/nu/modules/nubaseinfo/api/INuBaseInfoApi.java b/nursing-unit-nu/nu-nu-api/nu-nu-local-api/src/main/java/com/nu/modules/nubaseinfo/api/INuBaseInfoApi.java index ca6cb954..d4847495 100644 --- a/nursing-unit-nu/nu-nu-api/nu-nu-local-api/src/main/java/com/nu/modules/nubaseinfo/api/INuBaseInfoApi.java +++ b/nursing-unit-nu/nu-nu-api/nu-nu-local-api/src/main/java/com/nu/modules/nubaseinfo/api/INuBaseInfoApi.java @@ -35,7 +35,7 @@ public interface INuBaseInfoApi { List queryByOpenId(String openId); - boolean canBinding(String nuId); + String canBinding(String nuId); int izWarngin(NuBaseInfoEntity nuBaseInfoApiDto); diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java index 23a22c73..5dd69fd5 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/entity/NuBaseInfo.java @@ -144,6 +144,11 @@ public class NuBaseInfo implements Serializable { @ApiModelProperty(value = "负责人年龄") private java.lang.String fzrAge; + /** + * 是否绑定护理单元支付中 Y支付中(有客户正在给护理单元充值) N没有人在绑定缴费(可以让用户绑定) + */ + private String izBindPaying; + @TableField(exist = false) private String deviceId;//摄像头 ID @TableField(exist = false) diff --git a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java index d910bf44..dc4c723e 100644 --- a/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java +++ b/nursing-unit-nu/nu-nu-biz/src/main/java/com/nu/modules/nubaseinfo/service/impl/NuBaseInfoServiceImpl.java @@ -352,11 +352,17 @@ public class NuBaseInfoServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.eq("nu_id",nuId); NuBaseInfo nuBaseInfo = baseMapper.selectOne(qw); - return "0".equals(nuBaseInfo.getStatus()) || "3".equals(nuBaseInfo.getStatus()); + if(!("0".equals(nuBaseInfo.getStatus()) || "3".equals(nuBaseInfo.getStatus()))){ + return "yiShiYong";//已使用 + } + if("Y".equals(nuBaseInfo.getIzBindPaying())){ + return "bangDingJiaoFeiZhong";//绑定缴费中 + } + return null; } @Override diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/ConfigServiceDirectiveMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/ConfigServiceDirectiveMapper.java index 2569e554..2864d4dd 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/ConfigServiceDirectiveMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/ConfigServiceDirectiveMapper.java @@ -82,4 +82,5 @@ public interface ConfigServiceDirectiveMapper extends BaseMapper queryAndTranslate(@Param("existIds") String[] existIds); ConfigServiceDirective queryTranslate(@Param("id") String id); + } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml index 48d7fefe..c2420330 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/mapper/xml/ConfigServiceDirectiveMapper.xml @@ -45,13 +45,13 @@ - + - - SELECT et.id, et.tag_name, et.sort, et.iz_enabled FROM nu_config_emotion_tag et INNER JOIN nu_directive_emotion_tag det ON et.id = det.tag_id @@ -264,15 +266,14 @@ diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/service/IConfigServiceDirectiveService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/service/IConfigServiceDirectiveService.java index 54fd7cd9..3e93df9a 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/service/IConfigServiceDirectiveService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/config/servicedirective/service/IConfigServiceDirectiveService.java @@ -78,4 +78,6 @@ public interface IConfigServiceDirectiveService extends IService