zyp 3 هفته پیش
والد
کامیت
dc83dbd1b9

+ 18 - 37
fs-admin/src/main/java/com/fs/task/StoreTask.java

@@ -105,30 +105,39 @@ public class StoreTask
     @Autowired
     private IFsStoreAfterSalesService fsStoreAfterSalesService;
 
+    public void PushErp() throws ParseException {
+        List<Long> ids = fsStoreOrderMapper.selectFsStoreOrderNoCreateOms();
+        for (Long id : ids) {
+            fsStoreOrderService.createOmsOrder(id);
+        }
+
+
+    }
+
     //每5分钟执行一次
     public void deliveryOp()
     {
-        Set<String> orders=redisTemplate.keys(DELIVERY+":*");
-        for(String extndOrderId:orders){
-            String orderCode=(String)redisTemplate.opsForValue().get(extndOrderId);
-            ErpOrderQueryRequert request=new ErpOrderQueryRequert();
-            String[] extendOrder=extndOrderId.split(":");
-            request.setCode(extendOrder[1]);
-            ErpOrderQueryResponse response=erpOrderService.getOrder(request);
+        List<FsStoreOrder> list = fsStoreOrderMapper.selectUpdateExpress();
+        for (FsStoreOrder order : list){
+            ErpOrderQueryRequert request = new ErpOrderQueryRequert();
+            request.setCode(order.getExtendOrderId());
+            ErpOrderQueryResponse response = erpOrderService.getOrder(request);
             if(response.getOrders()!=null&&response.getOrders().size()>0){
                 for(ErpOrderQuery orderQuery : response.getOrders()){
                     if(orderQuery.getDeliverys()!=null&&orderQuery.getDeliverys().size()>0){
                         for(ErpDeliverys delivery:orderQuery.getDeliverys()){
                             if(delivery.getDelivery()&&StringUtils.isNotEmpty(delivery.getMail_no())){
                                 //更新商订单状态 删除REDIS
-                                orderService.deliveryOrder(orderCode,delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
-                                redisCache.deleteObject(DELIVERY+":"+extendOrder[1]);
+                                orderService.deliveryOrder(order.getOrderCode(),delivery.getMail_no(),delivery.getExpress_code(),delivery.getExpress_name());
+                                redisCache.deleteObject(DELIVERY+":"+order.getExtendOrderId());
                             }
                         }
 
                     }
                 }
+
             }
+
         }
 
     }
@@ -338,32 +347,4 @@ public class StoreTask
     }
 
 
-    public void selectPayMoneyLessOne(){
-        List<FsStoreOrder> list = fsStoreOrderMapper.selectPayMoneyLessOne();
-        for (FsStoreOrder order : list){
-            FsStoreAfterSalesParam param = new FsStoreAfterSalesParam();
-            param.setOrderCode(order.getOrderCode());
-            param.setServiceType(0);
-            param.setRefundAmount(order.getPayMoney());
-            param.setReasons("超时未处理,自动申请退款");
-            List<FsStoreAfterSalesProductParam> productParams = new ArrayList<>();
-            List <FsStoreOrderItem> items = fsStoreOrderMapper.selectOrderItem(order.getId());
-            for (FsStoreOrderItem item : items){
-                FsStoreAfterSalesProductParam param1 = new FsStoreAfterSalesProductParam();
-                param1.setProductId(item.getProductId());
-                param1.setNum(item.getNum());
-                productParams.add(param1);
-            }
-            param.setProductList(productParams);
-            fsStoreAfterSalesService.autoApplyForAfterSales(order.getUserId(),param);
-        }
-    }
-
-    public  void deleteCustomer(){
-
-    }
-
-
-
-
 }

