Переглянути джерело

feat: 切换支付方式
销售修改订单金额

xdd 1 місяць тому
батько
коміт
0f7cdbb60d

+ 77 - 0
deploy.sh

@@ -0,0 +1,77 @@
+#!/bin/bash
+
+# 设置远程服务器信息
+REMOTE_USER="administrator"  # 远程服务器用户名
+REMOTE_HOST="101.33.233.219" # 远程服务器地址
+REMOTE_BASE_DIR="C:/Tools/jar"  # 远程服务器上的部署目录(使用正斜杠)
+
+# 本地 JAR 包路径
+LOCAL_FS_ADMIN_JAR="./fs-admin/target/fs-admin.jar"
+LOCAL_FS_COMPANY_JAR="./fs-company/target/fs-company.jar"
+LOCAL_FS_USER_APP_JAR="./fs-user-app/target/fs-user-app.jar"
+LOCAL_FS_API_APP_JAR="./fs-api/target/fs-api.jar"
+
+# 函数:检查本地文件是否存在
+check_local_file() {
+  if [ ! -f "$1" ]; then
+    echo "Error: Local file $1 not found."
+    exit 1
+  fi
+}
+
+# 检查本地 JAR 文件是否存在
+check_local_file "$LOCAL_FS_ADMIN_JAR"
+check_local_file "$LOCAL_FS_COMPANY_JAR"
+check_local_file "$LOCAL_FS_USER_APP_JAR"
+#check_local_file "$LOCAL_FS_API_APP_JAR"
+
+# 停止远程服务器上可能正在运行的旧版本
+stop_remote_app() {
+  local app_name=$1
+  # 使用Windows PowerShell通过进程名终止进程
+  ssh "$REMOTE_USER@$REMOTE_HOST" "powershell -Command \"Get-Process -Name java -ErrorAction SilentlyContinue | Where-Object {\\\$_.CommandLine -like '*$app_name*'} | Stop-Process -Force\""
+  echo "Stopped any running instances of $app_name"
+}
+
+# 创建远程目录
+create_remote_dir() {
+  local remote_dir=$1
+  ssh "$REMOTE_USER@$REMOTE_HOST" "if not exist \"$REMOTE_BASE_DIR\\$remote_dir\" mkdir \"$REMOTE_BASE_DIR\\$remote_dir\""
+}
+
+# 部署单个 JAR 包
+deploy_jar() {
+  local local_jar=$1
+  local remote_dir=$2
+  local port=$3
+  local profile=$4
+  local app_name=$(basename "$local_jar" .jar)
+
+  echo "Deploying $app_name to $REMOTE_HOST:$REMOTE_BASE_DIR/$remote_dir"
+
+  # 创建远程目录(如果不存在)
+  create_remote_dir "$remote_dir"
+
+  # 停止旧版本
+  stop_remote_app "$app_name"
+
+  # 上传 JAR 包
+  scp "$local_jar" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_BASE_DIR/$remote_dir/"
+
+  # 在Windows上使用start命令启动JAR(后台运行,不显示窗口)
+  ssh "$REMOTE_USER@$REMOTE_HOST" "cd $REMOTE_BASE_DIR/$remote_dir && start \"$app_name\" /B cmd /c \"java -jar -Dfile.encoding=UTF-8 $app_name.jar --spring.profiles.active=$profile --server.port=$port > $app_name.log 2>&1\""
+
+  echo "Deployed $app_name to $REMOTE_HOST:$REMOTE_BASE_DIR/$remote_dir on port $port"
+}
+
+# 主要部署流程
+
+# 部署 fs-admin
+deploy_jar "$LOCAL_FS_ADMIN_JAR" "fs-admin" "7011" "druid-yzt"
+
+# 取消注释以部署其他服务
+# deploy_jar "$LOCAL_FS_COMPANY_JAR" "fs-company" "7012" "druid-yzt"
+# deploy_jar "$LOCAL_FS_USER_APP_JAR" "fs-user-app" "8808" "druid-yzt"
+# deploy_jar "$LOCAL_FS_API_APP_JAR" "fs-api" "8809" "druid-yzt"
+
+echo "Deployment completed."

+ 68 - 0
fs-admin/src/test/java/com/fs/his/task/TaskTest.java

