1
0
Переглянути джерело

Merge remote-tracking branch 'upstream/master'

# Conflicts:
#	kmall-admin/src/main/webapp/WEB-INF/page/sale/sale.html
hhq 4 роки тому
батько
коміт
2d2bdee91f
25 змінених файлів з 555 додано та 105 видалено
  1. 43 2
      kmall-admin/src/main/java/com/kmall/admin/controller/OrderController.java
  2. 4 0
      kmall-admin/src/main/java/com/kmall/admin/controller/ProductController.java
  3. 4 0
      kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkCenterMenuController.java
  4. 6 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStoreCampMinusDao.java
  5. 5 0
      kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStoreTicketDiscountDao.java
  6. 4 0
      kmall-admin/src/main/java/com/kmall/admin/service/OrderService.java
  7. 183 8
      kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java
  8. 10 0
      kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/store/MkStoreCampMinusServiceImpl.java
  9. 10 0
      kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/store/MkStoreTicketDiscountServiceImpl.java
  10. 5 0
      kmall-admin/src/main/java/com/kmall/admin/service/mk/store/MkStoreCampMinusService.java
  11. 4 0
      kmall-admin/src/main/java/com/kmall/admin/service/mk/store/MkStoreTicketDiscountService.java
  12. 3 3
      kmall-admin/src/main/resources/mybatis/mapper/ProductStoreRelaDao.xml
  13. 1 1
      kmall-admin/src/main/resources/mybatis/mapper/mk/MkCenterMenuDao.xml
  14. 67 8
      kmall-admin/src/main/resources/mybatis/mapper/mk/store/MkStoreCampMinusDao.xml
  15. 110 7
      kmall-admin/src/main/resources/mybatis/mapper/mk/store/MkStoreTicketDiscountDao.xml
  16. 15 15
      kmall-admin/src/main/webapp/WEB-INF/page/mk/mkstorecampminus.html
  17. 16 16
      kmall-admin/src/main/webapp/WEB-INF/page/mk/mkstoreticketdiscount.html
  18. 1 1
      kmall-admin/src/main/webapp/WEB-INF/page/sale/sale.html
  19. 3 3
      kmall-admin/src/main/webapp/WEB-INF/page/shop/offilineOrderList.html
  20. 12 8
      kmall-admin/src/main/webapp/js/mk/mkstorecampminus.js
  21. 7 5
      kmall-admin/src/main/webapp/js/mk/mkstoreticketdiscount.js
  22. 12 2
      kmall-admin/src/main/webapp/js/sale/sale.js
  23. 30 26
      kmall-admin/src/main/webapp/js/shop/offilineOrderList.js
  24. BIN
      kmall-admin/src/main/webapp/statics/img/logotest2.png
  25. 0 0
      kmall-admin/src/main/webapp/statics/img/logotest3.jpg

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

@@ -5,6 +5,8 @@ import com.kmall.admin.entity.*;
 import com.kmall.admin.websocket.WebSocketServer;
 import com.kmall.common.constant.JxlsXmlTemplateName;
 import com.kmall.common.utils.excel.ExcelUtil;
+import com.kmall.manager.manager.alipay.AliPayMicropayApiResult;
+import com.kmall.manager.manager.alipay.AliPayUtil;
 import com.kmall.manager.manager.wechat.WechatUtil;
 import com.kmall.manager.manager.wechat.WechatGlobalUtil;
 import com.kmall.manager.manager.wechat.wxglobal.dto.WechatGlobalRefundApiResult;
@@ -526,7 +528,7 @@ public class OrderController {
         if (orderInfo.getOrderStatus() != Integer.parseInt(Dict.orderStatus.item_0.getItem())) {
             if (Dict.payFlag.item_cash.getItem().equals(orderInfo.getPayFlag())) {
                 //现金支付,直接修改订单状态
-                orderService.refund(orderInfo, null);
+                orderService.refund(orderInfo);
             } else if (Dict.payFlag.item_weixin.getItem().equals(orderInfo.getPayFlag())) {
                 //微信线下扫码支付
                 WechatRefundApiResult result = WechatUtil
@@ -559,6 +561,45 @@ public class OrderController {
 
                     return R.error(result.getErr_code_des());
                 }
+            }else if(Dict.payFlag.item_alipay.getItem().equals(orderInfo.getPayFlag())){
+                // 支付宝线下扫码支付
+                AliPayMicropayApiResult result = null;
+                try {
+                    result = AliPayUtil.aliTradeRefund(orderInfo.getOrderSn(),orderInfo.getActualPrice()+"",
+                            "顾客退款",orderInfo.getStoreId().toString());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+                if (result.getCode().equals(AliPayUtil.AliPayTradeState.SUCC.getCode())) {
+                    orderService.refund(orderInfo, result);
+                } else {
+                    OrderRefundEntity mallOrderRefund = orderRefundService.queryObjectByOrderId(orderInfo.getId());
+                    OrderRefundEntity orderRefund = new OrderRefundEntity();
+                    orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_1.getItem()));
+                    orderRefund.setRefundMoney(BigDecimal.valueOf(orderInfo.getActualPrice().doubleValue()));
+                    orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_4.getItem()));
+//                    orderRefund.setOutRefundNo(result.getOut_refund_no());
+                    SysUserEntity user = ShiroUtils.getUserEntity();
+                    orderRefund.setModerSn(user.getUsername());
+                    orderRefund.setModTime(new Date());
+                    if (mallOrderRefund != null) {
+                        orderRefund.setId(mallOrderRefund.getId());
+                        orderRefundService.update(orderRefund);//退款记录
+                    }
+
+                    OrderExceptionRecordEntity mallOrderExceptionRecord = new OrderExceptionRecordEntity();
+                    mallOrderExceptionRecord.setUserId(Integer.parseInt(orderInfo.getUserId() + ""));
+                    mallOrderExceptionRecord.setOrderSn(orderInfo.getOrderSn());
+                    mallOrderExceptionRecord.setExceptionStatus(Dict.exceptionStatus.item_03.getItem());
+                    mallOrderExceptionRecord.setExceptionContent("退款失败" + result.getSubMsg());
+                    mallOrderExceptionRecord.setCreateTime(new Date());
+                    orderExceptionRecordService.save(mallOrderExceptionRecord);
+
+                    return R.error(result.getSubMsg());
+                }
+            } else{
+                return R.ok("退款成功");
             }
 
         }
