vip日志表添加price字段,保存初始付款金额
This commit is contained in:
@@ -29,6 +29,7 @@ public class UserVipLog implements Serializable {
|
|||||||
private Integer adminId;
|
private Integer adminId;
|
||||||
private Date startTime;
|
private Date startTime;
|
||||||
private Date endTime;
|
private Date endTime;
|
||||||
|
private BigDecimal price;
|
||||||
private BigDecimal fee;
|
private BigDecimal fee;
|
||||||
private BigDecimal dayAmount;
|
private BigDecimal dayAmount;
|
||||||
private String payType;
|
private String payType;
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ public class UserVipLogServiceImpl extends ServiceImpl<UserVipLogDao, UserVipLog
|
|||||||
userVipLog.setOrderSn(orderSn);
|
userVipLog.setOrderSn(orderSn);
|
||||||
userVipLog.setStartTime(startTime);
|
userVipLog.setStartTime(startTime);
|
||||||
userVipLog.setEndTime(endTime);
|
userVipLog.setEndTime(endTime);
|
||||||
|
userVipLog.setPrice(fee);
|
||||||
userVipLog.setFee(fee);
|
userVipLog.setFee(fee);
|
||||||
userVipLog.setJf(jf);
|
userVipLog.setJf(jf);
|
||||||
userVipLog.setPayType(payType);
|
userVipLog.setPayType(payType);
|
||||||
@@ -51,6 +52,7 @@ public class UserVipLogServiceImpl extends ServiceImpl<UserVipLogDao, UserVipLog
|
|||||||
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
||||||
userVipLog.setStartTime(userVip.getStartTime());
|
userVipLog.setStartTime(userVip.getStartTime());
|
||||||
userVipLog.setEndTime(userVip.getEndTime());
|
userVipLog.setEndTime(userVip.getEndTime());
|
||||||
|
userVipLog.setPrice(new BigDecimal(params.get("fee").toString()));
|
||||||
userVipLog.setFee(new BigDecimal(params.get("fee").toString()));
|
userVipLog.setFee(new BigDecimal(params.get("fee").toString()));
|
||||||
userVipLog.setJf(new BigDecimal(StringUtils.isEmpty(params.get("jf").toString()) ? "0" : params.get("jf").toString()));
|
userVipLog.setJf(new BigDecimal(StringUtils.isEmpty(params.get("jf").toString()) ? "0" : params.get("jf").toString()));
|
||||||
userVipLog.setPayType(params.get("payType").toString());
|
userVipLog.setPayType(params.get("payType").toString());
|
||||||
|
|||||||
@@ -281,15 +281,16 @@ public class StatisticsController {
|
|||||||
titleRow.createCell(6).setCellValue("订单号");
|
titleRow.createCell(6).setCellValue("订单号");
|
||||||
titleRow.createCell(7).setCellValue("支付方式");
|
titleRow.createCell(7).setCellValue("支付方式");
|
||||||
titleRow.createCell(8).setCellValue("备注");
|
titleRow.createCell(8).setCellValue("备注");
|
||||||
titleRow.createCell(9).setCellValue("金额");
|
titleRow.createCell(9).setCellValue("缴费金额");
|
||||||
titleRow.createCell(10).setCellValue("总天数");
|
titleRow.createCell(10).setCellValue("摊销计算金额");
|
||||||
titleRow.createCell(11).setCellValue("每日摊销");
|
titleRow.createCell(11).setCellValue("总天数");
|
||||||
titleRow.createCell(12).setCellValue("已摊销天数");
|
titleRow.createCell(12).setCellValue("每日摊销");
|
||||||
titleRow.createCell(13).setCellValue("当月摊销天数");
|
titleRow.createCell(13).setCellValue("已摊销天数");
|
||||||
titleRow.createCell(14).setCellValue("未摊销天数");
|
titleRow.createCell(14).setCellValue("当月摊销天数");
|
||||||
titleRow.createCell(15).setCellValue("已摊销金额");
|
titleRow.createCell(15).setCellValue("未摊销天数");
|
||||||
titleRow.createCell(16).setCellValue("当月摊销金额");
|
titleRow.createCell(16).setCellValue("已摊销金额");
|
||||||
titleRow.createCell(17).setCellValue("剩余摊销金额");
|
titleRow.createCell(17).setCellValue("当月摊销金额");
|
||||||
|
titleRow.createCell(18).setCellValue("剩余摊销金额");
|
||||||
//序号,默认为1
|
//序号,默认为1
|
||||||
int cell = 1;
|
int cell = 1;
|
||||||
//遍历
|
//遍历
|
||||||
@@ -304,15 +305,16 @@ public class StatisticsController {
|
|||||||
row.createCell(6).setCellValue(map.get("orderSn").toString());
|
row.createCell(6).setCellValue(map.get("orderSn").toString());
|
||||||
row.createCell(7).setCellValue(map.get("payType").toString());
|
row.createCell(7).setCellValue(map.get("payType").toString());
|
||||||
row.createCell(8).setCellValue(map.get("remark").toString());
|
row.createCell(8).setCellValue(map.get("remark").toString());
|
||||||
row.createCell(9).setCellValue(map.get("fee").toString());
|
row.createCell(9).setCellValue(map.get("price").toString());
|
||||||
row.createCell(10).setCellValue(map.get("totalDays").toString());
|
row.createCell(10).setCellValue(map.get("fee").toString());
|
||||||
row.createCell(11).setCellValue(map.get("dayAmount").toString());
|
row.createCell(11).setCellValue(map.get("totalDays").toString());
|
||||||
row.createCell(12).setCellValue(map.get("alreadyDays").toString());
|
row.createCell(12).setCellValue(map.get("dayAmount").toString());
|
||||||
row.createCell(13).setCellValue(map.get("currentDays").toString());
|
row.createCell(13).setCellValue(map.get("alreadyDays").toString());
|
||||||
row.createCell(14).setCellValue(map.get("notyetDays").toString());
|
row.createCell(14).setCellValue(map.get("currentDays").toString());
|
||||||
row.createCell(15).setCellValue(map.get("alreadyTanxiao").toString());
|
row.createCell(15).setCellValue(map.get("notyetDays").toString());
|
||||||
row.createCell(16).setCellValue(map.get("currentTanxiao").toString());
|
row.createCell(16).setCellValue(map.get("alreadyTanxiao").toString());
|
||||||
row.createCell(17).setCellValue(map.get("notyetTanxiao").toString());
|
row.createCell(17).setCellValue(map.get("currentTanxiao").toString());
|
||||||
|
row.createCell(18).setCellValue(map.get("notyetTanxiao").toString());
|
||||||
//序号自增
|
//序号自增
|
||||||
cell++;
|
cell++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,6 +218,7 @@ public class UserVipController {
|
|||||||
userVipLog.setEndTime(DateUtils.stringToDate(params.get("endTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
userVipLog.setEndTime(DateUtils.stringToDate(params.get("endTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
BigDecimal fee = new BigDecimal(params.get("fee").toString());
|
BigDecimal fee = new BigDecimal(params.get("fee").toString());
|
||||||
BigDecimal jf = new BigDecimal(params.get("jf").toString());
|
BigDecimal jf = new BigDecimal(params.get("jf").toString());
|
||||||
|
userVipLog.setPrice(fee.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
||||||
userVipLog.setFee(fee.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
userVipLog.setFee(fee.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
||||||
userVipLog.setJf(jf.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
userVipLog.setJf(jf.divide(new BigDecimal(userVips.size()),2, BigDecimal.ROUND_HALF_UP));
|
||||||
userVipLog.setPayType(params.get("payType").toString());
|
userVipLog.setPayType(params.get("payType").toString());
|
||||||
@@ -239,6 +240,7 @@ public class UserVipController {
|
|||||||
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
userVipLog.setAdminId(Integer.parseInt(params.get("adminId").toString()));
|
||||||
userVipLog.setStartTime(DateUtils.stringToDate(params.get("startTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
userVipLog.setStartTime(DateUtils.stringToDate(params.get("startTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
userVipLog.setEndTime(DateUtils.stringToDate(params.get("endTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
userVipLog.setEndTime(DateUtils.stringToDate(params.get("endTime").toString(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
userVipLog.setPrice(new BigDecimal(params.get("fee").toString()));
|
||||||
userVipLog.setFee(new BigDecimal(params.get("fee").toString()));
|
userVipLog.setFee(new BigDecimal(params.get("fee").toString()));
|
||||||
userVipLog.setJf(new BigDecimal(params.get("jf").toString()));
|
userVipLog.setJf(new BigDecimal(params.get("jf").toString()));
|
||||||
userVipLog.setPayType(params.get("payType").toString());
|
userVipLog.setPayType(params.get("payType").toString());
|
||||||
|
|||||||
@@ -4,17 +4,22 @@
|
|||||||
<mapper namespace="com.peanut.modules.common.dao.UserVipLogDao">
|
<mapper namespace="com.peanut.modules.common.dao.UserVipLogDao">
|
||||||
|
|
||||||
<select id="getUserVipLogInfo" resultType="map">
|
<select id="getUserVipLogInfo" resultType="map">
|
||||||
select t.*,dayAmount*alreadyDays alreadyTanxiao, dayAmount*currentDays currentTanxiao, fee-(dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
select t.*,
|
||||||
|
IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays) alreadyTanxiao,
|
||||||
|
dayAmount*currentDays currentTanxiao,
|
||||||
|
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
||||||
from (
|
from (
|
||||||
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
||||||
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,uvl.pay_type payType,uvl.remark,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
||||||
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
||||||
from user_vip_log uvl
|
from user_vip_log uvl
|
||||||
left join user_vip uv on uv.id = uvl.user_vip_id
|
left join user_vip uv on uv.id = uvl.user_vip_id
|
||||||
left join user u on u.id = uvl.user_id
|
left join user u on u.id = uvl.user_id
|
||||||
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0 and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7) and u.id not in (select id from user where tel in ('18812616272','13110039505','18526084267','12222222222','13333333333','14444444444','15555555555','16666666666','17777777777','18888888888','1774455','15533','165965','164964','54321','111','13662001490','15505153873','18834844847','17602219785','19999999999','12299','166933','16855','17602634511','16161616161','17171717171','112112112','21212121211','222222','666666','123123','789789','96','25252525','3434343434','123789','124789','789789','163963','5656','19966','1664455','15151515151','256366','986986','18834844846','18834844849','15611027864','18047689535','18834844848','456456456'))
|
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0
|
||||||
|
and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7)
|
||||||
|
and u.id not in (select id from user where tel in ('18812616272','13110039505','18526084267','12222222222','13333333333','14444444444','15555555555','16666666666','17777777777','18888888888','1774455','15533','165965','164964','54321','111','13662001490','15505153873','18834844847','17602219785','19999999999','12299','166933','16855','17602634511','16161616161','17171717171','112112112','21212121211','222222','666666','123123','789789','96','25252525','3434343434','123789','124789','789789','163963','5656','19966','1664455','15151515151','256366','986986','18834844846','18834844849','15611027864','18047689535','18834844848','456456456'))
|
||||||
order by uvl.end_time asc
|
order by uvl.end_time asc
|
||||||
) t order by currentDays desc
|
) t order by currentDays desc
|
||||||
</select>
|
</select>
|
||||||
@@ -22,13 +27,17 @@
|
|||||||
<select id="getUserVipLogInfoTotal" resultType="map">
|
<select id="getUserVipLogInfoTotal" resultType="map">
|
||||||
select SUM(countFee) fee,SUM(alreadyTanxiao) alreadyTanxiao,SUM(currentTanxiao) currentTanxiao,SUM(notyetTanxiao) notyetTanxiao
|
select SUM(countFee) fee,SUM(alreadyTanxiao) alreadyTanxiao,SUM(currentTanxiao) currentTanxiao,SUM(notyetTanxiao) notyetTanxiao
|
||||||
from (
|
from (
|
||||||
select t.*,IF(payTime is NULL,IF(DATE_FORMAT(startTime, '%Y-%m') = SUBSTR(#{date},1,7),fee,0),IF(DATE_FORMAT(payTime, '%Y-%m') = SUBSTR(#{date},1,7),fee,0)) countFee,dayAmount*alreadyDays alreadyTanxiao, dayAmount*currentDays currentTanxiao, fee-(dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
select t.*,
|
||||||
|
IF(payTime is NULL,IF(DATE_FORMAT(startTime, '%Y-%m') = SUBSTR(#{date},1,7),fee,0),IF(DATE_FORMAT(payTime, '%Y-%m') = SUBSTR(#{date},1,7),fee,0)) countFee,
|
||||||
|
IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays) alreadyTanxiao,
|
||||||
|
dayAmount*currentDays currentTanxiao,
|
||||||
|
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
||||||
from (
|
from (
|
||||||
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
||||||
uvl.start_time startTime,uvl.end_time endTime,uvl.order_sn orderSn,uvl.pay_type payType,uvl.pay_time payTime,uvl.remark,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
||||||
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),DAY(#{date}),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
||||||
from user_vip_log uvl
|
from user_vip_log uvl
|
||||||
left join user_vip uv on uv.id = uvl.user_vip_id
|
left join user_vip uv on uv.id = uvl.user_vip_id
|
||||||
left join user u on u.id = uvl.user_id
|
left join user u on u.id = uvl.user_id
|
||||||
|
|||||||
Reference in New Issue
Block a user