@@ -0,0 +1,68 @@
+package com.fs.his.task;
+
+import com.fs.FSApplication;
+import com.fs.common.exception.CustomException;
+import com.fs.common.utils.DateUtils;
+import com.fs.his.domain.FsStorePayment;
+import com.fs.his.mapper.FsStorePaymentMapper;
+import com.fs.huifuPay.domain.HuiFuRefundResult;
+import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
+import com.fs.huifuPay.service.HuiFuService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = FSApplication.class)
+@RequiredArgsConstructor
+@Slf4j
+public class TaskTest {
+
+    @Autowired
+    private Task task;
+
+    @Test
+    public void addPrescribeImg() {
+        try {
+            task.addPrescribeImg();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Autowired
+    private HuiFuService huiFuService;
+    @Autowired
+    private FsStorePaymentMapper fsStorePaymentMapper;
+    @Test
+    public void refundMoney(){
+        V2TradePaymentScanpayRefundRequest request = new V2TradePaymentScanpayRefundRequest();
+        request.setOrdAmt("1.00");
+        request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(new Date()));
+        request.setReqSeqId("refund-1950556773014306817");
+        Map<String, Object> extendInfoMap = new HashMap<>();
+        extendInfoMap.put("org_req_seq_id", "store" + "-" + "1950556773014306816");
+        request.setExtendInfo(extendInfoMap);
+        HuiFuRefundResult refund = huiFuService.refund(request);
+        if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {
+            FsStorePayment paymentMap = new FsStorePayment();
+            paymentMap.setPaymentId(134L);
+            paymentMap.setStatus(-1);
+            paymentMap.setRefundTime(DateUtils.getNowDate());
+            paymentMap.setRefundMoney(BigDecimal.ONE);
+            fsStorePaymentMapper.updateFsStorePayment(paymentMap);
+        } else {
+            throw new CustomException("退款请求失败" + refund.getResp_desc());
+        }
+    }
+}

+ 1 - 0
fs-doctor-app/src/main/java/com/fs/app/controller/CommonController.java

@@ -222,6 +222,7 @@ public class CommonController {
 	public ImMsgVO notifyImMsg(@RequestBody String body,HttpServletRequest request)
 	{
 
+		logger.info("IM聊天数据回调 "+body);
 		FsSysConfig fsConfig = configUtil.getSysConfig();
 		Gson gson = new Gson();
 		ImMsgParam messageInfo = gson.fromJson(body, ImMsgParam.class);

+ 1 - 1
fs-doctor-app/src/main/resources/application.yml

@@ -6,4 +6,4 @@ server:
 spring:
   profiles:
 #    active: dev
-    active: druid-jnmy
+    active: druid-yzt

+ 6 - 6
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -1151,30 +1151,30 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 }
                 FsCoupon coupon = couponService.selectFsCouponByCouponId(userCoupon.getCouponId());
                 if (coupon.getCouponType().equals(1)) {
-                    if (coupon.getMinPrice().compareTo(order.getPayPrice()) == 1) {
+                    if (coupon.getMinPrice().compareTo(order.getPayMoney()) == 1) {
                         return R.error("此优惠券不可用");
                     }
-                    if (coupon.getPrice().compareTo(order.getPayPrice()) >= 0) {
+                    if (coupon.getPrice().compareTo(order.getPayMoney()) >= 0) {
                         data.put("payMoney", new BigDecimal(0));
                         data.put("discountMoney", coupon.getPrice());
                     } else {
-                        data.put("payMoney", order.getPayPrice().subtract(coupon.getPrice()));
+                        data.put("payMoney", order.getPayMoney().subtract(coupon.getPrice()));
                         data.put("discountMoney", coupon.getPrice());
 
                     }
                 } else if (coupon.getCouponType().equals(2)) {
                     data.put("payMoney", new BigDecimal(0));
-                    data.put("discountMoney", order.getPayPrice());
+                    data.put("discountMoney", order.getPayMoney());
                 } else if (coupon.getCouponType().equals(3)) {
                     return R.error("此优惠券不可用于问诊订单");
 
                 } else if (coupon.getCouponType().equals(4)) {
-                    BigDecimal payMoney = order.getPayPrice().multiply(coupon.getRate()).divide(new BigDecimal(100));
+                    BigDecimal payMoney = order.getPayMoney().multiply(coupon.getRate()).divide(new BigDecimal(100));
                     data.put("payMoney", payMoney);
                     data.put("discountMoney", coupon.getPrice().subtract(payMoney));
                 }
             } else {
-                data.put("payMoney", order.getPayPrice());
+                data.put("payMoney", order.getPayMoney());
                 data.put("discountMoney", new BigDecimal(0));
             }
             return R.ok().put("data", data);

+ 4 - 1
fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

@@ -2,6 +2,7 @@ package com.fs.app.controller;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
 import com.fs.app.annotation.Login;
 
 import com.fs.his.config.StoreConfig;
@@ -179,6 +180,8 @@ public class StoreOrderController extends  AppBaseController {
     @PostMapping("/editPayType")
     @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public R editPayType(HttpServletRequest request, @Validated @RequestBody FsStoreOrderPayParam param) {
+        log.info("修改支付类型: {}", JSON.toJSONString(param));
+
         FsStoreOrder order=orderService.selectFsStoreOrderByOrderId(param.getOrderId());
         if(order==null){
             return R.error("订单不存在");
@@ -191,7 +194,7 @@ public class StoreOrderController extends  AppBaseController {
             return R.error("正在支付中...");
         }
 
-        String config=configService.selectConfigByKey("store.config");
+        String config=configService.selectConfigByKey("his.store");
         StoreConfig storeConfig= JSONUtil.toBean(config,StoreConfig.class);
         // 全款支付
         if(param.getPayType().equals(1)){