@@ -940,7 +981,7 @@ public class OrderController {
     public R getIdCardInfo() throws IOException {
 
         Map map = new HashMap();
-        String ssl = OkHttpUtils.post(map,"http://qhdswl.f3322.net:56800/api/limit/get", "SSL");
+        String ssl = OkHttpUtils.post(map,"http://192.168.1.68:8000/idcard/read", "SSL");
         Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
         Matcher matcher = pattern.matcher(ssl);
         char ch;

+ 4 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/ProductController.java

@@ -36,6 +36,10 @@ public class ProductController {
     @RequestMapping("/list")
     @RequiresPermissions("product:list")
     public R list(@RequestParam Map<String, Object> params) {
+
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setName(params, "categoryName");
+
         ParamUtils.setName(params, "goodsName");
         //查询列表数据
         Query query = new Query(params);

+ 4 - 0
kmall-admin/src/main/java/com/kmall/admin/controller/mk/MkCenterMenuController.java

@@ -45,6 +45,10 @@ public class MkCenterMenuController {
     @RequiresPermissions("mkcentermenu:list")
     @ResponseBody
     public R list(@RequestParam Map<String, Object> params) {
+
+        ParamUtils.setQueryPowerByRoleType(params, "storeId", "merchSn", "thirdPartyMerchCode");
+        ParamUtils.setName(params, "categoryName");
+
         //查询列表数据
         Query query = new Query(params);
 

+ 6 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStoreCampMinusDao.java

@@ -1,8 +1,11 @@
 package com.kmall.admin.dao.mk.store;
 
 import com.kmall.admin.entity.mk.store.MkStoreCampMinusEntity;
+import com.kmall.admin.entity.mk.store.MkStoreCampMinusLevelEntity;
 import com.kmall.manager.dao.BaseDao;
 
+import java.util.List;
+
 /**
  * 门店满减活动Dao
  *
@@ -12,4 +15,7 @@ import com.kmall.manager.dao.BaseDao;
  */
 public interface MkStoreCampMinusDao extends BaseDao<MkStoreCampMinusEntity> {
 
+    List<MkStoreCampMinusLevelEntity> queryByGoodsId(Long goodsId);
+
+    MkStoreCampMinusEntity queryByStoreId(Integer storeId);
 }

+ 5 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/mk/store/MkStoreTicketDiscountDao.java

@@ -4,6 +4,8 @@ package com.kmall.admin.dao.mk.store;
 import com.kmall.admin.entity.mk.store.MkStoreTicketDiscountEntity;
 import com.kmall.manager.dao.BaseDao;
 
+import java.util.List;
+
 /**
  * 门店优惠券活动Dao
  *
@@ -13,4 +15,7 @@ import com.kmall.manager.dao.BaseDao;
  */
 public interface MkStoreTicketDiscountDao extends BaseDao<MkStoreTicketDiscountEntity> {
 
+    List<MkStoreTicketDiscountEntity> queryByGoodsId(Long goodsId);
+
+    MkStoreTicketDiscountEntity queryByStoreId(Integer storeId);
 }

+ 4 - 0
kmall-admin/src/main/java/com/kmall/admin/service/OrderService.java

@@ -7,6 +7,7 @@ import com.kmall.admin.entity.OrderEntity;
 import com.kmall.admin.entity.OrderRefundEntity;
 import com.kmall.admin.entity.WxOrderEntity;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
+import com.kmall.manager.manager.alipay.AliPayMicropayApiResult;
 import com.kmall.manager.manager.wechat.wxglobal.dto.WechatGlobalRefundApiResult;
 import com.kmall.common.utils.print.ticket.item.Ticket;
 import com.kmall.common.utils.wechat.WechatRefundApiResult;
@@ -60,11 +61,14 @@ public interface OrderService {
 
     Ticket printMsg(Long id,String sessionId);
 
+    void refund(OrderEntity orderInfo);
     /**
      * 退款
      */
     void refund(OrderEntity orderInfo, WechatRefundApiResult result);
 
+    void refund(OrderEntity orderInfo, AliPayMicropayApiResult result);
+
     /**
      * 微信国际退款逻辑处理
      * @param order

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

@@ -9,11 +9,17 @@ import com.kmall.admin.dto.OrderExpressDto;
 import com.kmall.admin.dto.OrderRecognitionDto;
 import com.kmall.admin.entity.*;
 import com.kmall.admin.entity.OrderProcessRecordEntity;
+import com.kmall.admin.entity.mk.store.MkStoreCampMinusEntity;
+import com.kmall.admin.entity.mk.store.MkStoreCampMinusLevelEntity;
 import com.kmall.admin.entity.mk.store.MkStorePromOrderRealEntity;
+import com.kmall.admin.entity.mk.store.MkStoreTicketDiscountEntity;
 import com.kmall.admin.fromcomm.dao.SysConfigDao;
 import com.kmall.admin.service.*;
+import com.kmall.admin.service.mk.store.MkStoreCampMinusService;
+import com.kmall.admin.service.mk.store.MkStoreTicketDiscountService;
 import com.kmall.admin.websocket.WebSocketServer;
 import com.kmall.api.entity.*;
+import com.kmall.api.entity.mk.MkStoreTicketDiscountVo;
 import com.kmall.common.utils.ResponseData;
 import com.kmall.common.utils.wechat.WechatMicropayApiResult;
 import com.kmall.common.utils.wechat.WechatReverseApiResult;
@@ -46,6 +52,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -106,6 +113,11 @@ public class OrderServiceImpl implements OrderService {
     private StoreService storeService;
     @Autowired
     private PickUpCodeService pickUpCodeService;
+    @Autowired
+    private MkStoreCampMinusService mkStoreCampMinusService;
+    @Autowired
+    private MkStoreTicketDiscountService mkStoreTicketDiscountService;
+
 
 
 
@@ -376,6 +388,37 @@ public class OrderServiceImpl implements OrderService {
         return TicketPrintUtil.print(head, goodsList, cashInfo, cusListing);
     }
 
+
+    /**
+     * 退款
+     */
+    @Transactional
+    public void refund(OrderEntity order) {
+        boolean needUpdateStock = true;
+        if (order.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_201.getItem())) {
+            order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
+        }
+        if (Dict.payFlag.item_cash.getItem().equals(order.getPayFlag())) {
+            order.setPayStatus(Integer.parseInt(Dict.payStatus.item_4.getItem()));
+        }
+        orderDao.update(order);//修改为退款中
+        // TODO: 2019/6/13 定时任务查询退款成功后释放库存、优惠券
+        /*// 判断是否有优惠券
+        UserCouponEntity couponVo = userCouponDao.queryByOrderId(order.getId());
+        if (null != couponVo) {
+            userCouponDao.cancelOrder(couponVo);
+        }
+
+        if (!needUpdateStock) {
+            return;
+        }
+        // 更新库存
+        updateStock(order, "管理后台订单退款");*/
+//        updateStock(order, "管理后台订单退款");
+
+        queryStorePromRealUpdateIsScan(order);
+    }
+
     /**
      * 退款
      */
@@ -433,6 +476,62 @@ public class OrderServiceImpl implements OrderService {
         queryStorePromRealUpdateIsScan(order);
     }
 
+
+
+    @Transactional
+    public void refund(OrderEntity order, AliPayMicropayApiResult result) {
+        boolean needUpdateStock = true;
+        if (order.getOrderStatus() == Integer.parseInt(Dict.orderStatus.item_201.getItem())) {
+            order.setOrderStatus(Integer.parseInt(Dict.orderStatus.item_401.getItem()));
+        }
+        if (Dict.payFlag.item_cash.getItem().equals(order.getPayFlag())) {
+            order.setPayStatus(Integer.parseInt(Dict.payStatus.item_4.getItem()));
+        }else{
+            order.setPayStatus(Integer.parseInt(Dict.payStatus.item_4.getItem()));
+            OrderRefundEntity mallOrderRefund = orderRefundDao.queryObjectByOrderId(order.getId());
+            OrderRefundEntity orderRefund = new OrderRefundEntity();
+            orderRefund.setRefundId(result.getTradeNo());
+            orderRefund.setOutRefundNo(result.getOutTradeNo());
+            orderRefund
+                    .setRefundMoney(new BigDecimal(result.getRefundFee()).divide(Constant.ONE_HUNDRED));
+            orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_2.getItem()));//退款处理中
+            orderRefund.setModTime(new Date());
+
+            if (mallOrderRefund != null) {
+                orderRefund.setId(mallOrderRefund.getId());
+                orderRefund.setRefundType(mallOrderRefund.getRefundType());
+                orderRefundDao.update(orderRefund);
+            } else {
+                orderRefund.setOrderId(Integer.parseInt(order.getId() + ""));
+                orderRefund.setUserId(Integer.parseInt(order.getUserId() + ""));
+                orderRefund.setCreateTime(new Date());
+                List<OrderEntity> list = orderDao.queryObjectByMerchOrderSn(order.getMerchOrderSn());
+                if(list.size()>1){//多条订单
+                    orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_2.getItem()));//部分退款
+                }else{
+                    orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_1.getItem()));//用户全额退款
+                }
+                orderRefundDao.save(orderRefund);//退款记录
+            }
+        }
+        orderDao.update(order);//修改为退款中
+        // TODO: 2019/6/13 定时任务查询退款成功后释放库存、优惠券
+        /*// 判断是否有优惠券
+        UserCouponEntity couponVo = userCouponDao.queryByOrderId(order.getId());
+        if (null != couponVo) {
+            userCouponDao.cancelOrder(couponVo);
+        }
+
+        if (!needUpdateStock) {
+            return;
+        }
+        // 更新库存
+        updateStock(order, "管理后台订单退款");*/
+//        updateStock(order, "管理后台订单退款");
+
+//        queryStorePromRealUpdateIsScan(order);
+    }
+
     /**
      * 平安退款逻辑处理
      * @param order
@@ -1579,11 +1678,87 @@ public class OrderServiceImpl implements OrderService {
                 userDao.save(userEntity);
             }
 
+            // TODO 生成订单之前,先查询是否有优惠券或者满减
+            // TODO 20200610 要修改成全部商品
+            // 优惠券的集合
+            List<MkStoreTicketDiscountEntity> mkStoreTicketDiscountEntities = new ArrayList<>();
+            // 满减的集合
+            List<MkStoreCampMinusLevelEntity> mkStoreCampMinusEntities = new ArrayList<>();
+            // 存商品跟金额的关系
+            Map<Long,BigDecimal> moneyMap = new HashMap<>();
+            // 商品总价
+            BigDecimal totalPrice = new BigDecimal(0);
+
+            for(GoodsEntity goodsEntity : goodsEntities){
+                Long goodsId = goodsEntity.getId();
+                // 计算该商品的价格
+                BigDecimal goodsPrice = goodsEntity.getStoreRetailPrice().multiply(new BigDecimal(goodsEntity.getGoodsNumber())).setScale(2, RoundingMode.HALF_UP);
+                moneyMap.put(goodsId,goodsPrice);
+                totalPrice = totalPrice.add(goodsPrice);
+                // 查询该商品id是否有优惠券
+                List<MkStoreTicketDiscountEntity> mkStoreTicketDiscountEntity = mkStoreTicketDiscountService.queryByGoodsId(goodsId);
+                if(mkStoreTicketDiscountEntity != null) {
+                    mkStoreTicketDiscountEntities.addAll(mkStoreTicketDiscountEntity);
+                }
+                // 查询该商品id是否有满减
+                List<MkStoreCampMinusLevelEntity> mkStoreCampMinusEntity = mkStoreCampMinusService.queryByGoodsId(goodsId);
+                if(mkStoreCampMinusEntity != null) {
+                    mkStoreCampMinusEntities.addAll(mkStoreCampMinusEntity);
+                }
+            }
+
+            // 满减优惠的金额
+            BigDecimal campDisCountAmount = new BigDecimal(0);
+            if(mkStoreCampMinusEntities.size() > 0){
+                // 上一次所需金额,用于取最大的优惠力度
+                BigDecimal lastAmount = new BigDecimal(0);
+                for (int i = 0 ; i < mkStoreCampMinusEntities.size() ; i++){
+                    MkStoreCampMinusLevelEntity mkStoreCampMinusLevelEntity = mkStoreCampMinusEntities.get(i);
+                    // TODO 20200610还有满多少件,跟满多少元打折的,逻辑复杂,下次开发
+                    BigDecimal discCond = mkStoreCampMinusLevelEntity.getYuanMinusCond();
+                    // 判断这次金额是否大于上次金额,如果不大于,直接continue
+                    if(discCond.compareTo(lastAmount) > 0){
+                        // 如果总金额大于所需金额,则可以使用该优惠券,记录该优惠券的角标,金额跟优惠的钱
+                        if(totalPrice.compareTo(discCond) > 0){
+                            // 记录上一次金额
+                            lastAmount = discCond;
+                            campDisCountAmount = mkStoreCampMinusLevelEntity.getYuanMinusPref();
+                        }
+                    }
+                }
+            }
+
+            // 优惠券优惠的金额
+            BigDecimal ticketDisCountAmount = new BigDecimal(0);
+            if(mkStoreTicketDiscountEntities.size() > 0){
+                // 上一次所需金额,用于取最大的优惠力度
+                BigDecimal lastAmount = new BigDecimal(0);
+                for (int i = 0 ; i < mkStoreTicketDiscountEntities.size() ; i++){
+                    MkStoreTicketDiscountEntity mkStoreTicketDiscountEntity = mkStoreTicketDiscountEntities.get(i);
+                    // 代金券所需金额
+                    // TODO 20200610还有折扣券的,逻辑较为复杂,下次在开发
+                    BigDecimal discCond = mkStoreTicketDiscountEntity.getVoucherCond();
+
+                    // 判断这次金额是否大于上次金额,如果不大于,直接continue
+                    if(discCond.compareTo(lastAmount) > 0){
+                        // 如果总金额大于所需金额,则可以使用该优惠券,记录该优惠券的角标,金额跟优惠的钱
+                        if(totalPrice.compareTo(discCond) > 0){
+                            // 记录上一次金额
+                            lastAmount = discCond;
+                            ticketDisCountAmount = mkStoreTicketDiscountEntity.getVoucherMoney();
+                        }
+                    }
+                }
+            }
+
+            // 判断两个优惠金额
+            BigDecimal disCountAmount = ticketDisCountAmount.compareTo(campDisCountAmount) > 0 ? ticketDisCountAmount : campDisCountAmount;
+
 
 
             // 生成订单
             String merchOrderSn = "EMATO" + CommonUtil.generateOrderNumber();
-            OrderVo order = setOrderVo(goodsList, userEntity,storeId.longValue(), user.getMerchSn());
+            OrderVo order = setOrderVo(goodsList, userEntity,storeId.longValue(), user.getMerchSn(),disCountAmount);
             order.setStore_id(storeId.longValue());
             order.setMerchOrderSn(merchOrderSn);
 
@@ -1631,7 +1806,9 @@ public class OrderServiceImpl implements OrderService {
             // 微信支付
 //            wxPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
             // 支付宝支付
-            AliPay(user, parCode, resultObj, order, processRecordEntity, orderWXPayRecordCurrent, store);
+//            AliPay(user, parCode , order, processRecordEntity, orderWXPayRecordCurrent, store);
+            resultObj.put("shopName",store.getStoreName()); // 根据门店编号查询
+            resultObj.put("userName",user.getUsername());
 
             // 保存订单流转表
             // 设置下单完成时间
@@ -1665,7 +1842,7 @@ public class OrderServiceImpl implements OrderService {
         return resultObj;
     }
 
-    private void AliPay(SysUserEntity user, String parCode, Map resultObj, OrderVo order, OrderProcessRecordEntity processRecordEntity, OrderWXPayRecordEntity orderWXPayRecordCurrent, StoreEntity store) throws Exception {
+    private void AliPay(SysUserEntity user, String parCode,  OrderVo order, OrderProcessRecordEntity processRecordEntity, OrderWXPayRecordEntity orderWXPayRecordCurrent, StoreEntity store) throws Exception {
 
         AliPayRequestParams params = new AliPayRequestParams();
         params.setAuthCode(parCode);
@@ -1678,8 +1855,7 @@ public class OrderServiceImpl implements OrderService {
         AliPayMicropayApiResult aliPayMicropayApiResult = AliPayUtil.aliTradePay(params);
         orderWXPayRecordService.updateRecordByAli(orderWXPayRecordCurrent.getId(), aliPayMicropayApiResult);
         LOGGER.info("调用阿里支付接口的同步返回结果:"+JacksonUtils.toJson(aliPayMicropayApiResult));
-        resultObj.put("shopName",store.getStoreName()); // 根据门店编号查询
-        resultObj.put("userName",user.getUsername());
+
 
 
         // 修改订单状态
@@ -1893,7 +2069,7 @@ public class OrderServiceImpl implements OrderService {
      * 设置订单数据
      * @return
      */
