Преглед изворни кода

1.注释掉发送短信
2.取货码增加手机号
3.转移添加错误日志
4.报表导出新增门店条件

zcb пре 4 година
родитељ
комит
069da6bf68

+ 20 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/kmall2oms/KtoOmsController.java

@@ -94,13 +94,31 @@ public class KtoOmsController {
         try {
             LOGGER.info("oms的请求报文:" + request);
             responseString = com.kmall.admin.utils.oms.OkHttpUtils.post(request);
-            storeTransferInventoryOrderService.update(storeTransferInventoryOrderEntity);
 
-            return handleResult(responseString,gson);
+            LOGGER.info("oms的响应报文"+responseString);
+            //解析响应数据
+            ResponseMessage result = gson.fromJson(responseString, ResponseMessage.class);
+            if(result == null){
+                String info = "解析响应数据Result失败";
+                LOGGER.error("--- {}", info);
+                throw new RuntimeException(info);
+            }else{
+                if(!"0".equals(result.getCode())){
+                    storeTransferInventoryOrderEntity.setStatus(2);
+                    storeTransferInventoryOrderEntity.setRemark(result.getMsg());
+                    storeTransferInventoryOrderService.update(storeTransferInventoryOrderEntity);
+                    return R.error(result.getMsg());
+                }
+
+                storeTransferInventoryOrderService.update(storeTransferInventoryOrderEntity);
+                return R.ok(result.getMsg());
+            }
+//            return handleResult(responseString,gson);
         } catch (Exception e) {
             e.printStackTrace();
             storeTransferInventoryOrderEntity.setStatus(2);
             storeTransferInventoryOrderService.update(storeTransferInventoryOrderEntity);
+            LOGGER.error(e.getMessage());
             return R.error(e.getMessage());
         }
 

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

@@ -26,4 +26,6 @@ public interface PickUpCodeDao extends BaseDao<PickUpCodeEntity> {
      * @return
      */
     String queryMaxPickUpCode(@Param("nowTime") String nowTime);
+
+    String queryMaxPickUpCodeByStoreId(@Param("nowTime")String nowTime, @Param("storeId") String storeId);
 }

+ 6 - 2
kmall-admin/src/main/java/com/kmall/admin/service/impl/GoodsServiceImpl.java

@@ -999,8 +999,8 @@ public class GoodsServiceImpl implements GoodsService {
                         goodsEntity.setGoodsNumber(goods.getGoodsNumber()+Integer.parseInt(goodsDto.getGoodsNumber()));
 
                         // TODO 这里改成批量修改 GoodsEntity
-                        updateGoodsList.add(goodsEntity);
-//                        goodsDao.update(goodsEntity);
+//                        updateGoodsList.add(goodsEntity);
+                        goodsDao.update(goodsEntity);
                     }else{
                         mngChangeEntity.setOriginalNum(0);//原库存数
                         mngChangeEntity.setValidNum(Integer.parseInt(goodsDto.getGoodsNumber()));//可用数
@@ -1791,6 +1791,10 @@ public class GoodsServiceImpl implements GoodsService {
         List<MkActivitiesEntity> mkActivitiesEntityList = mkActivitiesService.queryByNow(storeId,format.format(new Date()));
 
         if(mkActivitiesEntityList == null || mkActivitiesEntityList.size() == 0){
+            // 计算税费
+            GoodsEntity goodsEntity = goodsDao.queryByBarcodeAndSku(prodBarcode, goods.getGoodsSn());
+            BigDecimal tax = CalculateTax.calculateFinalTax(goodsEntity,goods.getActualPaymentAmount(),this).setScale(3,RoundingMode.HALF_UP);
+            goods.setGoodstaxes(tax.toString());
             skuActivitiesMap.put("goods",goods);
             return skuActivitiesMap;
         }

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

@@ -2049,6 +2049,10 @@ public class OrderServiceImpl implements OrderService {
                 userDao.update(userEntity);
             }
 
+
+
+
+
             // TODO 查询使用的优惠券,并减扣金额
             String couponSn = (String) userInfo.get("couponSn");
             // 获取当前时间
@@ -2223,34 +2227,35 @@ public class OrderServiceImpl implements OrderService {
             resultObj.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
             resultObj.put("orderNo", order.getOrder_sn()); //
 
+            resultObj.put("phone",(String) userInfo.get("customPhone"));
             // 通知WebSocket
             WebSocketServer.sendMessage(sessionId, order.getOrder_sn(), order.getStore_id()
                     + "");
 
             // TODO 下单流程完成了,现在将下单的库存明细存入表中,准备发送到中控
-            List<KtoEccsEntity> ktoEccsEntities = new LinkedList<>();
-//            orderGoodsVoList
-            for (OrderGoodsVo orderGoodsVo : orderGoodsVoList) {
-                KtoEccsEntity ktoEccsEntity = new KtoEccsEntity();
-                ktoEccsEntity.setRequestData(JSON.toJSONString(orderGoodsVo));
-                ktoEccsEntity.setRequestType("03");
-                ktoEccsEntity.setSendStatus("00");
-                ktoEccsEntity.setCreaterSn(user.getUserId()+"");
-                ktoEccsEntity.setCreateTime(new Date());
-                ktoEccsEntities.add(ktoEccsEntity);
-            }
-
-
-            if(ktoEccsEntities.size() > 0){
-                if(ktoEccsEntities.size() > 50){
-                    List<List<KtoEccsEntity>> partition = Lists.partition(ktoEccsEntities, 50);
-                    for (List<KtoEccsEntity> ktoEccs : partition) {
-                        ktoEccsService.saveBatch(ktoEccs);
-                    }
-                }else{
-                    ktoEccsService.saveBatch(ktoEccsEntities);
-                }
-            }
+//            List<KtoEccsEntity> ktoEccsEntities = new LinkedList<>();
+////            orderGoodsVoList
+//            for (OrderGoodsVo orderGoodsVo : orderGoodsVoList) {
+//                KtoEccsEntity ktoEccsEntity = new KtoEccsEntity();
+//                ktoEccsEntity.setRequestData(JSON.toJSONString(orderGoodsVo));
+//                ktoEccsEntity.setRequestType("03");
+//                ktoEccsEntity.setSendStatus("00");
+//                ktoEccsEntity.setCreaterSn(user.getUserId()+"");
+//                ktoEccsEntity.setCreateTime(new Date());
+//                ktoEccsEntities.add(ktoEccsEntity);
+//            }
+//
+//
+//            if(ktoEccsEntities.size() > 0){
+//                if(ktoEccsEntities.size() > 50){
+//                    List<List<KtoEccsEntity>> partition = Lists.partition(ktoEccsEntities, 50);
+//                    for (List<KtoEccsEntity> ktoEccs : partition) {
+//                        ktoEccsService.saveBatch(ktoEccs);
+//                    }
+//                }else{
+//                    ktoEccsService.saveBatch(ktoEccsEntities);
+//                }
+//            }
 
 
             return resultObj;
@@ -2520,8 +2525,8 @@ public class OrderServiceImpl implements OrderService {
                 } catch (InterruptedException e) {
                     e.printStackTrace();
                 }
-                if (times >= 120) {
-                    throw new RuntimeException("超过20s未支付,订单下单失败");
+                if (times >= 60) {
+                    throw new RuntimeException("超过60s未支付,订单下单失败");
                 }
                 times++;
             }
@@ -2601,6 +2606,7 @@ public class OrderServiceImpl implements OrderService {
                     orderDao.updateOrderInfo(orderRaram);
                     LOGGER.info(">>>>>>>>>>>>>>>>>>>>wxOrderByTransactionIdQueryUpdFail 根据支付单查询微信接口返回信息:state 【" + result.getTrade_state() +
                             "】,des【" + result.getTrade_state_desc() + "】");
+                    return false;
                 } else if (result.getTrade_state().equalsIgnoreCase(Dict.tradeState.item_PAYERROR.getItem())) {
                     Map orderRaram = Maps.newHashMap();
                     orderRaram.put("payStatus", Dict.payStatus.item_8.getItem());
@@ -2609,6 +2615,7 @@ public class OrderServiceImpl implements OrderService {
                     orderDao.updateOrderInfo(orderRaram);
                     LOGGER.info(">>>>>>>>>>>>>>>>>>>>wxOrderByTransactionIdQueryUpdFail 根据支付单查询微信接口返回信息:state 【" + result.getTrade_state() +
                             "】,des【" + result.getTrade_state_desc() + "】");
+                    return false;
                 } else if (result.getTrade_state().equalsIgnoreCase(Dict.tradeState.item_USERPAYING.getItem())) {
                     Map orderRaram = Maps.newHashMap();
                     orderRaram.put("payStatus", Dict.payStatus.item_1.getItem());
@@ -2620,6 +2627,7 @@ public class OrderServiceImpl implements OrderService {
                 } else if (result.getTrade_state().equalsIgnoreCase(Dict.tradeState.item_REVOKED.getItem())) {
                     LOGGER.info(">>>>>>>>>>>>>>>>>>>>wxOrderByTransactionIdQueryUpdFail 根据支付单查询微信接口返回信息:state 【" + result.getTrade_state() +
                             "】,des【" + result.getTrade_state_desc() + "】");
+                    return false;
                 }
             } else {
                 LOGGER.info(">>>>>>>>>>>>>>>>>>>>wxOrderQuery 微信查询接口返回失败信息:code 【" + result.getErr_code() +

+ 4 - 2
kmall-admin/src/main/java/com/kmall/admin/service/impl/PickUpCodeServiceImpl.java

@@ -46,10 +46,12 @@ public class PickUpCodeServiceImpl implements PickUpCodeService {
     @Override
     public int save(PickUpCodeEntity pickUpCode) {
 
+        String storeId = ShiroUtils.getUserEntity().getStoreId().toString();
+
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         String nowTime = format.format(new Date());
 
-        String pickUpCodeSn = pickUpCodeDao.queryMaxPickUpCode(nowTime);
+        String pickUpCodeSn = pickUpCodeDao.queryMaxPickUpCodeByStoreId(nowTime,storeId);
         if(pickUpCodeSn == null){
             pickUpCodeSn = "0001";
         }else{
@@ -74,7 +76,7 @@ public class PickUpCodeServiceImpl implements PickUpCodeService {
             pickUpCode.setPickUpCodeCreatetime(df.format(new Date()));// new Date()为获取当前系统时间
         }
         pickUpCode.setModerSn(ShiroUtils.getUserEntity().getUserId().toString());
-        pickUpCode.setStoreId(ShiroUtils.getUserEntity().getStoreId().toString());
+        pickUpCode.setStoreId(storeId);
         pickUpCode.setCreateTime(new Date());
         pickUpCode.setModTime(new Date());
 

+ 4 - 4
kmall-admin/src/main/java/com/kmall/admin/service/impl/StoreTransferInventoryOrderServiceImpl.java

@@ -141,10 +141,10 @@ public class StoreTransferInventoryOrderServiceImpl implements StoreTransferInve
         List<StoreTransferInventoryOrderDetailEntity> detailEntityList =
                 storeTransferInventoryOrderDetailService.queryByTransferId(Integer.valueOf(transferOrderId));
         // 获取转出门店
-        String outStoreSn = inventoryOrderEntity.getOutStoreSn();
+        String inStoreSn = inventoryOrderEntity.getInStoreSn();
 
         // 转入
-        productStoreRelaService.handleTransfer(Dict.transferType.in.getItem(),outStoreSn,detailEntityList);
+        productStoreRelaService.handleTransfer(Dict.transferType.in.getItem(),inStoreSn,detailEntityList);
 
         inventoryOrderEntity.setStatus(1);
         this.update(inventoryOrderEntity);
@@ -172,9 +172,9 @@ public class StoreTransferInventoryOrderServiceImpl implements StoreTransferInve
         List<StoreTransferInventoryOrderDetailEntity> detailEntityList =
                 storeTransferInventoryOrderDetailService.queryByTransferId(Integer.valueOf(transferOrderId));
         // 获取转出门店
-        String inStoreSn = inventoryOrderEntity.getInStoreSn();
+        String outStoreSn = inventoryOrderEntity.getOutStoreSn();
         // 再转出
-        productStoreRelaService.handleTransfer(Dict.transferType.out.getItem(),inStoreSn,detailEntityList);
+        productStoreRelaService.handleTransfer(Dict.transferType.out.getItem(),outStoreSn,detailEntityList);
         inventoryOrderEntity.setStatus(5);
         this.update(inventoryOrderEntity);
     }

+ 4 - 4
kmall-admin/src/main/java/com/kmall/admin/task/SendSmsTask.java

@@ -16,9 +16,9 @@ import org.springframework.stereotype.Component;
  * @email 1076650290@qq.com
  * @date 2020年11月5日15:15:23
  */
-@Component("sendSmsTask")
-@EnableScheduling
-@EnableAsync
+//@Component("sendSmsTask")
+//@EnableScheduling
+//@EnableAsync
 public class SendSmsTask {
 
     private Logger logger = LoggerFactory.getLogger(getClass());
@@ -31,7 +31,7 @@ public class SendSmsTask {
      * 发送清关成功短信给用户
      * 30秒刷一次
      */
-    @Scheduled(cron = "0/30 * * * * ?")
+//    @Scheduled(cron = "0/30 * * * * ?")
     public void sendCustomsSuccessSms() {
         logger.info("发送清关成功短信定时器开始-----------------" );
         try {

+ 3 - 3
kmall-admin/src/main/resources/mybatis/mapper/OrderDao.xml

@@ -1670,7 +1670,7 @@
             LEFT JOIN mall_merch m ON o.merch_sn = m.merch_sn
             LEFT JOIN mall_order_goods og ON o.id = og.order_id
             LEFT JOIN mall_goods g ON og.goods_id = g.id
-            LEFT JOIN mall_product_store_rela sr ON sr.goods_id = g.id
+            LEFT JOIN mall_product_store_rela sr ON sr.goods_id = g.id and sr.store_id = o.store_id
             LEFT JOIN mall_category c ON sr.category_id = c.id
         WHERE
             1 = 1
@@ -2084,7 +2084,7 @@
         left join mall_sale_record record on record.order_sn = o.order_sn
         LEFT JOIN sys_user u ON record.saller_id = u.user_id
         left join sys_cus_unit_code uc on uc.code = gs.unit_code
-        left join mall_product_store_rela sr on sr.goods_id=gs.id
+        left join mall_product_store_rela sr on sr.goods_id=gs.id and sr.store_id = o.store_id
         left join mall_brand b on b.id=sr.brand_id
         left join mall_supplier sup on gs.supplier_id = sup.id
         WHERE 1=1
@@ -2152,7 +2152,7 @@
         left join mall_sale_record record on record.order_sn = o.order_sn
         LEFT JOIN sys_user u ON record.saller_id = u.user_id
         left join sys_cus_unit_code uc on uc.code = gs.unit_code
-        left join mall_product_store_rela sr on sr.goods_id=gs.id
+        left join mall_product_store_rela sr on sr.goods_id=gs.id and sr.store_id = o.store_id
         left join mall_brand b on b.id=sr.brand_id
         left join mall_supplier sup on gs.supplier_id = sup.id
         left join mall_order_refund mor on mor.out_refund_no = o.order_sn

+ 4 - 0
kmall-admin/src/main/resources/mybatis/mapper/PickUpCodeDao.xml

@@ -150,5 +150,9 @@
 		select pick_up_code_sn from mall_pick_up_code where pick_up_code_createtime &gt; #{nowTime} order by pick_up_code_createtime desc limit 1
 	</select>
 
+	<select id="queryMaxPickUpCodeByStoreId" resultType="java.lang.String">
+		select pick_up_code_sn from mall_pick_up_code where store_id = #{storeId} and pick_up_code_createtime &gt; #{nowTime} order by pick_up_code_createtime desc limit 1
+	</select>
+
 
 </mapper>

+ 13 - 2
kmall-admin/src/main/webapp/js/pcd/hbk6zzez.js

@@ -13,7 +13,7 @@ let vm = new Vue({
         title: null,
 		pickUpCode: {},
 		q: {},
-		pickUpCodeList:{}
+		pickUpCodeList:[]
 	},
 	methods: {
 	}
@@ -24,10 +24,14 @@ var webSocket;
 
 function openWebSocket() {
 	var storeId = sessionStorage.getItem("storeId");
+	if(window.location.search){
+		storeId = window.location.search.split("=")[1];
+	}
 	//暂时性
 	if(!storeId){
 		storeId = 163
 	}
+	console.log(storeId);
 	if ("WebSocket" in window) {
 		console.log("当前浏览器支持WebSocket");
 
@@ -56,7 +60,14 @@ function openWebSocket() {
 			var data = Object.assign({}, JSON.parse(msg.data));
 			console.log('3.接收到服务端信息......data:'+data);
 			vm.sessionId = data.sessionId;
-			vm.pickUpCodeList = data.pickUpCodeList;
+			vm.pickUpCodeList = [];
+			if(data.pickUpCodeList.length > 0){
+				for(var i = 0 ; i < data.pickUpCodeList.length ; i++){
+					if(data.pickUpCodeList[i].storeId == storeId){
+						vm.pickUpCodeList.push(data.pickUpCodeList[i]);
+					}
+				}
+			}
 		};
 		//连接关闭事件
 		webSocket.onclose = function () {

+ 27 - 6
kmall-admin/src/main/webapp/js/sale/sale.js

@@ -1171,17 +1171,26 @@ function getPrintContent(ticket) {
     content += "<div style=\"width: 100%;\">";*/
     content += "收银员:" + ticket.userName;
     content += "</div>";
-    content += "<div style=\"width: 100%;font-size: 30px;margin:15px 0 10px 5px;\">";
-    content += "取货码:" + ticket.code;
+    content += "<div style=\"text-align: center;width: 100%;font-size: 30px;margin:15px 0 10px 5px;\">";
+    content += "取货码" ;
+    content += "</div>";
+    content += "<div style=\"text-align: center;width: 100%;font-size: 50px;margin:15px 0 10px 5px;\">";
+    content += ticket.code;
     content += "</div>";
     content += "<div style=\"width: 100%;margin:5px 0px;\">";
     content += "订单编号:" + ticket.orderNo;
     content += "</div>";
     content += "<div style=\"width: 100%;margin:5px 0px;\">";
+    content += "手机号:" + ticket.phone;
+    content += "</div>";
+    content += "<div style=\"width: 100%;margin:5px 0px;\">";
     content += "打印日期:" + ticket.time;
     content += "</div>";
     content += "<div style=\"width: 100%;margin:5px 0px;font-size: 13px;\">";
-    content += "该取货单号只有当天有效"
+    content += "该取货单号只有当天有效!"
+    content += "</div>";
+    content += "<div style=\"width: 100%;margin:5px 0px;font-size: 13px;\">";
+    content += "请妥善保管好小票,以免造成个人信息泄露!"
     content += "</div>";
     content += "</div>";
 
@@ -1468,9 +1477,21 @@ function getPrintContentOrder(ticket) {
     content += "<div style=\"width: 100%;\">";
     content += ticket.ticketFoot.welcome;
     content += "</div>";
-    content += "<div style=\"width: 100%;\">";
-    content += "惠州市惠城区港惠购物中心负一层";
-    content += "</div>";
+    if(ticket.cusListing.deliveryAddress.indexOf("港惠") != -1){
+        content += "<div style=\"width: 100%;\">";
+        content += "惠州市惠城区港惠购物中心负一层";
+        content += "</div>";
+    }else if(ticket.cusListing.deliveryAddress.indexOf("永旺") != -1){
+        content += "<div style=\"width: 100%;\">";
+        content += "惠州市惠城区东湖西路东湖8区裙楼永旺惠州购物中心二楼CW大药房";
+        content += "</div>";
+    }else{
+        content += "<div style=\"width: 100%;\">";
+        content += "惠州市惠城区港惠购物中心负一层";
+        content += "</div>";
+    }
+
+
     content += "<div style=\"width: 100%;\">";
     content += "请保管好收银小票。";
     content += "</div>";

+ 1 - 1
kmall-common/src/main/java/com/kmall/common/utils/RRExceptionHandler.java

@@ -48,7 +48,7 @@ public class RRExceptionHandler {
     @ExceptionHandler(Exception.class)
     public R handleException(Exception e) {
         logger.error(e.getMessage(), e);
-        return R.error();
+        return R.error(e.getMessage());
     }