From 767ff70eb501aa6d870c2876a434670f38bd5ca9 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 18 Dec 2020 17:45:43 +0800 Subject: [PATCH] add vip consume java code --- zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 76 +++++++++++++++++++++++++ zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java | 4 + zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java | 8 ++ zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java | 4 + zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java | 10 +++ zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java | 35 +++++++++++ 6 files changed, 136 insertions(+), 1 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java index cb92933..957fea2 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/AchieveNew.java @@ -229,6 +229,8 @@ */ private String meiliao; + private Integer arriveCnt; + @@ -252,6 +254,14 @@ @Extend private Double achieveMoney; + public Integer getArriveCnt() { + return arriveCnt; + } + + public void setArriveCnt(Integer arriveCnt) { + this.arriveCnt = arriveCnt; + } + public String getVipQueryKey() { return vipQueryKey; } diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java index 01f07c0..f39cd28 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/AchieveNewDao.java @@ -52,6 +52,8 @@ public List<AchieveNew> findSumDailyInfoNew(@Param("record") AchieveNew achieveNew, @Param("pageVo") PaginationVO pageVo); - + List<AchieveNew> selectVipConsumeStatisticsList(@Param("record") AchieveNew achieveNew, @Param("pageVo") PaginationVO pageVo); + + int selectVipConsumeStatisticsTotal(@Param("record") AchieveNew achieveNew); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java index 09757e9..0b2ec73 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/AchieveNewService.java @@ -8,6 +8,7 @@ import com.matrix.core.pojo.PaginationVO; import com.matrix.system.hive.plugin.util.BaseServices; +import org.apache.ibatis.annotations.Param; /** * @@ -108,5 +109,8 @@ public void modifyAchieveTime(AchieveNew achieveNew); + List<AchieveNew> findVipConsumeStatisticsList(AchieveNew achieveNew, PaginationVO pageVo); + + int findVipConsumeStatisticsTotal(AchieveNew achieveNew); } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java index 7211bb8..df7c66e 100644 --- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java +++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java @@ -308,5 +308,13 @@ achieveNewDao.updateAchieveTime(achieveNew); } + @Override + public List<AchieveNew> findVipConsumeStatisticsList(AchieveNew achieveNew, PaginationVO pageVo) { + return achieveNewDao.selectVipConsumeStatisticsList(achieveNew, pageVo); + } + @Override + public int findVipConsumeStatisticsTotal(AchieveNew achieveNew) { + return achieveNewDao.selectVipConsumeStatisticsTotal(achieveNew); + } } \ No newline at end of file diff --git a/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java b/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java new file mode 100644 index 0000000..26641eb --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/hive/statistics/VipStatisticsAction.java @@ -0,0 +1,35 @@ +package com.matrix.system.hive.statistics; + +import com.matrix.core.pojo.AjaxResult; +import com.matrix.core.pojo.PaginationVO; +import com.matrix.system.hive.bean.AchieveNew; +import com.matrix.system.hive.service.AchieveNewService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.List; + +/** + * 客户数据统计 + * + * @author wzy + * @date 2020-12-18 + **/ +@Controller +@RequestMapping(value = "/admin/vipStatistics") +public class VipStatisticsAction { + + @Autowired + private AchieveNewService achieveNewService; + + @RequestMapping(value = "/vipConsumeStatistics") + @ResponseBody + public AjaxResult vipConsumeStatistics(AchieveNew achieveNew, PaginationVO pageVo) { + List<AchieveNew> list = achieveNewService.findVipConsumeStatisticsList(achieveNew, pageVo); + int total = achieveNewService.findVipConsumeStatisticsTotal(achieveNew); + return AjaxResult.buildSuccessInstance(list, total); + } +} diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml index e0e4c58..7340d74 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml @@ -48,6 +48,8 @@ <result property="meiliao" column="meiliao" /> <result property="zkTotal" column="zk_total" /> + <result property="arriveCnt" column="arrive_cnt" /> + </resultMap> @@ -840,4 +842,78 @@ where 1=1 <include refid="where_sql"></include> </select> + + + <select id="selectVipConsumeStatisticsList" resultMap="AchieveNewMap"> + select + a.VIP_NAME, + d.cnt, + b.buyConsume, + b.freeConsume, + b.hisConsume + from sys_vip_info a + inner join ( + select vip_id, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id + ) b on a.ID = b.vip_id + inner join ( + select vip_id, count(1) cnt from ( + select vip_id, date_format(datatime, '%Y-%m-%d') + from achieve_new + group by date_format(datatime, '%Y-%m-%d'), vip_id + ) c group by vip_id + ) d on a.ID=d.vip_id + where 1=1 + <if test="record.vipName != null and record.vipName !=''"> + and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName}) + </if> + <if test="record.shopId != null"> + and a.shop_id=#{shopId} + </if> + <if test="record.beginTime != null and record.endTime!=null"> + and date_format(datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime} + </if> + + <if test="record.meiliao != null and record.meiliao!=''"> + and FIND_IN_SET(#{record.meiliao}, a.BEATUY_ID) + </if> + <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> + <if test="pageVo.sort !=null and pageVo.order !=null"> + order by + ${pageVo.sort} ${pageVo.order} + </if> + <if test="pageVo.offset >=0 and pageVo.limit >0"> + limit + #{pageVo.offset},#{pageVo.limit} + </if> + </if> + </select> + + <select id="selectVipConsumeStatisticsTotal" resultMap="AchieveNewMap"> + select count(1) + from sys_vip_info a + inner join ( + select vip_id, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id + ) b on a.ID = b.vip_id + inner join ( + select vip_id, count(1) cnt from ( + select vip_id, date_format(datatime, '%Y-%m-%d') + from achieve_new + group by date_format(datatime, '%Y-%m-%d'), vip_id + ) c group by vip_id + ) d on a.ID=d.vip_id + where 1=1 + <if test="record.vipName != null and record.vipName !=''"> + and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName}) + </if> + <if test="record.shopId != null"> + and a.shop_id=#{shopId} + </if> + <if test="record.beginTime != null and record.endTime!=null"> + and date_format(datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime} + </if> + + <if test="record.meiliao != null and record.meiliao!=''"> + and FIND_IN_SET(#{record.meiliao}, a.BEATUY_ID) + </if> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1