Browse Source

傻逼客户,你祖宗十八代没了,日你妈,你全家被挖出来鞭尸,狗日的~

覃浩 2 years ago
parent
commit
75c0ee9daa

+ 9 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomBookingOrdersController.java

@@ -381,6 +381,15 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 	 public Result<Boolean> setLivingOrderFee(@RequestBody List<BusOrderFee> orders, String livingOrderId,String hotelId){
 	 	return Result.OK(service.setLivingOrderFee(orders,livingOrderId,hotelId));
 	 }
+	 /**
+	  * 退你麻痹单
+	  * @return
+	  */
+	 @ApiOperation(value="退你麻痹单", notes="退你麻痹单")
+	 @RequestMapping(value = "/退你麻痹单狗东西",method = RequestMethod.POST)
+	 public Result<Boolean> 退你麻痹单(@RequestBody List<String> feeIds){
+		 return Result.OK(service.退你妈的单(feeIds));
+	 }
 
 	 /**
 	  * 添加联房

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOrderFee.java

@@ -137,7 +137,12 @@ public class BusOrderFee implements Serializable {
     @ApiModelProperty(value = "协议单位ID")
     private String agreementUnitId;
 
+    private String returnFeeId;
+    private Boolean returnItem;
     @ApiModelProperty(value = "每天价格")
     @TableField(exist = false)
     private List<BusLivingLayoutDayPrice> prices;
+    @ApiModelProperty(value = "关联商品信息")
+    @TableField(exist = false)
+    private List<BusOrderFeeGoods> feeGoods;
 }

+ 46 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOrderFeeGoods.java

@@ -0,0 +1,46 @@
+package org.jeecg.modules.business.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@TableName("bus_order_fee_goods")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_order_fee_goods对象", description="bus_order_fee_goods")
+public class BusOrderFeeGoods implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * key
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "key")
+    private String id;
+    @ApiModelProperty(value = "入住订单id")
+    private String livingOrderId;
+    @ApiModelProperty(value = "酒店ID")
+    private String hotelId;
+    @ApiModelProperty(value = "商品Id")
+    private String goodsId;
+    @ApiModelProperty(value = "账单Id")
+    private String orderFeeId;
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+    @ApiModelProperty(value = "商品数量")
+    private Integer num;
+    @ApiModelProperty(value = "商品价格")
+    private BigDecimal price;
+
+
+}

+ 5 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/enums/FeeSubjectType.java

@@ -15,7 +15,11 @@ public enum FeeSubjectType {
     SHANG_PIN(6,"商品"),
     DIAN_PIN(7,"点餐"),
     YE_SHEN_FANG_FEI(8,"夜审房费"),
-    HUI_YI_SHI(9,"会议室");
+    HUI_YI_SHI(9,"会议室"),
+    SHOU_GONG_FANG_FEI(10,"手工房费"),
+    SHUI_DIAN_MEI(11,"水电煤抄表"),
+    PEI_CHANG(12,"赔偿费"),
+    TUI_DAN_JIE_ZHANG_SHOU_KUAN(13,"退单结账");
 
     Integer key;
 

+ 9 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOrderFeeGoodsMapper.java

@@ -0,0 +1,9 @@
+package org.jeecg.modules.business.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.business.entity.BusOrderFeeGoods;
+
+public interface BusOrderFeeGoodsMapper  extends BaseMapper<BusOrderFeeGoods> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOrderFeeGoodsMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.business.mapper.BusOrderFeeGoodsMapper">
+
+</mapper>

+ 7 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusOrderFeeGoodsService.java

@@ -0,0 +1,7 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusOrderFeeGoods;
+
+public interface IBusOrderFeeGoodsService extends IService<BusOrderFeeGoods> {
+}

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomBookingOrdersService.java

@@ -84,4 +84,5 @@ public interface IBusRoomBookingOrdersService extends IService<BusRoomBookingOrd
      */
      Page<HashMap<String, Object>> ruZhuHistoryList(Page<HashMap<String, Object>> page, String hotelId, String phone);
      String delBusData(String hotelId);
+     Boolean 退你妈的单(List<String> feeId);
 }

+ 11 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusOrderFeeGoodsServiceImpl.java

@@ -0,0 +1,11 @@
+package org.jeecg.modules.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.business.entity.BusOrderFeeGoods;
+import org.jeecg.modules.business.mapper.BusOrderFeeGoodsMapper;
+import org.jeecg.modules.business.service.IBusOrderFeeGoodsService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class BusOrderFeeGoodsServiceImpl extends ServiceImpl<BusOrderFeeGoodsMapper, BusOrderFeeGoods> implements IBusOrderFeeGoodsService {
+}

+ 44 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomBookingOrdersServiceImpl.java

@@ -129,6 +129,9 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
     @Resource
     private CesHourRoomRuleServiceImpl hourRoomRuleService;
 
+    @Resource
+    private IBusOrderFeeGoodsService orderFeeGoodsService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public String bookingOrderSave(BookingOrderSaveDto item, Boolean isTeam,Boolean isLiving,String hotelId) {
@@ -1494,6 +1497,10 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
             roomFee.setCreateTime(new Date());
             roomFee.setDayTime(new Date());
             roomFee.setHotelId(hotelId);
+            if(roomFee.getSubjectType().equals(FeeSubjectType.SHANG_PIN.getKey()) && roomFee.getFeeGoods() != null && roomFee.getFeeGoods().size() > 0) {
+                // 判断是否相等 搞尼玛~傻逼
+                orderFeeGoodsService.saveBatch(roomFee.getFeeGoods());
+            }
             feeService.save(roomFee);
         });
 
@@ -2512,4 +2519,41 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
         return true;
     }
 
+    @Override
+    public Boolean 退你妈的单(List<String> feeIds) {
+        if(feeIds == null || feeIds.size() == 0) throw new JeecgBootException("参数错误");
+        feeIds.forEach(s->{
+            狗麻批退单个(s);
+        });
+        return  true;
+
+    }
+
+    private  void  狗麻批退单个(String feeId){
+        BusOrderFee fee = feeService.getById(feeId);
+        if(fee==null) throw new JeecgBootException("费项不存在");
+        if(fee.getSubjectType().equals(FeeSubjectType.MEI_RI_FANG_FEI.getKey()) || fee.getSubjectType().equals(FeeSubjectType.YA_JIN.getKey()) || fee.getSubjectType().equals(FeeSubjectType.YE_SHEN_FANG_FEI.getKey())){
+            throw new JeecgBootException("房费和押金不能进行退单操作");
+        }
+
+        if(fee.getPreferentialStatus().equals(2)) {
+            BusOrderFee settleFee = new BusOrderFee();
+            settleFee.setPreferentialStatus(2);
+            settleFee.setReturnFeeId(fee.getId());
+            settleFee.setMoney(fee.getMoney().multiply(new BigDecimal(-1)));
+            settleFee.setFeeType(2); // 收款
+            settleFee.setCustorerOrderRemark("退单结账");
+            settleFee.setAllowCouponscash(false);
+            settleFee.setSubjectType(FeeSubjectType.TUI_DAN_JIE_ZHANG_SHOU_KUAN.getKey());
+            settleFee.setHotelId(fee.getHotelId());
+            settleFee.setCreateTime(new Date());
+            settleFee.setPayTime(new Date());
+            settleFee.setPreferentialStatus(2);
+            feeService.save(settleFee);
+        }
+        fee.setReturnItem(true);
+        fee.setPreferentialStatus(2);
+        feeService.updateById(fee);
+    }
+
 }