Browse Source

feat: 费用回推逻辑调整;

hanchaolong 4 days ago
parent
commit
b88ed8909c

+ 1 - 1
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/callback/JDPushOrderFeeCallback.java

@@ -77,7 +77,7 @@ public class JDPushOrderFeeCallback {
         });
 
         details.forEach(detail -> {
-            bizWaybillCostDetailsService.insertBizWaybillCostDetails(detail);
+            bizWaybillCostDetailsService.upsertBizWaybillCostDetails(detail);
         });
 
         return AjaxResult.success().put("message", "成功");

+ 8 - 1
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/mapper/BizWaybillCostDetailsMapper.java

@@ -67,7 +67,14 @@ public interface BizWaybillCostDetailsMapper
     BizWaybillCostDetails getAccountAdjustmentById(BizWaybillCostDetails bizWaybillCostDetails);
 
     List<BizWaybillCostDetails> detaillist(BizWaybillCostDetails bizWaybillCostDetails);
-    
+
     @DataScope(deptAlias = "d", userAlias = "u")
     BigDecimal selectBizWaybillCostDetailsSum(BizWaybillCostDetails bizWaybillCostDetails);
+
+    /**
+     * 插入或更新费用明细(使用ON DUPLICATE KEY UPDATE)
+     * @param bizWaybillCostDetails 费用明细信息
+     * @return 结果
+     */
+    int upsertBizWaybillCostDetails(BizWaybillCostDetails bizWaybillCostDetails);
 }

+ 7 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/IBizWaybillCostDetailsService.java

@@ -71,4 +71,11 @@ public interface IBizWaybillCostDetailsService
     BizWaybillCostDetails getAccountAdjustmentById(BizWaybillCostDetails bizWaybillCostDetails);
 
     List<BizWaybillCostDetails> detaillist(BizWaybillCostDetails bizWaybillCostDetails);
+
+    /**
+     * 插入或更新费用明细(使用ON DUPLICATE KEY UPDATE)
+     * @param bizWaybillCostDetails 费用明细信息
+     * @return 结果
+     */
+    int upsertBizWaybillCostDetails(BizWaybillCostDetails bizWaybillCostDetails);
 }

+ 12 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/BizWaybillCostDetailsServiceImpl.java

@@ -177,4 +177,16 @@ catch(Exception e)
         return bizWaybillCostDetailsMapper.detaillist(bizWaybillCostDetails);
 
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int upsertBizWaybillCostDetails(BizWaybillCostDetails bizWaybillCostDetails) {
+        // 设置更新时间
+        bizWaybillCostDetails.setUpdateTime(DateUtils.getNowDate());
+        // 如果创建时间未设置,则设置为当前时间
+        if (bizWaybillCostDetails.getCreateTime() == null) {
+            bizWaybillCostDetails.setCreateTime(DateUtils.getNowDate());
+        }
+        return bizWaybillCostDetailsMapper.upsertBizWaybillCostDetails(bizWaybillCostDetails);
+    }
 }

+ 42 - 0
jd-logistics-modules/jd-logistics-system/src/main/resources/mapper/logistics/BizWaybillCostDetailsMapper.xml

@@ -160,6 +160,48 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where a.waybill_detail_id = #{waybillDetailId}
     </select>
 
+    <insert id="upsertBizWaybillCostDetails" parameterType="com.ruoyi.logistics.domain.BizWaybillCostDetails" useGeneratedKeys="true" keyProperty="waybillDetailId">
+        INSERT INTO biz_waybill_cost_details (
+            waybill_id,
+            external_waybill_no,
+            fee_item_code,
+            fee_item_name,
+            fee_name,
+            amount,
+            rate_amount,
+            adjust_amount,
+            remark,
+            create_time,
+            update_time,
+            dept_id,
+            user_id,
+            del_flag,
+            create_by,
+            update_by
+        ) VALUES (
+            #{waybillId},
+            #{externalWaybillNo},
+            #{feeItemCode},
+            #{feeItemName},
+            #{feeName},
+            #{amount},
+            #{rateAmount},
+            #{adjustAmount},
+            #{remark},
+            #{createTime},
+            #{updateTime},
+            #{deptId},
+            #{userId},
+            #{delFlag},
+            #{createBy},
+            #{updateBy}
+        )
+        ON DUPLICATE KEY UPDATE
+            amount = #{amount},
+            rate_amount = #{rateAmount},
+            adjust_amount = #{adjustAmount}
+    </insert>
+
     <insert id="insertBizWaybillCostDetails" parameterType="com.ruoyi.logistics.domain.BizWaybillCostDetails" useGeneratedKeys="true" keyProperty="waybillDetailId">
         insert into biz_waybill_cost_details
         <trim prefix="(" suffix=")" suffixOverrides=",">