-    public OrderVo setOrderVo(List<LinkedHashMap> goodsList, UserEntity loginUser,Long storeId, String merchSn){
+    public OrderVo setOrderVo(List<LinkedHashMap> goodsList, UserEntity loginUser,Long storeId, String merchSn, BigDecimal disCountAmount){
         OrderVo orderInfo = new OrderVo();
 
         BigDecimal goodsTotalPrice = new BigDecimal(0.00);
@@ -1904,11 +2080,10 @@ public class OrderServiceImpl implements OrderService {
                     .add(new BigDecimal(goods.get("retailPrice").toString()).multiply(new BigDecimal(goods.get("sellVolume").toString())));
         }
 
-
         //订单价格计算:订单的总价+运费
         BigDecimal orderTotalPrice = goodsTotalPrice.add(new BigDecimal(0));
         BigDecimal fullCutCouponDec = Constant.ZERO;
-        BigDecimal couponPrice = new BigDecimal(0.00);
+        BigDecimal couponPrice = disCountAmount;
         BigDecimal actualPrice = orderTotalPrice.subtract(couponPrice);
 
         String orderSn = "CW" +  CommonUtil.generateOrderNumber();

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/store/MkStoreCampMinusServiceImpl.java

@@ -789,4 +789,14 @@ public class MkStoreCampMinusServiceImpl implements MkStoreCampMinusService {
     public int updatePastById(MkStoreCampMinusEntity mkStoreCampMinus){
         return mkStoreCampMinusDao.update(mkStoreCampMinus);
     }
+
+    @Override
+    public List<MkStoreCampMinusLevelEntity> queryByGoodsId(Long goodsId) {
+        return mkStoreCampMinusDao.queryByGoodsId(goodsId);
+    }
+
+    @Override
+    public MkStoreCampMinusEntity queryByStoreId(Integer storeId) {
+        return mkStoreCampMinusDao.queryByStoreId(storeId);
+    }
 }

+ 10 - 0
kmall-admin/src/main/java/com/kmall/admin/service/impl/mk/store/MkStoreTicketDiscountServiceImpl.java

@@ -354,4 +354,14 @@ public class MkStoreTicketDiscountServiceImpl implements MkStoreTicketDiscountSe
         }
         return mkStoreTicketDiscountDao.deleteBatch(tickDiscIds);
     }
