Merge branch 'feature' of https://gitee.com/liuyingfang/cashier-admin into feature

This commit is contained in:
liuyingfang
2024-03-05 13:43:30 +08:00
2 changed files with 136 additions and 47 deletions

View File

@@ -16,6 +16,7 @@
package cn.ysk.cashier.utils; package cn.ysk.cashier.utils;
import java.text.SimpleDateFormat;
import java.time.*; import java.time.*;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Date; import java.util.Date;
@@ -117,6 +118,18 @@ public class DateUtil {
return DFY_MD_HMS.format(localDateTime); return DFY_MD_HMS.format(localDateTime);
} }
/**
* 日期格式化 yyyy-MM-dd HH:mm:ss
*
* @param timeStamp /
* @return /
*/
public static String timeStampFormatyMdHms(long timeStamp) {
Date date = new Date(timeStamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
}
/** /**
* 日期格式化 yyyy-MM-dd * 日期格式化 yyyy-MM-dd
* *

View File

@@ -23,10 +23,7 @@ import cn.ysk.cashier.pojo.order.TbOrderInfo;
import cn.ysk.cashier.repository.order.TbOrderDetailRepository; import cn.ysk.cashier.repository.order.TbOrderDetailRepository;
import cn.ysk.cashier.repository.order.TbOrderInfoRepository; import cn.ysk.cashier.repository.order.TbOrderInfoRepository;
import cn.ysk.cashier.service.order.TbOrderInfoService; import cn.ysk.cashier.service.order.TbOrderInfoService;
import cn.ysk.cashier.utils.FileUtil; import cn.ysk.cashier.utils.*;
import cn.ysk.cashier.utils.PageUtil;
import cn.ysk.cashier.utils.QueryHelp;
import cn.ysk.cashier.utils.ValidationUtil;
import cn.ysk.cashier.vo.TbOrderInfoVo; import cn.ysk.cashier.vo.TbOrderInfoVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -37,10 +34,8 @@ import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.*;
import java.util.LinkedHashMap; import java.util.stream.Collectors;
import java.util.List;
import java.util.Map;
/** /**
* @website https://eladmin.vip * @website https://eladmin.vip
@@ -72,7 +67,12 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
@Override @Override
public List<TbOrderInfoDto> queryAll(TbOrderInfoQueryCriteria criteria){ public List<TbOrderInfoDto> queryAll(TbOrderInfoQueryCriteria criteria){
return tbOrderInfoMapper.toDto(tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); List<TbOrderInfoDto> dto = tbOrderInfoMapper.toDto(tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)));
for (TbOrderInfoDto tbOrderInfo : dto) {
List<TbOrderDetail> details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId());
tbOrderInfo.setDetailList(details);
}
return dto;
} }
@Override @Override
@@ -114,47 +114,123 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
for (TbOrderInfoDto tbOrderInfo : all) { for (TbOrderInfoDto tbOrderInfo : all) {
Map<String,Object> map = new LinkedHashMap<>(); Map<String,Object> map = new LinkedHashMap<>();
map.put("订单编号", tbOrderInfo.getOrderNo()); map.put("订单编号", tbOrderInfo.getOrderNo());
map.put("商户结算金额", tbOrderInfo.getSettlementAmount()); switch (tbOrderInfo.getOrderType()){
map.put("包装费", tbOrderInfo.getPackFee()); case "cash":
map.put("订单原金额", tbOrderInfo.getOriginAmount()); tbOrderInfo.setOrderType("收银");
map.put("商品售价", tbOrderInfo.getProductAmount()); break;
map.put("最终金额---退单后,金额变动", tbOrderInfo.getAmount()); case "miniapp":
map.put("退单金额", tbOrderInfo.getRefundAmount()); tbOrderInfo.setOrderType("小程序");
map.put("支付金额", tbOrderInfo.getPayAmount()); break;
map.put("订单邮递费用", tbOrderInfo.getFreightAmount()); case "offline":
map.put("折扣金额", tbOrderInfo.getDiscountAmount()); tbOrderInfo.setOrderType("线下");
map.put("台桌Id", tbOrderInfo.getTableId()); break;
map.put("订单抹零", tbOrderInfo.getSmallChange()); case "return ":
tbOrderInfo.setOrderType("退单");
break;
default:
tbOrderInfo.setOrderType(tbOrderInfo.getOrderType()+"未知订单类型");
break;
}
map.put("订单类型", tbOrderInfo.getOrderType());
switch (tbOrderInfo.getSendType()) {
case "post":
tbOrderInfo.setSendType("快递");
break;
case "takeaway":
tbOrderInfo.setSendType("外卖");
break;
case "takeself":
tbOrderInfo.setSendType("自提");
break;
case "table":
tbOrderInfo.setSendType("堂食");
break;
default:
tbOrderInfo.setSendType(tbOrderInfo.getSendType()+"未知送货类型");
break;
}
map.put("发货类型", tbOrderInfo.getSendType()); map.put("发货类型", tbOrderInfo.getSendType());
map.put("订单类型-cash收银-miniapp小程序-offline线下", tbOrderInfo.getOrderType()); // 商品信息
map.put("订单里面商品的类型", tbOrderInfo.getProductType()); String productNames = tbOrderInfo.getDetailList().stream()
map.put("状态: unpaid 待支付unsend待发货 closed 订单完成 send 已发refunding申请退单refund退单cancelled取消订单merge合台", tbOrderInfo.getStatus()); .map(TbOrderDetail::getProductName)
map.put("orderType为union-minor时parentId生效为其上级合单id", tbOrderInfo.getBillingId()); .distinct()
map.put("对于平台订单,是收款商户Id", tbOrderInfo.getMerchantId()); .collect(Collectors.joining("/"));
map.put("店铺Id", tbOrderInfo.getShopId()); map.put("商品信息", productNames);
map.put("是否vip订单", tbOrderInfo.getIsVip()); //
map.put("商户会员Id", tbOrderInfo.getMemberId());
map.put("用户Id", tbOrderInfo.getUserId());
map.put("该订单商品赠送的积分", tbOrderInfo.getProductScore());
map.put("抵扣积分", tbOrderInfo.getDeductScore());
map.put("用户使用的卡券", tbOrderInfo.getUserCouponId());
map.put("优惠券抵扣金额", tbOrderInfo.getUserCouponAmount());
map.put("如果为退单时,主单号", tbOrderInfo.getMasterId());
map.put("是否支持退款1支持退单 0不支持退单", tbOrderInfo.getRefundAble());
map.put("支付时间", tbOrderInfo.getPaidTime());
map.put("是否生效,若订单合单之后,则原订单不会生效", tbOrderInfo.getIsEffect());
map.put("是否合台", tbOrderInfo.getIsGroup());
map.put(" updatedAt", tbOrderInfo.getUpdatedAt());
map.put("系统时间", tbOrderInfo.getSystemTime());
map.put(" createdAt", tbOrderInfo.getCreatedAt());
map.put("收银台是否已接单", tbOrderInfo.getIsAccepted());
map.put("支付类型", tbOrderInfo.getPayType()); map.put("支付类型", tbOrderInfo.getPayType());
map.put("订单金额", tbOrderInfo.getOrderAmount()); map.put("订单金额", tbOrderInfo.getOrderAmount());
map.put("折扣比例", tbOrderInfo.getDiscountRatio()); map.put("退单金额", tbOrderInfo.getRefundAmount());
map.put("支付订单号", tbOrderInfo.getPayOrderNo()); map.put("支付金额", tbOrderInfo.getPayAmount());
map.put(" tradeDay", tbOrderInfo.getTradeDay()); switch (tbOrderInfo.getStatus()) {
map.put(" source", tbOrderInfo.getSource()); case "unpaid":
map.put(" remark", tbOrderInfo.getRemark()); tbOrderInfo.setStatus("待支付");
break;
case "unsend":
tbOrderInfo.setStatus("待发货");
break;
case "closed":
tbOrderInfo.setStatus("订单完成");
break;
case "send":
tbOrderInfo.setStatus("已发货");
break;
case "refunding":
tbOrderInfo.setStatus("申请退单中");
break;
case "refund":
tbOrderInfo.setStatus("退单完成");
break;
case "cancelled":
tbOrderInfo.setStatus("取消订单");
break;
case "merge":
tbOrderInfo.setStatus("合台");
break;
case "pending":
tbOrderInfo.setStatus("挂单");
break;
case "activate":
tbOrderInfo.setStatus("激活订单");
break;
default:
tbOrderInfo.setStatus(tbOrderInfo.getStatus()+"未知订单状态");
break;
}
map.put("状态", tbOrderInfo.getStatus());
map.put("创建日期", DateUtil.timeStampFormatyMdHms(tbOrderInfo.getCreatedAt()));
map.put("备注", tbOrderInfo.getRemark());
//
// map.put("商户结算金额", tbOrderInfo.getSettlementAmount());
// map.put("包装费", tbOrderInfo.getPackFee());
// map.put("商品售价", tbOrderInfo.getProductAmount());
// map.put("最终金额---退单后,金额变动", tbOrderInfo.getAmount());
// map.put("订单邮递费用", tbOrderInfo.getFreightAmount());
// map.put("折扣金额", tbOrderInfo.getDiscountAmount());
// map.put("台桌Id", tbOrderInfo.getTableId());
// map.put("订单抹零", tbOrderInfo.getSmallChange());
// map.put("订单里面商品的类型", tbOrderInfo.getProductType());
// map.put("orderType为union-minor时parentId生效为其上级合单id", tbOrderInfo.getBillingId());
// map.put("对于平台订单,是收款商户Id", tbOrderInfo.getMerchantId());
// map.put("店铺Id", tbOrderInfo.getShopId());
// map.put("是否vip订单", tbOrderInfo.getIsVip());
// map.put("商户会员Id", tbOrderInfo.getMemberId());
// map.put("用户Id", tbOrderInfo.getUserId());
// map.put("该订单商品赠送的积分", tbOrderInfo.getProductScore());
// map.put("抵扣积分", tbOrderInfo.getDeductScore());
// map.put("用户使用的卡券", tbOrderInfo.getUserCouponId());
// map.put("优惠券抵扣金额", tbOrderInfo.getUserCouponAmount());
// map.put("如果为退单时,主单号", tbOrderInfo.getMasterId());
// map.put("是否支持退款1支持退单 0不支持退单", tbOrderInfo.getRefundAble());
// map.put("支付时间", tbOrderInfo.getPaidTime());
// map.put("是否生效,若订单合单之后,则原订单不会生效", tbOrderInfo.getIsEffect());
// map.put("是否合台", tbOrderInfo.getIsGroup());
// map.put("更新日期", tbOrderInfo.getUpdatedAt());
// map.put("系统时间", tbOrderInfo.getSystemTime());
// map.put("收银台是否已接单", tbOrderInfo.getIsAccepted());
// map.put("折扣比例", tbOrderInfo.getDiscountRatio());
// map.put("支付订单号", tbOrderInfo.getPayOrderNo());
// map.put("tradeDay", tbOrderInfo.getTradeDay());
// map.put("原订单", tbOrderInfo.getSource());
list.add(map); list.add(map);
} }
FileUtil.downloadExcel(list, response); FileUtil.downloadExcel(list, response);