1
0
qng 3 роки тому
батько
коміт
41421dd9de

+ 2 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/GoodsController.java

@@ -704,10 +704,10 @@ public class GoodsController {
      * @return
      */
     @PostMapping("/syncGoodsRate")
-    public R syncGoodsRate(){
+    public R syncGoodsRate(@RequestBody Integer[] ids){
         // 先同步海关商品编码,再同步税率
         try {
-            goodsService.syncOmsHsCode();
+            goodsService.syncOmsHsCodeGoode(Arrays.asList(ids));
         }catch (Exception e){
             e.printStackTrace();
             return R.error("同步海关商品编码失败,请联系管理员");

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

@@ -83,4 +83,6 @@ public interface GoodsDao extends BaseDao<GoodsEntity> {
     List<GoodsEntity> querySpecialCosmetics(@Param("hdCodeSet") Set<String> hdCodeSet);
 
     void updateBatch(List<GoodsEntity> updateGoodsList);
+
+    List<String> syncOmsHsCodeGoode(List<Integer> ids);
 }

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

@@ -195,9 +195,6 @@ public interface GoodsService {
      */
     List<GoodsEntity> queryByName(String storeId, String goodsName);
 
-    void syncOmsHsCode();
-
-    void syncOmsGoodsRate();
 
     void syncGoodsRate();
 
@@ -210,4 +207,7 @@ public interface GoodsService {
 
     List<GoodsEntity> queryAllList(Integer page,Integer pageSize);
 
+    void syncOmsHsCodeTask();
+
+     void syncOmsHsCodeGoode(List<Integer> skuList);
 }

+ 17 - 20
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -27,6 +27,7 @@ import com.kmall.common.constant.Dict;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
 import com.kmall.common.utils.*;
 import com.kmall.manager.manager.redis.JedisUtil;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -2132,13 +2133,22 @@ public class GoodsServiceImpl implements GoodsService {
         return goodsDao.queryObjectBySn(goodsSn);
     }
 
+    @Override
+    public void syncOmsHsCodeTask() {
+        List<String> skuList = goodsDao.queryNonSyncOmsHsCodeSkuList();
+        syncOmsHsCode(skuList);
+    }
 
     @Override
+    public void syncOmsHsCodeGoode(List<Integer> ids) {
+        syncOmsHsCode(goodsDao.syncOmsHsCodeGoode(ids));
+    }
+
     @Transactional
-    public void syncOmsHsCode() {
-        List<String> skuList = goodsDao.queryNonSyncOmsHsCodeSkuList();
+    public void syncOmsHsCode(List<String> skuList) {
         if (Objects.nonNull(skuList) && skuList.size()>0){
-            String result = HttpUtil.get("https://oms.ds-bay.com/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
+            //String result = HttpUtil.get("https://oms.ds-bay.com/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
+            String result = HttpUtil.get("http://183.3.221.143:8080/oms-controller-mgt/pdProductRecord/hsCodeMapBySkuList?skuList=" + skuList);
             Map<String,Map> map = JSON.parseObject(result, Map.class);
 
             for (String sku : skuList) {
@@ -2177,24 +2187,8 @@ 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);
-                }
-            }
 
-        }
-    }
+
 
     @Override
     @Transactional
@@ -2214,6 +2208,7 @@ public class GoodsServiceImpl implements GoodsService {
 //                    BigDecimal goodsRate = calculateTax.divide(actualPaymentAmount, 4, BigDecimal.ROUND_HALF_UP);
                     BigDecimal goodsRate =CalculateTax.calculateGoodsRate(goodsEntity);
                     goodsEntity.setGoodsRate(goodsRate);
+                    goodsEntity.setIsSyncHsCode("0");
                     goodsDao.update(goodsEntity);
 //                }
             }
@@ -2269,6 +2264,8 @@ public class GoodsServiceImpl implements GoodsService {
         return goodsDao.queryAllList(page,pageSize);
     }
 
+
+
     private void calculeatePromotion(SysUserEntity user, GoodsEntity goods, List<Map<String, String>> errorPriceSkuList, List<ShopErrorPriceRecordEntity> shopErrorPriceRecordEntities) {
         String prodBarcode = goods.getProdBarcode();
         String storeId = goods.getStoreId()+"";

+ 19 - 19
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -2201,30 +2201,30 @@ public class OrderServiceImpl implements OrderService {
             // 设置支付单开始时间
             processRecordEntity.setPaymentStartTime(new Date());
             // 判断是微信的支付码还是支付宝的支付码
-            if (parCode.startsWith("28")) {
-                // 支付宝支付
-                try {
-                    AliPay(user, parCode, order, processRecordEntity, orderWXPayRecordCurrent, store);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    throw e;
-                }
-            } else {
-                // 微信支付
-                try {
-                    wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    throw e;
-                }
-            }
+//            if (parCode.startsWith("28")) {
+//                // 支付宝支付
+//                try {
+//                    AliPay(user, parCode, order, processRecordEntity, orderWXPayRecordCurrent, store);
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                    throw e;
+//                }
+//            } else {
+//                // 微信支付
+//                try {
+//                    wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                    throw e;
+//                }
+//            }
 
             // TODO 到时候要注释掉,测试用而已
-           /* OrderEntity orderEntity = queryObject(order.getId());
+            OrderEntity orderEntity = queryObject(order.getId());
             orderEntity.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_201.getItem()));
             orderEntity.setPayStatus(Integer.parseInt(Dict.payStatus.item_2.getItem()));
             orderEntity.setPayTime(new Date());
-            orderDao.update(orderEntity);*/
+            orderDao.update(orderEntity);
 
 
             resultObj.put("shopName", store.getStoreName()); // 根据门店编号查询

+ 1 - 17
kmall-admin/src/main/java/com/kmall/admin/task/SyncOmsTask.java

@@ -35,7 +35,7 @@ public class SyncOmsTask {
     public void syncOmsHsCode() {
         logger.info("同步所有商品表海关备案编码数据开始-----------------");
         try {
-            goodsService.syncOmsHsCode();
+            goodsService.syncOmsHsCodeTask();
         } catch (Exception e) {
             e.printStackTrace();
             logger.info("同步所有商品表海关备案编码数据异常-----------------原因:" + e.getMessage());
@@ -44,22 +44,6 @@ 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 - 0
kmall-admin/src/main/resources/mybatis/mapper/GoodsDao.xml

@@ -1079,4 +1079,14 @@
         </foreach>
     </update>
 
+    <select id="syncOmsHsCodeGoode" resultType="java.lang.String">
+        select sku from mall_goods where id in
+        <foreach collection="list" item="id" index="index"
+                 open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+    </select>
+
+
+
 </mapper>

+ 1 - 1
kmall-admin/src/main/webapp/WEB-INF/page/shop/goods.html

@@ -197,7 +197,7 @@
                 #end
             </div>
         </Row>
-        <table id="jqGrid"></table>
+        <table id="jqGrid" ref="selection" ></table>
         <div id="jqGridPager"><div class="ui-jqgrid-bdiv frozen-div"></div></div>
 
     </div>

+ 12 - 0
kmall-admin/src/main/webapp/js/common.js

@@ -109,6 +109,18 @@ function getSelectedRows() {
     return grid.getGridParam("selarrrow");
 };
 
+
+//选择多条记录
+function getSelectedRowsSku() {
+    var grid = $("#jqGrid");
+    var rowKey = grid.getGridParam("selrow");
+    if (!rowKey) {
+        iview.Message.error("请选择一条记录");
+        return;
+    }
+    return grid.getGridParam("selarrrow");
+};
+
 /**
  * 预览图片
  * @param url

+ 5 - 0
kmall-admin/src/main/webapp/js/shop/goods.js

@@ -399,11 +399,16 @@ var vm = new Vue({
             });
         },
         syncGoodsRate: function () {
+            var ids = getSelectedRows();
+            if(ids == null){
+                return ;
+            }
             confirm('同步商品税率会影响线上收银,请谨慎确认,并会同步产品备案信息,同步税率和产品备案信息预需要数分钟,确定要同步?', function () {
                 $.ajax({
                     type: "POST",
                     url: "../goods/syncGoodsRate",
                     contentType: "application/json",
+                    data: JSON.stringify(ids),
                     success: function (r) {
                         if (r.code == 0) {
                             alert('同步税率成功', function (index) {