+
+    @Override
+    public List<MkStoreTicketDiscountEntity> queryByGoodsId(Long goodsId) {
+        return mkStoreTicketDiscountDao.queryByGoodsId(goodsId);
+    }
+
+    @Override
+    public MkStoreTicketDiscountEntity queryByStoreId(Integer storeId) {
+        return mkStoreTicketDiscountDao.queryByStoreId(storeId);
+    }
 }

+ 5 - 0
kmall-admin/src/main/java/com/kmall/admin/service/mk/store/MkStoreCampMinusService.java

@@ -1,6 +1,7 @@
 package com.kmall.admin.service.mk.store;
 
 import com.kmall.admin.entity.mk.store.MkStoreCampMinusEntity;
+import com.kmall.admin.entity.mk.store.MkStoreCampMinusLevelEntity;
 
 import java.util.List;
 import java.util.Map;
@@ -71,4 +72,8 @@ public interface MkStoreCampMinusService {
     int deleteBatch(Integer[] campMinusIds);
 
     int updatePastById(MkStoreCampMinusEntity mkStoreCampMinus);
+
+    List<MkStoreCampMinusLevelEntity> queryByGoodsId(Long goodsId);
+
+    MkStoreCampMinusEntity queryByStoreId(Integer storeId);
 }

+ 4 - 0
kmall-admin/src/main/java/com/kmall/admin/service/mk/store/MkStoreTicketDiscountService.java

@@ -69,4 +69,8 @@ public interface MkStoreTicketDiscountService {
      * @return 删除条数
      */
     int deleteBatch(Integer[] tickDiscIds);
+
+    List<MkStoreTicketDiscountEntity> queryByGoodsId(Long goodsId);
+
+    MkStoreTicketDiscountEntity queryByStoreId(Integer storeId);
 }

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

@@ -179,7 +179,7 @@
         left join mall_merch m on a.merch_sn = m.merch_sn
         left join mall_product c on a.product_id = c.id
         LEFT JOIN mall_category cg ON a.category_id = cg.id
-        left join mall_store s on a.store_id = s.id
+        left join mall_store s on a.store_id = s.id AND s.third_party_merch_code = b.third_party_merch_code
         WHERE 1=1 and b.is_delete = 0
         <if test="categoryId != null and categoryId != '' ">
             AND a.category_id = #{categoryId}
@@ -200,7 +200,7 @@
             AND a.merch_sn = #{merchSn}
         </if>
         <if test="thirdPartyMerchCode != null and thirdPartyMerchCode.trim() != ''">
-            AND s.third_party_merch_code = #{thirdPartyMerchCode}
+            AND b.third_party_merch_code = #{thirdPartyMerchCode}
         </if>
         <if test="goodsId != null">
             AND a.goods_id = #{goodsId}
@@ -311,7 +311,7 @@
         left join third_merchant_biz mb on mb.third_party_merch_code = b.third_party_merch_code and mb.merch_sn=b.merch_sn
         left join mall_product c on a.product_id = c.id
         LEFT JOIN mall_category cg ON a.category_id = cg.id
