ソースを参照

xwh增加凌晨四点同步oms税率定时任务

xwh 4 年 前
コミット
d0d94d062d

+ 7 - 4
kmall-admin/src/main/java/com/kmall/admin/Test.java

@@ -16,6 +16,7 @@ import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -47,10 +48,12 @@ public class Test {
 //        System.out.println();
 //        String result = HttpUtil.post("http://127.0.0.1:8080/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList", JSON.toJSONString(params));
 //        HttpRequest post = HttpUtil.createPost();
-        String result = HttpUtil.get("http://127.0.0.1:8080/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
-        Map<String,Map> map = JSON.parseObject(result, Map.class);
-        Map<String,String> isgdkk175117 = map.get("ISGDKK175117");
-        System.out.println(isgdkk175117.get("cusGoodsName"));
+        String result = HttpUtil.get("http://127.0.0.1:8080/oms-controller-mgt/taxBill/queryGoodsRate?thirdPartyMerchCode=ZDF01");
+        Map<String,String> map = JSON.parseObject(result, Map.class);
+        String goodsRate = map.get("1901101000");
+        String s = map.get(null);
+        System.out.println(s);
+        System.out.println(new BigDecimal(goodsRate));
         System.out.println(result);
 
 

+ 3 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/GoodsDao.java

@@ -67,4 +67,7 @@ public interface GoodsDao extends BaseDao<GoodsEntity> {
     List<String> queryNonSyncOmsHsCodeSkuList();
 
     List<GoodsEntity> queryListBySku(String sku);
+
+    List<GoodsEntity> queryNonSyncOmsGoodsRateSkuList();
+
 }

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/entity/GoodsEntity.java

@@ -234,6 +234,16 @@ public class GoodsEntity implements Serializable {
 
     private String isSyncHsCode;
 
+    private String isSyncGoodsRate;
+
+    public String getIsSyncGoodsRate() {
+        return isSyncGoodsRate;
+    }
+
+    public void setIsSyncGoodsRate(String isSyncGoodsRate) {
+        this.isSyncGoodsRate = isSyncGoodsRate;
+    }
+
     public String getIsSyncHsCode() {
         return isSyncHsCode;
     }

+ 3 - 0
kmall-admin/src/main/java/com/kmall/admin/service/GoodsService.java

@@ -193,4 +193,7 @@ public interface GoodsService {
     List<GoodsEntity> queryByName(String goodsName);
 
     void syncOmsHsCode();
+
+    void syncOmsGoodsRate();
+
 }

+ 21 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -1832,4 +1832,25 @@ public class GoodsServiceImpl implements GoodsService {
 
     }
 
+    @Override
+    @Transactional
+    public void syncOmsGoodsRate() {
+        List<GoodsEntity> list = goodsDao.queryNonSyncOmsGoodsRateSkuList();
+        if (Objects.nonNull(list) && list.size()>0){
+            String result = HttpUtil.get("https://oms.ds-bay.com/oms-controller-mgt/taxBill/queryGoodsRate?thirdPartyMerchCode=CW001");
+            Map<String,String> map = JSON.parseObject(result, Map.class);
+            for (GoodsEntity goodsEntity : list) {
+                String goodsRate = map.get(goodsEntity.getHsCode());
+                if (StringUtils.isNotEmpty(goodsRate)){
+                    goodsEntity.setIsSyncGoodsRate("1");
+                    goodsEntity.setGoodsRate(new BigDecimal(goodsRate));
+                    goodsDao.update(goodsEntity);
+                }
+            }
+
+        }
+    }
+
+
+
 }

+ 19 - 2
kmall-admin/src/main/java/com/kmall/admin/task/SyncOmsTask.java

@@ -29,9 +29,9 @@ public class SyncOmsTask {
 
     /**
      * 同步oms海关备案编码
-     * 每天凌晨点执行一次
+     * 每天凌晨点执行一次
      */
-    @Scheduled(cron = "0 0 4 * * ?")
+    @Scheduled(cron = "0 0 3 * * ?")
     public void syncOmsHsCode() {
         logger.info("同步所有商品表海关备案编码数据开始-----------------");
         try {
@@ -44,4 +44,21 @@ public class SyncOmsTask {
 
     }
 
+    /**
+     * 同步oms海关备案编码对应税率
+     * 每天凌晨四点执行一次
+     */
+    @Scheduled(cron = "0 0 4 * * ?")
+    public void syncOmsGoodsRate() {
+        logger.info("同步所有商品表海关备案编码对应税率数据开始-----------------");
+        try {
+            goodsService.syncOmsGoodsRate();
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.info("同步所有商品表海关备案编码对应税率数据异常-----------------原因:" + e.getMessage());
+        }
+        logger.info("同步所有商品表海关备案编码数据对应税率结束-----------");
+
+    }
+
 }

+ 10 - 1
kmall-admin/src/main/resources/mybatis/mapper/GoodsDao.xml

@@ -75,6 +75,7 @@
         <result column="hs_code" property="hsCode"/>
         <result column="hs_code_name" property="hsCodeName"/>
         <result column="is_sync_hs_code" property="isSyncHsCode"/>
+        <result column="is_sync_goods_rate" property="isSyncGoodsRate"/>
     </resultMap>
 
     <select id="queryObject" resultType="com.kmall.admin.entity.GoodsEntity">
@@ -506,6 +507,7 @@
 			`hs_code`,
 			`hs_code_name`,
 			`is_sync_hs_code`,
+			`is_sync_goods_rate`,
 			`tstm`)
 		values(
 			#{merchSn},
@@ -562,6 +564,7 @@
 			#{hsCode},
 			#{hsCodeName},
 			'0',
+			'0',
 			#{tstm})
     </insert>
 
@@ -623,7 +626,8 @@
             <if test="mychemId != null">`mychem_id` = #{mychemId},</if>
             <if test="hsCode != null">`hs_code` = #{hsCode},</if>
             <if test="hsCodeName != null">`hs_code_name` = #{hsCodeName},</if>
-            <if test="isSyncHsCode != null">`is_sync_hs_code` = #{isSyncHsCode}</if>
+            <if test="isSyncHsCode != null">`is_sync_hs_code` = #{isSyncHsCode},</if>
+            <if test="isSyncGoodsRate != null">`is_sync_goods_rate` = #{isSyncGoodsRate}</if>
         </set>
         where id = #{id}
     </update>
@@ -776,6 +780,11 @@
         from mall_goods
         where sku = #{sku}
     </select>
+    <select id="queryNonSyncOmsGoodsRateSkuList" resultType="com.kmall.admin.entity.GoodsEntity">
+        select *
+        from mall_goods
+        where is_sync_goods_rate = '0'
+    </select>
 
 
 </mapper>