+ 93 - 0
fs-admin/src/main/resources/logback.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <!-- 日志存放路径 -->
+	<property name="log.path" value="/home/fs-admin/logs" />
+    <!-- 日志输出格式 -->
+	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
+
+	<!-- 控制台输出 -->
+	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>${log.pattern}</pattern>
+		</encoder>
+	</appender>
+
+	<!-- 系统日志输出 -->
+	<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
+	    <file>${log.path}/sys-info.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+			<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
+			<!-- 日志最大的历史 60天 -->
+			<maxHistory>60</maxHistory>
+		</rollingPolicy>
+		<encoder>
+			<pattern>${log.pattern}</pattern>
+		</encoder>
+		<filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <!-- 过滤的级别 -->
+            <level>INFO</level>
+            <!-- 匹配时的操作:接收(记录) -->
+            <onMatch>ACCEPT</onMatch>
+            <!-- 不匹配时的操作:拒绝(不记录) -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+	</appender>
+
+	<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
+	    <file>${log.path}/sys-error.log</file>
+        <!-- 循环政策:基于时间创建日志文件 -->
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 日志文件名格式 -->
+            <fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
+			<!-- 日志最大的历史 60天 -->
+			<maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <!-- 过滤的级别 -->
+            <level>ERROR</level>
+			<!-- 匹配时的操作:接收(记录) -->
+            <onMatch>ACCEPT</onMatch>
+			<!-- 不匹配时的操作:拒绝(不记录) -->
+            <onMismatch>DENY</onMismatch>
+        </filter>
+    </appender>
+
+	<!-- 用户访问日志输出  -->
+    <appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<file>${log.path}/sys-user.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <!-- 按天回滚 daily -->
+            <fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
+            <!-- 日志最大的历史 60天 -->
+            <maxHistory>60</maxHistory>
+        </rollingPolicy>
+        <encoder>
+            <pattern>${log.pattern}</pattern>
+        </encoder>
+    </appender>
+
+	<!-- 系统模块日志级别控制  -->
+	<logger name="com.fs" level="info" />
+	<!-- Spring日志级别控制  -->
+	<logger name="org.springframework" level="warn" />
+
+	<root level="info">
+		<appender-ref ref="console" />
+	</root>
+
+	<!--系统操作日志-->
+    <root level="info">
+        <appender-ref ref="file_info" />
+        <appender-ref ref="file_error" />
+    </root>
+
+	<!--系统用户操作日志-->
+    <logger name="sys-user" level="info">
+        <appender-ref ref="sys-user"/>
+    </logger>
+</configuration>

+ 6 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreOrderMapper.java

@@ -1025,4 +1025,10 @@ public interface FsStoreOrderMapper
     FsStoreOrder selectOrderByUserIdLimit1(Long userId);
 
     List<FsStoreOrder> selectFsStoreOrderStatisticsByUserId(@Param("ids") List<Long> ids);
+
+    @Select("select id from fs_store_order WHERE `status`= 1  and  extend_order_id is null ")
+    List<Long> selectFsStoreOrderNoCreateOms();
+
+    @Select("select * from fs_store_order where status = 1 and extend_order_id is not null and delivery_id is null ")
+    List<FsStoreOrder> selectUpdateExpress();
 }

+ 10 - 57
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -45,6 +45,7 @@ import com.fs.erp.service.IErpOrderService;
 import com.fs.huifuPay.domain.HuiFuRefundResult;
 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.kingbos.service.K9OrderService;
 import com.fs.pay.pay.domain.RefundResult;
 import com.fs.pay.pay.service.PayService;
 import com.fs.store.config.StoreConfig;
@@ -453,46 +454,20 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         //计算金额
         FsStoreOrderComputeDTO dto=this.computedOrder(userId, computedParam);
         String cartIds = redisCache.getCacheObject("orderKey:" + param.getOrderKey());