-        left join mall_store s on a.store_id = s.id
+        left join mall_store s on a.store_id = s.id AND s.third_party_merch_code = b.third_party_merch_code
         WHERE 1=1 and b.is_delete = 0
         <if test="storeId != null and storeId != '' ">
             AND a.store_id = #{storeId}

+ 1 - 1
kmall-admin/src/main/resources/mybatis/mapper/mk/MkCenterMenuDao.xml

@@ -110,7 +110,7 @@
 		LEFT JOIN mk_center_menu a ON a.id = r.center_menu_id
 		LEFT JOIN mall_store s ON r.store_id = s.id
 		LEFT JOIN third_merchant_biz t ON r.third_merch_sn = t.third_merch_sn
-		WHERE 1=1
+		WHERE 1=1 AND a.is_valid='0'
 		<if test="menuName != null and menuName.trim() != ''">
 			AND menu_name LIKE concat('%',#{menuName},'%')
 		</if>

+ 67 - 8
kmall-admin/src/main/resources/mybatis/mapper/mk/store/MkStoreCampMinusDao.xml

@@ -117,7 +117,7 @@
 			limit #{offset}, #{limit}
 		</if>
 	</select>
-	
+
  	<select id="queryTotal" resultType="int">
 		SELECT count(*)
 		FROM
@@ -142,7 +142,7 @@
 			AND tb.third_party_merch_code = #{thirdPartyMerchCode}
 		</if>
 	</select>
-	 
+
 	<insert id="save" parameterType="com.kmall.admin.entity.mk.store.MkStoreCampMinusEntity" useGeneratedKeys="true" keyProperty="campMinusId">
 		insert into mk_store_camp_minus(
 			`camp_name`,
@@ -189,9 +189,9 @@
 			#{tstm},
 			#{goodsBizType})
 	</insert>
-	 
+
 	<update id="update" parameterType="com.kmall.admin.entity.mk.store.MkStoreCampMinusEntity">
-		update mk_store_camp_minus 
+		update mk_store_camp_minus
 		<set>
 			<if test="campName != null">`camp_name` = #{campName}, </if>
 			<if test="thirdMerchSn != null">`third_merch_sn` = #{thirdMerchSn}, </if>
@@ -217,16 +217,75 @@
 		</set>
 		where camp_minus_id = #{campMinusId}
 	</update>
-	
+
 	<delete id="delete">
 		delete from mk_store_camp_minus where camp_minus_id = #{value}
 	</delete>
-	
+
 	<delete id="deleteBatch">
-		delete from mk_store_camp_minus where camp_minus_id in 
+		delete from mk_store_camp_minus where camp_minus_id in
 		<foreach item="campMinusId" collection="array" open="(" separator="," close=")">
 			#{campMinusId}
 		</foreach>
 	</delete>
 
-</mapper>
+	<select id="queryByGoodsId" resultType="com.kmall.admin.entity.mk.store.MkStoreCampMinusLevelEntity">
+		select distinct
+			mscml.camp_minus_level_id,
+			mscml.camp_minus_type,
+			mscml.camp_minus_id,
+			mscml.minus_mode,
+			mscml.yuan_minus_cond,
+			mscml.yuan_minus_pref,
+			mscml.piece_minus_conf,
+			mscml.piece_minus_pref,
+			mscml.piece_minus_each_disc,
+			mscml.yuan_disc_cond,
+			mscml.yuan_disc_pref,
+			mscml.piece_disc_conf,
+			mscml.piece_disc_pref,
+			mscml.is_valid,
+			mscml.note,
+			mscml.creater_sn,
+			mscml.create_time,
+			mscml.moder_sn,
+			mscml.mod_time,
+			mscml.tstm
+		from mk_store_camp_minus mscm
+		left join  mk_store_camp_minus_goods mscmg on mscmg.camp_minus_id = mscm.camp_minus_id
+		left join mk_store_camp_minus_level mscml on mscml.camp_minus_id = mscm.camp_minus_id
+		and mscmg.camp_minus_id = mscml.camp_minus_id
+		left join mall_product_store_rela rela on mscmg.store_rela_id = rela.id
+		where rela.goods_id = #{goodsId} and mscm.camp_beg_time &lt;  now()  and mscm.camp_end_time &gt; now() and mscm.apply_type != '02'
+
+	</select>
+
+	<select id="queryByStoreId" resultType="com.kmall.admin.entity.mk.store.MkStoreCampMinusEntity">
+		select
+			camp_minus_id,
+			camp_name,
+			third_merch_sn,
+			store_id,
+			store_topic_id,
+			camp_beg_time,
+			camp_end_time,
+			camp_minus_type,
+			minus_mode,
+			apply_type,
+			adv_img_url,
+			adv_desc,
+			is_valid,
+			is_past,
+			is_store_show,
+			note,
+			creater_sn,
+			create_time,
+			moder_sn,
+			mod_time,
+			tstm,
+			goods_biz_type
+		from mk_store_camp_minus mscm
+		where mscm.store_id = #{storeId}
+	</select>
+
+</mapper>

+ 110 - 7
kmall-admin/src/main/resources/mybatis/mapper/mk/store/MkStoreTicketDiscountDao.xml

@@ -170,7 +170,7 @@
 			limit #{offset}, #{limit}
 		</if>
 	</select>
-	
+
  	<select id="queryTotal" resultType="int">
 		select count(*) from mk_store_ticket_discount d
 		LEFT JOIN third_merchant_biz b ON d.third_merch_sn = b.third_merch_sn
@@ -281,9 +281,9 @@
 			#{tstm},
 			#{sendType})
 	</insert>
-	 
+
 	<update id="update" parameterType="com.kmall.admin.entity.mk.store.MkStoreTicketDiscountEntity">
-		update mk_store_ticket_discount 
+		update mk_store_ticket_discount
 		<set>
 			<if test="tickDiscType != null">`tick_disc_type` = #{tickDiscType}, </if>
 			<if test="tickDiscSubTitle != null">`tick_disc_sub_title` = #{tickDiscSubTitle}, </if>
@@ -332,16 +332,119 @@
 		</set>
 		where tick_disc_id = #{tickDiscId}
 	</update>
-	
+
 	<delete id="delete">
 		delete from mk_store_ticket_discount where tick_disc_id = #{value}
 	</delete>
-	
+
 	<delete id="deleteBatch">
-		delete from mk_store_ticket_discount where tick_disc_id in 
+		delete from mk_store_ticket_discount where tick_disc_id in
 		<foreach item="tickDiscId" collection="array" open="(" separator="," close=")">
 			#{tickDiscId}
 		</foreach>
 	</delete>
 
-</mapper>
+	<select id="queryByGoodsId" resultType="com.kmall.admin.entity.mk.store.MkStoreTicketDiscountEntity">
+		select distinct
+			mktd.tick_disc_id,
+			mktd.tick_disc_type,
+			mktd.tick_disc_sub_title,
+			mktd.merch_sn,
+			mktd.third_merch_sn,
+			mktd.store_id,
+			mktd.goods_biz_type,
+			mktd.is_store_show,
+			mktd.store_topic_id,
+			mktd.name,
+			mktd.voucher_money,
+			mktd.voucher_cond,
+			mktd.disc_ratio,
+			mktd.disc_cond,
+			mktd.exch_cond,
+			mktd.effect_time_type,
+			mktd.fix_beg_time,
+			mktd.fix_end_time,
+			mktd.postpone_num,
+			mktd.valid_day_num,
+			mktd.ticket_num,
+			mktd.apply_type,
+			mktd.get_enter,
+			mktd.can_share_get,
+			mktd.limit_num,
+			mktd.adv_img_url,
+			mktd.store_logo_url,
+			mktd.store_name,
+			mktd.ticket_color,
+			mktd.opt_decl,
+			mktd.disc_decl,
+			mktd.use_noti,
+			mktd.svr_tel,
+			mktd.is_valid,
+			mktd.is_past,
+			mktd.disc_sell_count,
+			mktd.disc_sell_doller,
+			mktd.note,
+			mktd.creater_sn,
+			mktd.create_time,
+			mktd.moder_sn,
+			mktd.mod_time,
+			mktd.tstm,
+			mktd.send_type,
+			mktd.guid
+		from mk_store_ticket_discount mktd
+		left join mk_store_ticket_discount_goods mstdg on mstdg.tick_disc_id = mktd.tick_disc_id
+		left join mall_product_store_rela rela on mstdg.store_rela_id = rela.id
+		where rela.goods_id = #{goodsId} and mktd.fix_beg_time &lt;  now()  and mktd.fix_end_time &gt; now() and mktd.apply_type != '02'
+	</select>
+
+
+	<select id="queryByStoreId" resultType="com.kmall.admin.entity.mk.store.MkStoreTicketDiscountEntity">
+		select distinct
+			`mktd.tick_disc_id`,
+			`mktd.tick_disc_type`,
+			`mktd.tick_disc_sub_title`,
+			`mktd.merch_sn`,
+			`mktd.third_merch_sn`,
+			`mktd.store_id`,goods_biz_type,is_store_show,
+			`mktd.store_topic_id`,
+			`mktd.name`,
+			`mktd.voucher_money`,
+			`mktd.voucher_cond`,
+			`mktd.disc_ratio`,
+			`mktd.disc_cond`,
+			`mktd.exch_cond`,
+			`mktd.effect_time_type`,
+			`mktd.fix_beg_time`,
+			`mktd.fix_end_time`,
+			`mktd.postpone_num`,
+			`mktd.valid_day_num`,
+			`mktd.ticket_num`,
+			`mktd.apply_type`,
+			`mktd.get_enter`,
+			`mktd.can_share_get`,
+			`mktd.limit_num`,
+			`mktd.adv_img_url`,
+			`mktd.store_logo_url`,
+			`mktd.store_name`,
+			`mktd.ticket_color`,
+			`mktd.opt_decl`,
+			`mktd.disc_decl`,
+			`mktd.use_noti`,
+			`mktd.svr_tel`,
+			`mktd.is_valid`,
+			mktd.is_past,
+			mktd.disc_sell_count,
+			mktd.disc_sell_doller,
+			`mktd.note`,
+			`mktd.creater_sn`,
+			`mktd.create_time`,
+			`mktd.moder_sn`,
+			`mktd.mod_time`,
+			`mktd.tstm`,
+			`mktd.send_type`,
+			mktd.guid
+		from mk_store_ticket_discount mktd
+		where mktd.store_id = #{storeId}
+	</select>
+
+</mapper>

+ 15 - 15
kmall-admin/src/main/webapp/WEB-INF/page/mk/mkstorecampminus.html

@@ -173,7 +173,7 @@
                             <Radio label="00">
                                 <span>满x元减</span>
                             </Radio>
-                            <Radio label="01">
+                           <!-- TODO req_hidden_20200610 <Radio label="01">
                                 <span>满x件减</span>
                             </Radio>
                             <Radio label="10">
@@ -181,13 +181,13 @@
                             </Radio>
                             <Radio label="11">
                                 <span>满x件折</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                         <Radio-group v-model="mkStoreCampMinus.campMinusType" id="minusMode" @on-change="chanCampMinusType" v-show="isOperatorShow">
                             <Radio label="00" disabled>
                                 <span>满x元减</span>
                             </Radio>
-                            <Radio label="01" disabled>
+                            <!-- TODO req_hidden_20200610<Radio label="01" disabled>
                                 <span>满x件减</span>
                             </Radio>
                             <Radio label="10" disabled>
@@ -195,7 +195,7 @@
                             </Radio>
                             <Radio label="11" disabled>
                                 <span>满x件折</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                     </Form-item>
                     <Form-item label="减免方式" prop="minusMode" v-show="isMinusShow">
@@ -205,17 +205,17 @@
                             <Radio label="00">
                                 <span>满足最高层级减一次</span>
                             </Radio>
-                            <Radio label="10">
+                            <!-- TODO req_hidden_20200610<Radio label="10">
                                 <span>每满一次减一次</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                         <Radio-group v-model="mkStoreCampMinus.minusMode" id="minusMode" @on-change="chanMinusMode" v-show="isOperatorShow">
                             <Radio label="00" disabled>
                                 <span>满足最高层级减一次</span>
                             </Radio>
-                            <Radio label="10" disabled>
+                            <!-- TODO <Radio label="10" disabled>
                                 <span>每满一次减一次</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                     </Form-item>
                     <Form-item label="优惠内容活动层级">
@@ -403,7 +403,7 @@
                             </div>
                         </div>
 
-                        <div v-show="isUnitAttrShow" style="margin-top: 10px;">
+                       <!-- TODO req_hidden_20200610 <div v-show="isUnitAttrShow" style="margin-top: 10px;">
                             <button class="btn btn-primary btn-sm" type="button" @click="addAttrRow1">
                                 <i class="fa fa-plus">添加活动层级</i>
                             </button>最多10级,下单时以满足的最高层级优惠
@@ -422,7 +422,7 @@
                             <button class="btn btn-primary btn-sm" type="button" @click="addAttrRow4">
                                 <i class="fa fa-plus">添加活动层级</i>
                             </button>最多10级,下单时以满足的最高层级优惠
-                        </div>
+                        </div>-->
                     </Form-item>
                     <!--<Form-item label="满元减条件(元)" prop="yuanMinusCond" v-show="isVoucher">
                         <i-input v-model="mkStoreCampMinus.yuanMinusCond" style="width: 400px" placeholder="满元减条件(元)"><span slot="append">元</span></i-input>
@@ -488,15 +488,15 @@
                     </Form-item>
                     <Form-item label="适用类型" prop="applyType">
                         <Radio-group v-model="mkStoreCampMinus.applyType" id="applyType">
-                            <Radio label="00">
+                           <!-- TODO req_hidden_20200610 <Radio label="00">
                                 <span>全部商品参与</span>
-                            </Radio>
+                            </Radio>-->
                             <Radio label="01">
                                 <span>指定商品参与</span>
                             </Radio>
-                            <Radio label="02">
+                           <!-- TODO req_hidden_20200610 <Radio label="02">
                                 <span>指定商品不参与</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                     </Form-item>
                     <Form-item label="图片是否展示在广告栏" prop="isStoreShow">
@@ -862,4 +862,4 @@
 
 <script src="${rc.contextPath}/js/mk/mkstorecampminus.js?_${date.systemTime}"></script>
 </body>
-</html>
+</html>

+ 16 - 16
kmall-admin/src/main/webapp/WEB-INF/page/mk/mkstoreticketdiscount.html

@@ -157,17 +157,17 @@
                             <Radio label="00">
                                 <span>固定时间</span>
                             </Radio>
-                            <Radio label="01">
+                           <!-- TODO req_hidden_20200610 <Radio label="01">
                                 <span>领取后生效</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                         <Radio-group v-model="mkStoreTicketDiscount.effectTimeType" @on-change="changeEffectTimeType" v-show="isOperatorShow">
                             <Radio label="00" disabled>
                                 <span>固定时间</span>
                             </Radio>
-                            <Radio label="01" disabled>
+                            <!-- TODO req_hidden_20200610<Radio label="01" disabled>
                                 <span>领取后生效</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                     </Form-item>
                     <Form-item label="固定开始时间" prop="fixBegTime" v-show="isEffectTimeType00">
@@ -195,9 +195,9 @@
                             <Radio label="00">
                                 <span>代金券</span>
                             </Radio>
-                            <Radio label="01">
+                           <!-- TODO req_hidden_20200610 <Radio label="01">
                                 <span>折扣券</span>
-                            </Radio>
+                            </Radio>-->
                             <!--<Radio label="02">-->
                                 <!--<span>兑换券</span>-->
                             <!--</Radio>-->
@@ -206,9 +206,9 @@
                             <Radio label="00" disabled>
                                 <span>代金券</span>
                             </Radio>
-                            <Radio label="01" disabled>
+                            <!-- TODO req_hidden_20200610<Radio label="01" disabled>
                                 <span>折扣券</span>
-                            </Radio>
+                            </Radio>-->
                             <!--<Radio label="02" disabled>-->
                                 <!--<span>兑换券</span>-->
                             <!--</Radio>-->
@@ -275,15 +275,15 @@
                     </Form-item>
                     <Form-item label="适用商品" prop="applyType">
                         <Radio-group v-model="mkStoreTicketDiscount.applyType" id="applyType" @on-change="changeApplyType">
-                            <Radio label="00">
+                            <!-- TODO req_hidden_20200610<Radio label="00">
                                 <span>全部商品参与</span>
-                            </Radio>
+                            </Radio>-->
                             <Radio label="01">
                                 <span>指定商品参与</span>
                             </Radio>
-                            <Radio label="02">
+                           <!-- TODO req_hidden_20200610 <Radio label="02">
                                 <span>指定商品不参与</span>
-                            </Radio>
+                            </Radio>-->
                         </Radio-group>
                     </Form-item>
                     <Form-item label="" v-show="isApplyType">
@@ -382,12 +382,12 @@
                         </Checkbox-group>
                         <!--<i-input v-model="mkStoreTicketDiscount.getEnter" placeholder="领取入口,格式:1,2,...,n,【get_enter,1:商品详情页/购物车等商城页面】"/>-->
                     </Form-item>
-                    <Form-item label="能否分享领取" prop="canShareGet">
+                   <!-- TODO req_hidden_20200610 <Form-item label="能否分享领取" prop="canShareGet">
                         <Checkbox-group v-model="mkStoreTicketDiscount.canShareGet">
                             <Checkbox label="0"><span>用户可以分享链接领取(小程序暂不支持分享)</span></Checkbox>
                         </Checkbox-group>
-                        <!--<i-input v-model="mkStoreTicketDiscount.canShareGet" placeholder="能否分享领取,【can_share_get,0:能,1:否】"/>-->
-                    </Form-item>
+                        &lt;!&ndash;<i-input v-model="mkStoreTicketDiscount.canShareGet" placeholder="能否分享领取,【can_share_get,0:能,1:否】"/>&ndash;&gt;
+                    </Form-item>-->
                     <Form-item label="每人限领数(张)" prop="limitNum">
                         <i-input v-model="mkStoreTicketDiscount.limitNum" placeholder="每人限领数(张),每个用户领券上限,如不填则默认为1" style="width: 400px"/>
                     </Form-item>
@@ -670,4 +670,4 @@
 </div>
 <script src="${rc.contextPath}/js/mk/mkstoreticketdiscount.js?_${date.systemTime}"></script>
 </body>
-</html>
+</html>

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

@@ -32,7 +32,7 @@
             <div class="row" style="border:0;margin-bottom:10px">
                 <div class="col-md-3 logodiv">
                     <!--center-block-->
-                    <img src="${rc.contextPath}/statics/img/logotest.png" class="img-rounded img-responsive" style="height: 70px;">
+                    <img src="${rc.contextPath}/statics/img/logotest2.jpg" class="img-rounded img-responsive" style="height: 70px;">
                 </div>
                 <div class="col-md-9" style="background-color: #f0f0f0;margin:0px;padding: 0px" >
                     <div v-show="showList">

+ 3 - 3
kmall-admin/src/main/webapp/WEB-INF/page/shop/offilineOrderList.html

@@ -33,7 +33,7 @@
                 <i-button @click="query">查询</i-button>
                 <i-button @click="reloadSearch">重置</i-button>
             </div>
-            #if($shiro.hasPermission("order:wxMicropayPay"))
+           <!-- TODO req_hidden_20200610 #if($shiro.hasPermission("order:wxMicropayPay"))
             <div class="buttons-group">
                 <i-button type="error" @click="showInputAuthCode">微信付款</i-button>
             </div>
@@ -42,7 +42,7 @@
             <div class="buttons-group">
                 <i-button type="error" @click="confirm">现金付款</i-button>
             </div>
-            #end
+            #end-->
         </Row>
         <table id="jqGrid"></table>
         <div id="jqGridPager"></div>
@@ -255,4 +255,4 @@
 </div>
 <script src="${rc.contextPath}/js/shop/offilineOrderList.js?_${date.systemTime}"></script>
 </body>
-</html>
+</html>

+ 12 - 8
kmall-admin/src/main/webapp/js/mk/mkstorecampminus.js

@@ -77,9 +77,10 @@ $(function () {
                             "<button class='btn btn-outline btn-primary' " +
                             "onclick='vm.updatePastById(" + row.campMinusId + ")'>结束活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.updateGoods("+row.storeId+",\""+row.goodsBizType+"\","+row.campMinusId+",\""+row.applyType+"\","+row.storeTopicId+")'>管理商品</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
+                            "onclick='vm.updateGoods("+row.storeId+",\""+row.goodsBizType+"\","+row.campMinusId+",\""+row.applyType+"\","+row.storeTopicId+")'>管理商品</button>&nbsp;&nbsp;&nbsp;&nbsp;"/* +
+                            TODO req_hidden_20200610
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
+                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>"*/;
                     }
                     if ((row.isPast == '2' && row.isValid == 0) && row.applyType != '00') {//未开始,适用类型不为全部商品
                         htmlStr = "<button class='btn btn-outline btn-primary' " +
@@ -87,9 +88,10 @@ $(function () {
                             "<button class='btn btn-outline btn-primary' " +
                             "onclick='vm.updateStartPastById(" + row.campMinusId + ")'>立即开始</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.updateGoods("+row.storeId+",\""+row.goodsBizType+"\","+row.campMinusId+",\""+row.applyType+"\","+row.storeTopicId+")'>管理商品</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
+                            "onclick='vm.updateGoods("+row.storeId+",\""+row.goodsBizType+"\","+row.campMinusId+",\""+row.applyType+"\","+row.storeTopicId+")'>管理商品</button>&nbsp;&nbsp;&nbsp;&nbsp;" /*+
+                            TODO req_hidden_20200610
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
+                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>"*/;
                     }
                     if ((row.isPast == '1' || row.isValid == 1) && row.applyType == '00') {//已结束,适用类型是00全部商品
                         htmlStr = "<button class='btn btn-outline btn-primary' " +
@@ -101,17 +103,19 @@ $(function () {
                         htmlStr = "<button class='btn btn-outline btn-primary' " +
                             "onclick='vm.updateById(" + row.campMinusId + ")'>编辑活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.updatePastById(" + row.campMinusId + ")'>结束活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
+                            "onclick='vm.updatePastById(" + row.campMinusId + ")'>结束活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" /*+
+                            TODO req_hidden_20200610
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
+                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>"*/;
                     }
                     if ((row.isPast == '2' && row.isValid == 0) && row.applyType == '00') {//未开始,适用类型是00全部商品
                         htmlStr = "<button class='btn btn-outline btn-primary' " +
                             "onclick='vm.updateById(" + row.campMinusId + ")'>编辑活动</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.updateStartPastById(" + row.campMinusId + ")'>立即开始</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
+                            "onclick='vm.updateStartPastById(" + row.campMinusId + ")'>立即开始</button>&nbsp;&nbsp;&nbsp;&nbsp;" /*+
+                            TODO req_hidden_20200610
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>";
+                            "onclick='vm.putOn(" + row.campMinusId + ")'>投放</button>"*/;
                     }
                     return htmlStr;
                 }

+ 7 - 5
kmall-admin/src/main/webapp/js/mk/mkstoreticketdiscount.js

@@ -81,19 +81,21 @@ $(function () {
                         htmlStr = "<button class='btn btn-outline btn-primary' " +
                             "onclick='vm.showInfo(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>详情</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.updateById(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>修改</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
+                            "onclick='vm.updateById(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>修改</button>&nbsp;&nbsp;&nbsp;&nbsp;"/* +
+                            TODO req_hidden_20200610
                             "<button class='btn btn-outline btn-primary' " +
                             "onclick='vm.putOn(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>投放</button>&nbsp;&nbsp;&nbsp;&nbsp;" +
 
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.getUserCoupon(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>码库</button>";
+                            "onclick='vm.getUserCoupon(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>码库</button>"*/;
                     }
                     if(row.isPast == 1 || row.isValid == 1){
                         htmlStr = "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.showInfo(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>详情</button>&nbsp;&nbsp;&nbsp;&nbsp;"+
+                            "onclick='vm.showInfo(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>详情</button>&nbsp;&nbsp;&nbsp;&nbsp;"/*+
+                               TODO req_hidden_20200610
 
                             "<button class='btn btn-outline btn-primary' " +
-                            "onclick='vm.getUserCoupon(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>码库</button>";
+                            "onclick='vm.getUserCoupon(" + row.tickDiscId + ")'><i class='fa fa-qrcode'></i>码库</button>"*/;
                     }
                 return htmlStr;
             }}
@@ -1046,4 +1048,4 @@ let vm = new Vue({
         });
 
     }
-});
+});

