Commit 3b4cc1d5 authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev' into dev

parents 552a0b06 cfe4edaa
package com.xxfc.platform.order.Utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class OrderDateUtils {
public static String getFirstDayOfMonth(int year, int month) {
String monthStr = month < 10 ? "0" + month : String.valueOf(month);
String monthStr = String.valueOf(month);
return year + "-" + monthStr + "-" + "01";
}
......@@ -75,4 +78,34 @@ public class OrderDateUtils {
return cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" +
cal.get(Calendar.DAY_OF_MONTH);
}
public static String timeStampConversionToString(Long time) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(time);
return simpleDateFormat.format(date);
}
public static Long ConvertingStringsToTimestamps(String time) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
return simpleDateFormat.parse(time).getTime();
}
public static Integer getTodayOfWeek() {
Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.setTimeInMillis(System.currentTimeMillis());
return cal.get(Calendar.WEEK_OF_YEAR);
}
public static Integer getTodayOfMonth() {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
return cal.get(Calendar.MONTH)+1;
}
public static Integer getThisYear() {
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
return cal.get(Calendar.YEAR);
}
}
......@@ -21,7 +21,7 @@ public class OrderStatistics {
/**
* 历史交总金额
*/
@ApiModelProperty(value = "历史交总金额")
@ApiModelProperty(value = "历史交总金额")
private BigDecimal totalGmv;
/**
......
......@@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
......@@ -57,7 +58,7 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
setAdditionalIndemnity(vehicle.getTotalCompensation()
.add(vehicle.getTotalForfeit())
.add(vehicle.getTotalDefaultMoney())
.add(vehicle.getTotalExpenditure().subtract(vehicle.getTotalGmv().subtract(vehicle.getTotalReturnGmv())))
.add(vehicle.getTotalExpenditure().subtract(vehicle.getTotalGmv()).add(vehicle.getTotalReturnGmv()))
);
}};
orderStatistics.add(data);
......@@ -90,7 +91,8 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return result;
}
public PageResult<MembersOrderDto> getMemberOrderStatistics(List<BaseUserMemberLevel> memberLevels, OrderQuery query) {
public Object getMemberOrderStatistics(List<BaseUserMemberLevel> memberLevels, OrderQuery query) throws ParseException {
List<MembersOrder> membersOrderList = membersBiz.getMemberOrderStatistics(query);
//按每天分类
......@@ -117,16 +119,6 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
arrayList.add(mbdto);
}
} else {
if (membersOrderList.size() == 1) {
MembersOrder mb = membersOrderList.get(0);
MembersOrderDto mbdto = new MembersOrderDto();
//设置时间段
mbdto.setTimeSlot(query.getStartTime() + "-" + query.getEndTime());
TotalPaymentAndMemberName(map, mb, mbdto);
arrayList.add(mbdto);
} else {
for (int i = 0; i < membersOrderList.size(); i++) {
MembersOrder mb = membersOrderList.get(i);
String period = mb.getPeriod();
......@@ -137,35 +129,57 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
String[] periods = mb.getPeriod().split("-");
String startDay = null;
String endDay = null;
Integer time = null;
if (OrderInquiryType.WEEK.getCode().equals(query.getType())) {
startDay = OrderDateUtils.getEndDayOfWeekNo(Integer.parseInt(periods[0]), Integer.parseInt(periods[1]));
endDay = OrderDateUtils.getStartDayOfWeekNo(Integer.parseInt(periods[0]), Integer.parseInt(periods[1]));
startDay = OrderDateUtils.getStartDayOfWeekNo(Integer.parseInt(periods[0]), Integer.parseInt(periods[1]));
endDay = OrderDateUtils.getEndDayOfWeekNo(Integer.parseInt(periods[0]), Integer.parseInt(periods[1]));
//获取今天是今年的第几周
time = OrderDateUtils.getTodayOfWeek();
}
Integer thisYear =OrderDateUtils.getThisYear();
if (OrderInquiryType.MONTH.getCode().equals(query.getType())) {
startDay = OrderDateUtils.getFirstDayOfMonth(Integer.parseInt(periods[0]), Integer.parseInt(periods[1]));
endDay = OrderDateUtils.getLastDayOfMonth(Integer.parseInt(periods[0]), Integer.parseInt(periods[1]));
//获取今天是今年的第几个月
time = OrderDateUtils.getTodayOfMonth();
}
if (i == 0) {
startDay = timeStampConversionToString(query.getStartTime());
if (i == 0 && query.getStartTime() != null) {
startDay = OrderDateUtils.timeStampConversionToString(query.getStartTime());
}
//获取当前的年.周(年.月)小数
double today=Double.parseDouble(thisYear+"."+time);
if (i == (membersOrderList.size() - 1)) {
endDay = timeStampConversionToString(query.getEndTime());
//查询到的最后一条数据年.周(年.月)小数
double date = Double.parseDouble(Integer.parseInt(periods[0]) + "." + Integer.parseInt(periods[1]));
if (date == today) {
endDay = OrderDateUtils.timeStampConversionToString(System.currentTimeMillis());
} else if (date < today) {
//获取最后一条数据,周末日期
Long end = OrderDateUtils.ConvertingStringsToTimestamps(endDay);
//查询的结束日期
Long endTime = query.getEndTime();
if (endTime != null && end > endTime) {
endDay = OrderDateUtils.timeStampConversionToString(query.getEndTime());
}
}
}
if (StringUtils.isNotBlank(startDay) && StringUtils.isNotBlank(endDay)) {
mbdto.setTimeSlot(startDay + "-" + endDay);
mbdto.setTimeSlot(startDay + "~" + endDay);
} else {
mbdto.setTimeSlot("");
}
TotalPaymentAndMemberName(map, mb, mbdto);
arrayList.add(mbdto);
}
}
}
//进行分页处理
return arrayList;
return pagingProcessing(query,arrayList);
// return pagingProcessing(query, arrayList);
}
......@@ -176,22 +190,19 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return pageResult;
}
private String timeStampConversionToString(Long startTime) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(startTime);
return simpleDateFormat.format(date);
}
private void TotalPaymentAndMemberName(HashMap<Integer, String> map, MembersOrder mb, MembersOrderDto mbdto) {
BigDecimal totalPayment = mbdto.getTotalPayment();
BigDecimal totalPayment =BigDecimal.ZERO;
List<Member> members = mb.getMembers();
//设置时间段购买会员总金额和不同的会员名称
if (CollectionUtil.isNotEmpty(members)) {
mbdto.setMembers(members);
for (Member member : members) {
member.setMemberName(map.get(member.getLevel()));
totalPayment = totalPayment.add(member.getAmount());
totalPayment = totalPayment.add(member.getAmount()==null?BigDecimal.ZERO:member.getAmount());
}
}
mbdto.setTotalPayment(totalPayment);
}
}
......@@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
......@@ -132,16 +133,14 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
}
@GetMapping("/order")
@PostMapping("/order")
@ApiOperation(value = "会员统计")
public ObjectRestResponse getMemberOrderStatisticsData(@RequestBody OrderQuery query) {
public ObjectRestResponse getMemberOrderStatisticsData(@RequestBody OrderQuery query) throws ParseException {
//获取会员等级信息
List<BaseUserMemberLevel> memberLevels = userFeign.levels();
//获取会员订单统计信息
baseBiz.getMemberOrderStatistics(memberLevels,query);
return ObjectRestResponse.succ();
return ObjectRestResponse.succ( baseBiz.getMemberOrderStatistics(memberLevels,query));
}
......
......@@ -43,10 +43,10 @@
resultMap="order">
SELECT
<if test="type==2">
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%m') AS period,
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%v') AS period,
</if>
<if test="type==3">
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%v') AS period,
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%m') AS period,
</if>
date( FROM_UNIXTIME( a.crt_time / 1000 ) ) AS period,
count( a.id ) AS number,
......@@ -68,10 +68,10 @@
</if>
GROUP BY
<if test="type==2">
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%m'),
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%v'),
</if>
<if test="type==3">
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%v'),
DATE_FORMAT(date( FROM_UNIXTIME( a.crt_time / 1000 ) ),'%Y-%m'),
</if>
date( FROM_UNIXTIME( a.crt_time / 1000 ) ),
......@@ -80,8 +80,8 @@
<resultMap id="order" type="com.xxfc.platform.order.entity.MembersOrder">
<result column="period" property="period"></result>
<collection property="members" ofType="com.xxfc.platform.order.pojo.Member">
<result column="number" property="level"></result>
<result column="amount" property="level"></result>
<result column="number" property="number"></result>
<result column="amount" property="amount"></result>
<result column="level" property="level"></result>
</collection>
</resultMap>
......
......@@ -113,6 +113,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
public void publishSummitActivityById(Integer id, Integer state) {
SummitActivity summitActivity = new SummitActivity();
summitActivity.setIsPublish(state);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
summitActivity.setId(id);
mapper.updateByPrimaryKeySelective(summitActivity);
}
......@@ -121,6 +122,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity summitActivity = new SummitActivity();
summitActivity.setIsShow(state);
summitActivity.setId(id);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity);
}
......@@ -128,6 +130,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity summitActivity = new SummitActivity();
summitActivity.setIsHomePage(state);
summitActivity.setId(id);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity);
}
......@@ -135,6 +138,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity summitActivity = new SummitActivity();
summitActivity.setIsOpenReg(state);
summitActivity.setId(id);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity);
}
......@@ -142,6 +146,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity summitActivity = new SummitActivity();
summitActivity.setIsDel(1);
summitActivity.setId(id);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity);
}
......@@ -162,6 +167,7 @@ public class SummitActivityBiz extends BaseBiz<SummitActivityMapper, SummitActiv
SummitActivity summitActivity = new SummitActivity();
summitActivity.setId(id);
summitActivity.setRank(rank);
summitActivity.setUpdTime(Instant.now().toEpochMilli());
mapper.updateByPrimaryKeySelective(summitActivity);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment