Commit 08a32a46 authored by jiaorz's avatar jiaorz

Merge branch 'master' into base-modify

parents 1ef536e7 8216122b
package com.github.wxiaoqi.security.common.msg.auth;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class PageResult<M> {
/** 页码 */
private Integer page;
/** 每页结果数 */
private Integer pageSize;
/** 总页数 */
private Integer totalPage;
/** 总数 */
private Integer total;
private List<M> list=new ArrayList<>();
private PageResult(){
}
private PageResult(int page, int pageSize, int totalPage, int total, List<M> list) {
this.page = page;
this.pageSize = pageSize;
this.totalPage = totalPage;
this.total = total;
this.list = list;
}
public static PageResult nowPageResult(Integer page, Integer limit, List totalList) {
page=page!=null?page:1;
limit=limit!=null?limit:10;
//总条数
Integer total=0;
//总页数
Integer totalPage=0;
//当前页面数据条数
Integer pageSize=0;
//当前页面数据集合
List list = new ArrayList();
if (totalList!=null&&totalList.size()!=0){
total= totalList.size();
totalPage = (total / limit) + 1;
//每页的起始索引
Integer pageNo = (page - 1) * limit;
if (pageNo + limit > total) {
list = totalList.subList(pageNo, total);
} else {
list = totalList.subList(pageNo, pageNo + limit);
}
pageSize=list.size();
}
return new PageResult(page,pageSize,totalPage,total,list);
}
}
package com.github.wxiaoqi.security.admin.constant;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/10/12 14:27
*/
public enum WalletDetailTypeEnum {
/**
* 活动
*/
ACTIVITY(0, "活动奖励金"),
/**
* 佣金
*/
COMMISSION(1, "佣金"),
/**
* 会员充值
*/
MEMBER(2, "会员充值"),
/**
* 提现
*/
WITHDRAW(10, "提现"),
/**
* 转账
*/
TRANSFER(11, "转账"),
/**
* 购买
*/
BUY(12, "购买"),
/**
* 手续费
*/
SERVICE_CHARGE(13, "手续费");
private Integer code;
private String desc;
WalletDetailTypeEnum(Integer code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
......@@ -83,4 +83,9 @@ public class BaseUserMemberLevel implements Serializable {
@ApiModelProperty(value = "大图标")
private String bigIcon;
@Column(name = "item_img")
@ApiModelProperty(value = "会员商品图片")
private String itemImg;
}
......@@ -84,6 +84,7 @@ public class AppUserDTO {
//图标
private String icon;
private String bigIcon;
private String itemImg;
private Integer memberNo;
private Long cardLeave;
private Integer isBind;
......
......@@ -47,4 +47,7 @@ public class WalletDetailPageVo {
@ApiModelProperty(value = "操作时间", hidden = true )
private Long crtTime;
@ApiModelProperty("描述")
private String desc;
}
package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.constant.WalletDetailTypeEnum;
import com.github.wxiaoqi.security.admin.dto.PersonalConsumptionDTO;
import com.github.wxiaoqi.security.admin.dto.WalletDetailFindDTO;
import com.github.wxiaoqi.security.admin.dto.WalletDetailListDTO;
......@@ -12,17 +13,15 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import lombok.Data;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.entity.Example;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
......@@ -35,7 +34,9 @@ import java.util.stream.Collectors;
@Transactional
@Service
@Data
public class MyWalletDetailBiz extends BaseBiz<MyWalletDetailMapper, MyWalletDetail> {
public class MyWalletDetailBiz extends BaseBiz<MyWalletDetailMapper, MyWalletDetail> implements InitializingBean {
private Map<Integer,WalletDetailTypeEnum> typeEnumMap;
public PageDataVO<WalletDetailPageVo> findWalletDetailPage(Integer userId,Integer pageNo,Integer pageSize){
......@@ -56,6 +57,7 @@ public class MyWalletDetailBiz extends BaseBiz<MyWalletDetailMapper, MyWalletDet
for (MyWalletDetail walletDetailPage : walletDetails) {
walletDetail = new WalletDetailPageVo();
BeanUtils.copyProperties(walletDetailPage,walletDetail);
walletDetail.setDesc(typeEnumMap.get(walletDetail.getSource()).getDesc());
walletDetailPageVoList.add(walletDetail);
}
walletDetailPageVo.setTotalPage(walletDetailPageVoPageDataVO.getTotalPage());
......@@ -101,4 +103,9 @@ public class MyWalletDetailBiz extends BaseBiz<MyWalletDetailMapper, MyWalletDet
Map<Integer, BigDecimal> userIdAndPersonalConsumptionMap = personalConsumptions.stream().collect(Collectors.toMap(PersonalConsumptionDTO::getUserId, PersonalConsumptionDTO::getTotalConsumption));
return userIdAndPersonalConsumptionMap;
}
@Override
public void afterPropertiesSet() throws Exception {
typeEnumMap = EnumSet.allOf(WalletDetailTypeEnum.class).stream().collect(Collectors.toMap(WalletDetailTypeEnum::getCode, Function.identity()));
}
}
......@@ -154,6 +154,7 @@ public class AppUserController extends CommonBaseController{
String icon=memberLevel.getIcon();
userDTO.setIcon(icon);
userDTO.setBigIcon(memberLevel.getBigIcon());
userDTO.setItemImg(memberLevel.getItemImg());
}
}
}
......
package com.xxfc.platform.order.pojo;
import lombok.Data;
import org.joda.time.DateTime;
/**
* 会员订单统计条件
......@@ -9,21 +10,21 @@ import lombok.Data;
@Data
public class OrderQuery {
private Integer page=1;
private Integer limit=10;
private Integer page = 1;
private Integer limit = 10;
/**
* 查询开始时间
*/
private Long startTime;
private Long startTime;
/**
* 查询结束时间
*/
private Long endTime;
private Long endTime;
/**
* 1.按每日统计,2.按每周统计,3.按每月统计
*/
private Integer type=1;
private Integer type = 1;
}
......@@ -25,7 +25,7 @@ public class DailyOrderStatisticsBiz extends BaseBiz<DailyOrderStatisticsMapper,
@Autowired
private DailyMembersOrderStatisticsBiz membersStatisticsBiz;
@Scheduled(cron = "0 0 0/1 * * ?")
@Scheduled(cron = "0 0 2 * * ?")
public boolean statisticalOrder(){
boolean vehicleFlag = vehicleStatisticsBiz.saveDailyVehicleOrderRecord();
boolean travelFlag = travelStatisticsBiz.saveDailyTravelOrderRecord();
......
package com.xxfc.platform.order.biz;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.db.PageResult;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.auth.PageResult;
import com.google.common.collect.Maps;
import com.xxfc.platform.order.Utils.OrderDateUtils;
import com.xxfc.platform.order.contant.enumerate.OrderInquiryType;
......@@ -89,13 +89,13 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
return result;
}
public List<MembersOrderDto> getMemberOrderStatistics(List<BaseUserMemberLevel> memberLevels, OrderQuery query) throws ParseException {
public PageResult getMemberOrderStatistics(List<BaseUserMemberLevel> memberLevels, OrderQuery query) throws ParseException {
List<MembersOrder> membersOrderList = membersBiz.getMemberOrderStatistics(query);
//按每天分类
if (CollectionUtil.isEmpty(membersOrderList)) {
return null;
return PageResult.nowPageResult(query.getPage(),query.getLimit(),Lists.newArrayList());
}
//按每天分类
if (CollectionUtil.isEmpty(memberLevels)) {
......@@ -175,18 +175,13 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
//进行分页处理
return arrayList;
return PageResult.nowPageResult(query.getPage(),query.getLimit(),arrayList);
// return pagingProcessing(query, arrayList);
}
private PageResult pagingProcessing(OrderQuery query, ArrayList<MembersOrderDto> arrayList) {
PageResult pageResult = (PageResult) arrayList;
pageResult.setPage(query.getPage());
pageResult.setPageSize(query.getLimit());
return pageResult;
}
private void TotalPaymentAndMemberName(HashMap<Integer, String> map, MembersOrder mb, MembersOrderDto mbdto) {
......@@ -204,11 +199,6 @@ public class OrderStatisticsBiz extends BaseBiz<OrderStatisticsMapper, OrderStat
mbdto.setTotalPayment(totalPayment);
}
public Object downloadExcel() {
return null;
}
public List<HashMap<Object, Object>> getRows(List<MembersOrderDto> list, List<BaseUserMemberLevel> memberLevels) {
ArrayList<HashMap<Object, Object>> rows = Lists.newArrayList();
......
......@@ -122,7 +122,8 @@ public class OrderCalculateBiz {
inProgressVO.setUsedFreeDaysAmount(orderItem.getUnitPrice().multiply(new BigDecimal(useDays+ "")));
//返回剩余免费天数,返回优惠券,订单款
refundAmount = refundAmount.add(goodsRealAmount);
//修改bug,不需要提前加, 已在handleConsumeAmount方法中添加
// refundAmount = refundAmount.add(goodsRealAmount);
inProgressVO.setBackFreeDays(backFreeDays);
//返回优惠券
......@@ -132,7 +133,10 @@ public class OrderCalculateBiz {
}
//设置消费金额 由于返回了优惠券,所以添加优惠券之前减免的金额
consumeAmount = consumeAmount.add(otherItemRealAmount).add(baseOrder.getCouponAmount());
consumeAmount = consumeAmount.add(otherItemRealAmount);
//修改bug,消费金额不需要添加优惠券金额
//.add(baseOrder.getCouponAmount());
inProgressVO.setConsumeAmount(consumeAmount);
refundAmount = handleConsumeAmount(oad, refundAmount, consumeAmount, goodsRealAmount, inProgressVO);
......
......@@ -159,7 +159,9 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
@PostMapping("/order")
@ApiOperation(value = "会员统计")
public ObjectRestResponse<List<MembersOrderDto>> getMemberOrderStatisticsData(@RequestBody OrderQuery query) throws ParseException {
if (query.getEndTime()!=null) {
query.setEndTime(query.getEndTime()+(24*60*60*1000));
}
//获取会员等级信息
List<BaseUserMemberLevel> memberLevels = userFeign.levels();
//获取会员订单统计信息
......@@ -170,11 +172,13 @@ public class OrderStatisticsController extends BaseController<OrderStatisticsBiz
@PostMapping("/excel")
@ApiOperation(value = "下载excel表")
public void downloadExcel(@RequestBody OrderQuery query) throws Exception {
if (query.getEndTime()!=null) {
query.setEndTime(query.getEndTime()+(24*60*60*1000));
}
// 通过工具类创建writer,默认创建xls格式
ExcelWriter writer = ExcelUtil.getWriter(true);
List<BaseUserMemberLevel> memberLevels = userFeign.levels();
List<MembersOrderDto> list = baseBiz.getMemberOrderStatistics(memberLevels, query);
List<MembersOrderDto> list = baseBiz.getMemberOrderStatistics(memberLevels, query).getList();
List<HashMap<Object, Object>> rows = baseBiz.getRows(list, memberLevels);
// 一次性写出内容,使用默认样式,强制输出标题
......
......@@ -19,7 +19,7 @@
SELECT
IFNULL( sum( gmv ), 0 ) AS totalGmv
FROM
daily_vehicle_order_statistics
daily_members_order_statistics
WHERE
1=1
<if test="companyId != null">
......
......@@ -55,7 +55,7 @@
IFNULL( sum( default_money ), 0 ) AS totalDefaultMoney,
IFNULL( sum( return_gmv ), 0 ) AS totalReturnGmv
FROM
daily_vehicle_order_statistics
daily_travel_order_statistics
WHERE
1=1
<if test="companyId != null">
......
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