+ 12 - 2
kmall-admin/src/main/webapp/js/sale/sale.js

@@ -153,9 +153,15 @@ let vm = new Vue({
             console.log(1);
             $.get("../order/getIdCardInfo", function (r){
                 if(r.code === 0){
+                    if(!r.info){
+                        alert("请连接设备或设备有问题,请联系管理员!");
+                        return ;
+                    }
                     var data = JSON.parse(r.info);
                     vm.$refs.customName.value = data.rows[0].data.name;
                     vm.$refs.customIDCard.value = data.rows[0].data.id_no;
+                }else{
+                    alter("请连接设备或设备有问题,请联系管理员!");
                 }
             });
 
@@ -165,6 +171,10 @@ let vm = new Vue({
             this.userInfo.customIDCard =  this.$refs.customIDCard.value ;
             this.userInfo.customPhone = this.$refs.customPhone.value;
             var idcardReg = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
+            if(!this.userInfo.customName){
+                alert("姓名不能为空!");
+                return ;
+            }
             if(!idcardReg.test(this.userInfo.customIDCard)){
                 // alert("请输入正确的身份证号");
                 // return ;
@@ -391,8 +401,8 @@ function openWebSocket() {
         //注意ws、wss使用不同的端口。我使用自签名的证书测试,
         //无法使用wss,浏览器打开WebSocket时报错
         //ws对应http、wss对应https。
-        // webSocket = new WebSocket("ws://183.62.225.124:8080/ws/server/"+storeId);
-        webSocket = new WebSocket("ws://127.0.0.1:8080/ws/server/"+storeId);
+        webSocket = new WebSocket("ws://183.62.225.124:8080/ws/server/"+storeId);
+        // webSocket = new WebSocket("ws://127.0.0.1:8080/ws/server/"+storeId);
         if (webSocket.readyState === webSocket.CONNECTING) {
             console.log('1.连接正在打开......');
         }

+ 30 - 26
kmall-admin/src/main/webapp/js/shop/offilineOrderList.js

@@ -381,20 +381,22 @@ let vm = new Vue({
             let params = {};
             params.orderId = rowId;
 
-            $.ajax({
-                type: "POST",
-                url: '../order/offilineRefund',
-                data: params,
-                success: function (r) {
-                    if (r.code === 0) {
-                        alert('退款成功', function (index) {
-                            vm.reload();
-                        });
-                    } else {
-                        alert(r.msg);
+            confirm("确认退款吗?",function () {
+                $.ajax({
+                    type: "POST",
+                    url: '../order/offilineRefund',
+                    data: params,
+                    success: function (r) {
+                        if (r.code === 0) {
+                            alert('退款成功', function (index) {
+                                vm.reload();
+                            });
+                        } else {
+                            alert(r.msg);
+                        }
                     }
-                }
-            });
+                });
+            })
         },
         shippingBind: function (event) {
             let orderId = vm.order.id;
@@ -429,19 +431,21 @@ let vm = new Vue({
             let params = {};
             params.orderId = rowId;
 
-            $.ajax({
-                type: "POST",
-                url: '../order/cancel',
-                data: params,
-                success: function (r) {
-                    if (r.code === 0) {
-                        alert('取消成功', function (index) {
-                            vm.reload();
-                        });
-                    } else {
-                        alert(r.msg);
+            confirm("是否取消订单?",function(){
+                $.ajax({
+                    type: "POST",
+                    url: '../order/cancel',
+                    data: params,
+                    success: function (r) {
+                        if (r.code === 0) {
+                            alert('取消成功', function (index) {
+                                vm.reload();
+                            });
+                        } else {
+                            alert(r.msg);
+                        }
                     }
-                }
+                });
             });
         }
     },
@@ -599,4 +603,4 @@ let vm = new Vue({
     }
     var removePrintArea = function (id) {
         $("iframe#" + id).remove();
-    };
+    };

BIN
kmall-admin/src/main/webapp/statics/img/logotest2.png


+ 0 - 0
kmall-admin/src/main/webapp/statics/img/logotest2.jpg → kmall-admin/src/main/webapp/statics/img/logotest3.jpg