Przeglądaj źródła

feat: 供应商费率配置;

hanchaolong 1 miesiąc temu
rodzic
commit
8fc52ba13f

+ 8 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/mapper/SysDeptRateMapper.java

@@ -64,4 +64,12 @@ public interface SysDeptRateMapper
     List<Map<String, Object>> findSysDeptRateList(Map rateParam);
     List<Map<String, Object>> findSysDeptRateList(Map rateParam);
 
 
     List<Map<String, Object>> findSysDeptRateListByDept(Map rateParam);
     List<Map<String, Object>> findSysDeptRateListByDept(Map rateParam);
+
+    /**
+     * 根据部门ID删除供应商费率配置
+     *
+     * @param deptId 部门ID
+     * @return 结果
+     */
+    public int deleteSysDeptRateByDeptId(Long deptId);
 }
 }

+ 14 - 11
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/service/impl/SysDeptRateServiceImpl.java

@@ -87,18 +87,12 @@ public class SysDeptRateServiceImpl implements ISysDeptRateService
         }
         }
 
 
         // 设置创建时间并批量插入
         // 设置创建时间并批量插入
+        sysDeptRateMapper.deleteSysDeptRateByDeptId(sysDeptRates.get(0).getDeptId());
         for (SysDeptRate rate : sysDeptRates) {
         for (SysDeptRate rate : sysDeptRates) {
-            if (null == rate.getRateId()) {
-                rate.setCreateTime(DateUtils.getNowDate());
-                rate.setCreateBy(SecurityUtils.getUsername());
-                rate.setUserId(SecurityUtils.getUserId());
-                sysDeptRateMapper.insertSysDeptRate(rate);
-            } else {
-                rate.setUpdateTime(DateUtils.getNowDate());
-                rate.setUpdateBy(SecurityUtils.getUsername());
-                rate.setUserId(SecurityUtils.getUserId());
-                sysDeptRateMapper.updateSysDeptRate(rate);
-            }
+            rate.setCreateTime(DateUtils.getNowDate());
+            rate.setCreateBy(SecurityUtils.getUsername());
+            rate.setUserId(SecurityUtils.getUserId());
+            sysDeptRateMapper.insertSysDeptRate(rate);
         }
         }
 
 
         return sysDeptRates.size();
         return sysDeptRates.size();
@@ -194,6 +188,15 @@ public class SysDeptRateServiceImpl implements ISysDeptRateService
                         i + 1, begins1, ends1,
                         i + 1, begins1, ends1,
                         j + 1, begins2, ends2));
                         j + 1, begins2, ends2));
                 }
                 }
+
+                if (rate1.getRate().compareTo(rate2.getRate()) < 0) {
+                    throw new ServiceException(String.format(
+                            "物流公司%s、产品类型%s的费率配置有误:区间%d(%d,%d] 与区间%d(%d,%d]",
+                            rates.get(i).getCompanyType(),
+                            rates.get(i).getProductType(),
+                            i + 1, begins1, ends1,
+                            j + 1, begins2, ends2));
+                }
             }
             }
         }
         }
     }
     }

+ 4 - 0
jd-logistics-modules/jd-logistics-system/src/main/resources/mapper/logistics/SysDeptRateMapper.xml

@@ -118,4 +118,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           order by   interval_ends desc
           order by   interval_ends desc
 
 
     </select>
     </select>
+
+    <delete id="deleteSysDeptRateByDeptId" parameterType="Long">
+        delete from sys_dept_rate where dept_id = #{deptId}
+    </delete>
 </mapper>
 </mapper>