-        Integer totalNum = 0;
+//        Integer totalNum = 0;
         BigDecimal integral = BigDecimal.ZERO;
         if(cartIds!=null){
             //获取购物车列表
             List<FsStoreCartQueryVO> carts = redisCache.getCacheObject("orderCarts:" + param.getOrderKey());
             //获取地址
             FsUserAddress address=userAddressMapper.selectFsUserAddressById(param.getAddressId());
-            //检测库存
-            //三种特定产品发YDSP001
-            int ydspHouse = 0;
-            //如果是美乳产品,发武汉仓库
-            Integer meiruCount=0;
-            for (FsStoreCartQueryVO cart : carts) {
-//                cartService.checkProductStock( cart.getProductId(),cart.getProductAttrValueId());
-                totalNum += cart.getCartNum();
-                integral = NumberUtil.add(integral,
-                        NumberUtil.mul(cart.getCartNum(), cart.getIntegral()));
-//                if(cart.getCateId()!=null&&cart.getCateId().equals(176L)){
-//                    meiruCount++;
-//                }
-                //判断是否是三种特定产品
-                if(cart.getProductId()!=null&&(cart.getProductId().equals(3168L)||cart.getProductId().equals(3184L)||cart.getProductId().equals(3185L))){
-                    ydspHouse++;
-                }
-            }
             //生成分布式唯一值
             String orderSn = IdUtil.getSnowflake(0, 0).nextIdStr();
             //是否使用积分
             Boolean isIntegral=false;
             //组合数据
             FsStoreOrder storeOrder = new FsStoreOrder();
-
-            //修改默认仓库
-            if(ydspHouse>0){
-//                storeOrder.setStoreHouseCode("WHSP001");
-                storeOrder.setStoreHouseCode("YDSP001");
-            }
-            else{
-                storeOrder.setStoreHouseCode("CQDS001");
-            }
+            storeOrder.setStoreHouseCode("CK01");
             storeOrder.setCompanyId(param.getCompanyId());
             storeOrder.setCompanyUserId(param.getCompanyUserId());
             if(param.getCompanyUserId()!=null){
@@ -586,13 +561,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             if (flag==0) {
                 return R.error("订单创建失败");
             }
-            //收款单更新
-//            if(param.getPaymentId()!=null&&param.getPaymentId()>0){
-//                FsStorePayment payment=new FsStorePayment();
-//                payment.setOrderId(storeOrder.getId());
-//                payment.setPaymentId(param.getPaymentId());
-//                paymentService.updateFsStorePayment(payment);
-//            }
             //使用了积分扣积分
             if (dto.getUsedIntegral() > 0) {
                 this.decIntegral(userId, dto.getUsedIntegral(), dto.getDeductionPrice().doubleValue(),storeOrder.getId().toString());
@@ -1330,24 +1298,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             storeOrder.setStatus(OrderInfoEnum.STATUS_1.getValue());
             storeOrder.setPayTime(new Date());
             fsStoreOrderMapper.updateFsStoreOrder(storeOrder);
-            //非处方直接提交OMS
-//            if(order.getIsPrescribe().equals(0)){
-//                createOmsOrder(order.getId());
-//            }
-//            else if(order.getIsPrescribe().equals(1)){
-//                //是否已开方
-//                FsPrescribe prescribe=prescribeService.selectFsPrescribeByOrderId(order.getId());
-//                if(prescribe!=null&&prescribe.getStatus()==1){
-//                    createOmsOrder(order.getId());
-//                }
-//            }
-//        }
-//        catch (Exception e){
-//            logger.info("payConfirm:"+e.getMessage());
-//            logger.info("payConfirm:"+e.getLocalizedMessage());
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-//            return "";
-//        }
         return "SUCCESS";
     }
 
@@ -1364,6 +1314,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         return found;
     }
 
+    @Autowired
+    private K9OrderService k9OrderService;
+
 
     @Override
     public void createOmsOrder(Long orderId) throws ParseException {
@@ -1371,12 +1324,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         if(!StringUtils.isEmpty(order.getExtendOrderId())&&order.getStatus()!=1){
             return;
         }
-        ErpOrder erpOrder = getErpOrder(order);
-        ErpOrderResponse response= erpOrderService.addOrder(erpOrder);
+//        ErpOrder erpOrder = getErpOrder(order);
+        ErpOrderResponse response= k9OrderService.addOmsOrder(order.getId());
         //写入日志
         logger.info("ErpCreate:"+order.getOrderCode()+":"+JSONUtil.toJsonStr(response));
-        //支付成功后 将订单号写入待发货的REDIS中
-        redisCache.setCacheObject(DELIVERY+":"+response.getCode(),order.getOrderCode());
+//        //支付成功后 将订单号写入待发货的REDIS中
+//        redisCache.setCacheObject(DELIVERY+":"+response.getCode(),order.getOrderCode());
         //写入外部订单号
         order.setExtendOrderId(response.getCode());
         fsStoreOrderMapper.updateFsStoreOrder(order);