Helius
2021-03-11 a72aa4bb793ec765892406c842039a71b33215b1
modify
5 files modified
65 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java 15 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java 36 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml 6 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/underlineOrder.html 6 ●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -1,5 +1,6 @@
package com.matrix.system.hive.action;
import cn.hutool.core.collection.CollUtil;
import com.matrix.component.rabbitmq.RabiitMqTemplate;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
@@ -95,10 +96,8 @@
    RabiitMqTemplate rabiitMqTemplate;
    @Autowired
    private SysProjUseDao sysProjUseDao;
    private SysProjServicesDao sysProjServicesDao;
    @Autowired
    private SysProjServicesService projServicesService;
    @Value("${evn}")
    private String evn;
@@ -479,8 +478,14 @@
            return new AjaxResult(AjaxResult.STATUS_FAIL, "订单不存在!");
        }
//        SysProjServices sysProjServices = new SysProjServices();
//        projServicesService.findByModel()
        List<SysOrderItem> items = orderItemDao.selectByOrderId(id);
        for (SysOrderItem item : items) {
            List<SysProjServices> sysProjServices = sysProjServicesDao.selectProjServicesByOrderItemId(item.getId());
            if (CollUtil.isNotEmpty(sysProjServices)) {
                return new AjaxResult(AjaxResult.STATUS_FAIL, "订单存在进行中的服务单无法取消/删除");
            }
        }
        orderService.cancelOrder(id);
//        if (del > 0) {
//            orderService.removeById(id);
zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjServicesDao.java
@@ -68,4 +68,6 @@
     * @return
     */
    int updateNoticeTimes(@Param("list")List<Long> noticedIds);
    List<SysProjServices> selectProjServicesByOrderItemId(@Param("itemId") Long itemId);
}
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -278,23 +278,22 @@
                throw new GlobleException("订单已取消");
            }
            List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(id);
            List<SysOrderFlow> flows = sysOrderFlowDao.selectByOrderId(id);
            // 非现金收款退回扣卡余额
            for (SysOrderFlow flow : flows) {
                if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) {
            for (SysOrderItem orderItem : sysOrderItems) {
                //非现金收款退回扣卡余额
                if (StringUtils.isNotBlank(orderItem.getPayMethodDetail())) {
                    MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(orderItem.getPayMethodDetail()));
                    MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId());
                    MoneyCardUseFlow moneyCardUseFlow = new MoneyCardUseFlow();
                    if (moneyCardUse != null) {
                        // 根据订单明细判断是赠送金额购买还是本金购买
                        moneyCardUseFlow.setTotal(orderItem.getCardPay());
                        moneyCardUse.setRealMoney(MoneyUtil.add(moneyCardUse.getRealMoney(), orderItem.getCardPay()));
                        //TODO 目前无法退回到具体的赠送金额还是本金
                        moneyCardUseFlow.setTotal(flow.getAmount().doubleValue());
                        if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) {
                            moneyCardUse.setGiftMoney(MoneyUtil.add(moneyCardUse.getGiftMoney(), flow.getAmount().doubleValue()));
                        } else {
                            moneyCardUse.setRealMoney(MoneyUtil.add(moneyCardUse.getRealMoney(), flow.getAmount().doubleValue()));
                        }
                        if (!moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_YES_Y)) {
                            if (moneyCardUse.getLastCount() != null) {
@@ -316,29 +315,26 @@
                        moneyCardUseFlowDao.insert(moneyCardUseFlow);
                    }
                }
            }
            List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(id);
            for (SysOrderItem orderItem : sysOrderItems) {
                // 充值卡类型退款
                if (Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(orderItem.getType())) {
                    ShoppingGoods shoppingGoods = shoppingGoodsDao.selectById(orderItem.getGoodsId());
                    //删除购买的充值卡
                    moneyCardUseDao.deleteByOrderItemId(orderItem.getId());
                } else if (Dictionary.SHOPPING_GOODS_TYPE_XM.equals(orderItem.getType())
                        || Dictionary.SHOPPING_GOODS_TYPE_TC.equals(orderItem.getType())) {
                    // 项目套餐退款
                    // 删除套餐项目使用情况
                    sysProjUseDao.deleteByOrderItemId(orderItem.getId());
                } else if (Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(orderItem.getType())) {
                    // 综合卡
                    // 删除套餐项目使用情况
                    sysProjUseDao.deleteByOrderItemId(orderItem.getId());
                    // 删除充值卡
                    moneyCardUseDao.deleteByOrderItemId(orderItem.getId());
                }
            }
@@ -368,8 +364,6 @@
            // 取消订单
            order.setStatu(Dictionary.ORDER_STATU_YQX);
            return sysOrderDao.update(order);
        }
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -700,4 +700,10 @@
    </select>
    <select id="selectProjServicesByOrderItemId" resultMap="SysProjServicesMap">
        select a.* from sys_proj_services a
          inner join sys_beautician_state b on a.id=b.SERVICES_ID
          inner join sys_proj_use c on c.id=b.puse_id
        where ORDER_ITEM_ID=#{itemId} and a.STATE!='预约取消'
    </select>
</mapper>
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/underlineOrder.html
@@ -223,7 +223,11 @@
            btn: ['确认', '取消并删除', '取消'] //可以无限个按钮
        }, function(index, layero){
            $.post(basePath+'/admin/order/cancelOrder?id='+id+'&del=0', {}, function(data){
                parent.layer.msg(data.info,{icon: 1});
                if (data.status == '200') {
                    parent.layer.msg(data.info,{icon: 1});
                } else {
                    parent.layer.msg(data.info,{icon: 2});
                }
                layer.closeAll();
                myGrid.serchData();
            });