浏览代码

feat: 处方单如果是中药类型的,当支付完成后再次生成处方单图片

xdd 1 月之前
父节点
当前提交
f84f2d1659

+ 4 - 0
fs-service/src/main/java/com/fs/his/domain/FsPrescribe.java

@@ -179,5 +179,9 @@ public class FsPrescribe extends BaseEntity
      */
     private Integer userConfirm;
 
+    /**
+     * 商城订单是否已经支付 0未支付 1已支付 2已生成
+     */
+    private Integer storeOrderPaid;
 
 }

+ 1 - 1
fs-service/src/main/java/com/fs/his/mapper/FsPrescribeDrugMapper.java

@@ -74,7 +74,7 @@ public interface FsPrescribeDrugMapper
     @Select("select * from fs_store_product where product_name=#{drugName} and store_id=#{storeId} LIMIT 1 ")
     FsStoreProduct selectFsPrescribeDrugCode(@Param("drugName") String drugName, @Param("storeId")Long storeId);
 
-    @Select("select prescribe_id from fs_prescribe where prescribe_img_url is null and status=1")
+    @Select("select prescribe_id from fs_prescribe where  ifnull(store_order_paid,0)=1")
     List<FsPrescribe> selectPenddingPrescribeImgData();
 
 

+ 3 - 0
fs-service/src/main/java/com/fs/his/mapper/FsPrescribeMapper.java

@@ -199,6 +199,7 @@ public interface FsPrescribeMapper
     List<FsPrescribe> selectFsPrescribeByPrescribeByimg();
     @Select("select prescribe_code from fs_prescribe where store_order_id=#{orderId} limit 1")
     String selectFsPrescribeCodeByOrderId(String  orderId);
+
     @Select("select prescribe_code from fs_prescribe where store_order_id=(select order_id from fs_store_order where order_code=#{businessCode} limit 1)")
     String selectFsPrescribeCodeByOrderCode(String businessCode);
     @Select({"<script> " +
@@ -239,4 +240,6 @@ public interface FsPrescribeMapper
     @Select("select p.prescribe_id from fs_store_order o LEFT JOIN fs_prescribe p on p.store_order_id =o.order_id where o.status=2 and  o.order_type=2 and p.prescribe_img_store_url is null ")
     List<Long> selectFsPrescribeByPrescribeIdByOrderType();
 
+    @Select("select prescribe_id from fs_prescribe where store_order_id=#{orderId} limit 1")
+    FsPrescribe selectFsPrescribeByOrderId(@Param("orderId") Long orderId);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/IFsPrescribeService.java

@@ -112,4 +112,6 @@ public interface IFsPrescribeService
     List<Long> selectFsPrescribeByPrescribeIdByOrderType();
 
     void PrescribeStoreImg(Long id);
+
+    FsPrescribe selectFsPrescribeByOrderId(Long orderId);
 }

+ 10 - 2
fs-service/src/main/java/com/fs/his/service/impl/FsPrescribeServiceImpl.java

@@ -797,6 +797,11 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
 
     }
 
+    @Override
+    public FsPrescribe selectFsPrescribeByOrderId(Long orderId) {
+        return fsPrescribeMapper.selectFsPrescribeByOrderId(orderId);
+    }
+
     private String getFsPrescribeStoreZyImg(PrescribeZyImgParam o) {
         File mb = new File("C:\\fs\\zycf.jpg");
         if (!mb.exists()) {
@@ -974,7 +979,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
 
     @Override
     public void generatePrescribeImg(){
-        log.info("处方图片生成定时任务开始执行");
+        log.info("处方图片生成定时任务(生成已支付)开始执行");
         long startTime = System.currentTimeMillis();
 
         IFsPrescribeService fsPrescribeService = (IFsPrescribeService) AopContext.currentProxy();
@@ -987,6 +992,9 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
             log.info("开始处理处方单号: {}", prescribeId);
             try {
                 fsPrescribeService.PrescribeImg(prescribeId);
+
+                // 已生成
+                fsPrescribe.setStoreOrderPaid(2);
                 log.info("处方单号: {} 图片生成成功", prescribeId);
             } catch (Exception e) {
                 log.error("处方单号: {} 图片生成失败, 错误信息: {}", prescribeId, e.getMessage(), e);
@@ -994,7 +1002,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
         }
 
         long endTime = System.currentTimeMillis();
-        log.info("处方图片生成定时任务结束,共处理{}条数据,总耗时: {}毫秒", fsPrescribes.size(), (endTime - startTime));
+        log.info("处方图片生成定时(生成已支付)任务结束,共处理{}条数据,总耗时: {}毫秒", fsPrescribes.size(), (endTime - startTime));
 
     }
 

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

@@ -2,6 +2,7 @@ package com.fs.his.service.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.net.URLDecoder;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
@@ -1429,6 +1430,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     userCouponService.updateFsUserCoupon(userCoupon);
                 }
             }
+            // 修改处方单状态
+            FsPrescribe fsPrescribe = fsPrescribeService.selectFsPrescribeByOrderId(order.getOrderId());
+            if(ObjectUtil.isNotNull(fsPrescribe)){
+                fsPrescribe.setStoreOrderPaid(1);
+                fsPrescribeService.updateFsPrescribe(fsPrescribe);
+            }
             return R.ok();
         } catch (Exception e) {
             log.info(payCode + "异常了" + e.getMessage());

+ 1 - 0
fs-service/src/main/resources/mapper/his/FsPrescribeMapper.xml

@@ -230,6 +230,7 @@
             <if test="source != null">source = #{source},</if>
             <if test="prescribeImgStoreUrl != null">prescribe_img_store_url = #{prescribeImgStoreUrl},</if>
             <if test="userConfirm != null">user_confirm = #{userConfirm},</if>
+            <if test="storeOrderPaid != null">store_order_paid = #{storeOrderPaid},</if>
         </trim>
         where prescribe_id = #{prescribeId}
     </update>