Browse Source

免房券改为联表查询

gqx 2 years ago
parent
commit
2439668c3f

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

@@ -18,6 +18,7 @@ import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.business.entity.BusHotel;
 import org.jeecg.modules.business.entity.BusHotel;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import org.jeecg.modules.business.enums.CouponsEventEnum;
 import org.jeecg.modules.business.enums.CouponsEventEnum;
+import org.jeecg.modules.business.mapper.BusMarketCouponsMapper;
 import org.jeecg.modules.business.service.IBusHotelService;
 import org.jeecg.modules.business.service.IBusHotelService;
 import org.jeecg.modules.business.service.IBusMarketCouponsService;
 import org.jeecg.modules.business.service.IBusMarketCouponsService;
 
 
@@ -26,6 +27,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 
 
+import org.jeecg.modules.system.model.AnnouncementSendModel;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -56,6 +58,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 public class BusMarketCouponsController extends JeecgController<BusMarketCoupons, IBusMarketCouponsService> {
 public class BusMarketCouponsController extends JeecgController<BusMarketCoupons, IBusMarketCouponsService> {
 	@Autowired
 	@Autowired
 	private IBusMarketCouponsService busMarketCouponsService;
 	private IBusMarketCouponsService busMarketCouponsService;
+
 	 @Autowired
 	 @Autowired
 	 private IBusHotelService busHotelService;
 	 private IBusHotelService busHotelService;
 	/**
 	/**
@@ -76,7 +79,8 @@ public class BusMarketCouponsController extends JeecgController<BusMarketCoupons
 								   HttpServletRequest req) {
 								   HttpServletRequest req) {
 		QueryWrapper<BusMarketCoupons> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCoupons, req.getParameterMap());
 		QueryWrapper<BusMarketCoupons> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCoupons, req.getParameterMap());
 		Page<BusMarketCoupons> page = new Page<BusMarketCoupons>(pageNo, pageSize);
 		Page<BusMarketCoupons> page = new Page<BusMarketCoupons>(pageNo, pageSize);
-		IPage<BusMarketCoupons> pageList = busMarketCouponsService.page(page, queryWrapper);
+//		IPage<BusMarketCoupons> pageList = busMarketCouponsService.page(page, queryWrapper);
+		IPage<BusMarketCoupons> pageList = busMarketCouponsService.pageList(page, busMarketCoupons);
 		if (pageList.getSize() > 0) {
 		if (pageList.getSize() > 0) {
 			pageList.getRecords().forEach(item -> {
 			pageList.getRecords().forEach(item -> {
 				BusHotel hotle = busHotelService.getById(item.getHotelId());
 				BusHotel hotle = busHotelService.getById(item.getHotelId());

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

@@ -85,4 +85,18 @@ public class BusMarketCoupons implements Serializable {
 
 
     @TableField(exist = false)
     @TableField(exist = false)
     private String hotelName;
     private String hotelName;
+
+    @TableField(exist = false)
+    private Integer count;
+
+    @TableField(exist = false)
+    private Integer notClaimed;
+
+    @TableField(exist = false)
+    private Integer received;
+
+    @TableField(exist = false)
+    private Integer used;
+    @TableField(exist = false)
+    private Integer voided;
 }
 }

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

@@ -2,9 +2,11 @@ package org.jeecg.modules.business.mapper;
 
 
 import java.util.List;
 import java.util.List;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.system.model.AnnouncementSendModel;
 
 
 /**
 /**
  * @Description: bus_market_coupons_info
  * @Description: bus_market_coupons_info
@@ -14,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
  */
 public interface BusMarketCouponsMapper extends BaseMapper<BusMarketCoupons> {
 public interface BusMarketCouponsMapper extends BaseMapper<BusMarketCoupons> {
 
 
+    public List<BusMarketCoupons> getCouponsList(Page<BusMarketCoupons> page,@Param("busMarketCoupons") BusMarketCoupons model);
+
 }
 }

+ 26 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusMarketCouponsMapper.xml

@@ -1,5 +1,30 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?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">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.jeecg.modules.demo.business.mapper.BusMarketCouponsMapper">
+<mapper namespace="org.jeecg.modules.business.mapper.BusMarketCouponsMapper">
 
 
+    <select id="getCouponsList" parameterType="Object" resultType="org.jeecg.modules.business.entity.BusMarketCoupons">
+        select c.*,ifnull(u.count,0) as count,ifnull(u.not_claimed,0) as not_claimed,ifnull(u.received,0) as received,ifnull(u.used,0) as used,ifnull(u.voided,0) as voided from bus_market_coupons_info c
+        left join (select coupons_id,count(0) as count
+        ,SUM(CASE WHEN `status`  = 0 then 1 else 0 end) as not_claimed
+        ,SUM(CASE WHEN `status`  = 1 then 1 else 0 end) as received
+        ,SUM(CASE WHEN `status`  = 2 then 1 else 0 end) as used
+        ,SUM(CASE WHEN `status`  = 3 then 1 else 0 end) as voided
+        from bus_market_coupons_used  group by coupons_id) u
+        on u.coupons_id=c.id
+        where c.hotel_id = #{busMarketCoupons.hotelId}
+        <if test="busMarketCoupons!= null">
+            <if test="busMarketCoupons.name !=null and busMarketCoupons.name != ''">
+                and c.name like CONCAT(CONCAT('%', #{busMarketCoupons.name}), '%')
+            </if>
+
+            <if test="busMarketCoupons.startTime !=null and busMarketCoupons.startTime != ''">
+                and c.start_time &gt;= #{busMarketCoupons.startTime}
+            </if>
+
+            <if test="busMarketCoupons.endTime !=null and busMarketCoupons.endTime != ''">
+                and c.end_time &lt;= #{busMarketCoupons.endTime}
+            </if>
+        </if>
+        ORDER BY c.id desc
+    </select>
 </mapper>
 </mapper>

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

@@ -1,5 +1,7 @@
 package org.jeecg.modules.business.service;
 package org.jeecg.modules.business.service;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -19,4 +21,6 @@ public interface IBusMarketCouponsService extends IService<BusMarketCoupons> {
      * @return
      * @return
      */
      */
     public Result removeCouponsAndCouponsUsedById(String id);
     public Result removeCouponsAndCouponsUsedById(String id);
+
+    public Page<BusMarketCoupons> pageList(Page<BusMarketCoupons> page, @Param("busMarketCoupons") BusMarketCoupons model);
 }
 }

+ 8 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMarketCouponsServiceImpl.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.business.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.business.dto.CouponsGenerateDto;
 import org.jeecg.modules.business.dto.CouponsGenerateDto;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
@@ -11,6 +12,7 @@ import org.jeecg.modules.business.mapper.BusMarketCouponsUsedMapper;
 import org.jeecg.modules.business.service.IBusMarketCouponsService;
 import org.jeecg.modules.business.service.IBusMarketCouponsService;
 import org.jeecg.modules.system.entity.SysDepartRolePermission;
 import org.jeecg.modules.system.entity.SysDepartRolePermission;
 import org.jeecg.modules.system.entity.SysDepartRoleUser;
 import org.jeecg.modules.system.entity.SysDepartRoleUser;
+import org.jeecg.modules.system.model.AnnouncementSendModel;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -29,7 +31,8 @@ public class BusMarketCouponsServiceImpl extends ServiceImpl<BusMarketCouponsMap
 
 
     @Resource
     @Resource
     private BusMarketCouponsUsedServiceImpl busMarketCouponsUsedService;
     private BusMarketCouponsUsedServiceImpl busMarketCouponsUsedService;
-
+    @Resource
+    private  BusMarketCouponsMapper busMarketCouponsMapper;
 
 
     /**
     /**
      * 删除活动及其优惠券记录
      * 删除活动及其优惠券记录
@@ -44,4 +47,8 @@ public class BusMarketCouponsServiceImpl extends ServiceImpl<BusMarketCouponsMap
         return Result.ok("删除成功!");
         return Result.ok("删除成功!");
     }
     }
 
 
+
+    public Page<BusMarketCoupons> pageList(Page<BusMarketCoupons> page,BusMarketCoupons model) {
+        return page.setRecords(busMarketCouponsMapper.getCouponsList(page, model));
+    }
 }
 }