This commit is contained in:
2024-02-26 13:43:02 +08:00
parent 5a0928a2e3
commit a796a761cc
7 changed files with 114 additions and 2 deletions

View File

@@ -331,6 +331,14 @@ public interface OrderBasicInfoMapper {
List<OrderVO> getOrderInfoByNXJT(NXJTQueryOrdersInfoDTO dto);
OrderTotalDataVO getOrderTotalData(QueryOrderDTO dto);
List<OrderBasicInfo> queryRepayOrder(String memberId);
/**
* 根据集团编号查询订单列表
* 条件:订单完成状态;余额支付;有集团优惠
* @param groupCode 集团编号
* @return 订单列表
*/
List<OrderBasicInfo> queryOrderListByGroupCode(String groupCode);
}

View File

@@ -2,6 +2,7 @@ package com.jsowell.pile.service;
import com.jsowell.pile.domain.MemberGroup;
import com.jsowell.pile.dto.MemberGroupDTO;
import com.jsowell.pile.vo.base.MemberGroupConsumptionVO;
import com.jsowell.pile.vo.base.MemberGroupStationVO;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.web.MemberDiscountVO;
@@ -104,4 +105,9 @@ public interface MemberGroupService {
List<MemberGroupStationVO> queryStationList(MemberGroupDTO dto);
int removeStationFromMemberGroup(MemberGroupDTO dto);
/**
* 根据memberGroup查询车辆消费记录
*/
List<MemberGroupConsumptionVO> queryMemberGroupConsumptionList(String groupCode);
}

View File

@@ -401,4 +401,6 @@ public interface OrderBasicInfoService{
* @return
*/
List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(OrderBasicInfo orderBasicInfo);
List<OrderBasicInfo> queryOrderListByGroupCode(String groupCode);
}

View File

@@ -10,9 +10,11 @@ import com.jsowell.common.util.id.IdUtils;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.MemberGroup;
import com.jsowell.pile.domain.MemberGroupRelation;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.dto.MemberGroupDTO;
import com.jsowell.pile.mapper.MemberGroupMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.vo.base.MemberGroupConsumptionVO;
import com.jsowell.pile.vo.base.MemberGroupStationVO;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.web.BillingTemplateVO;
@@ -26,7 +28,9 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 会员组Service业务层处理
@@ -52,6 +56,9 @@ public class MemberGroupServiceImpl implements MemberGroupService {
@Autowired
private PileBillingTemplateService pileBillingTemplateService;
@Autowired
private OrderBasicInfoService orderBasicInfoService;
/**
* 查询会员组
*
@@ -292,6 +299,49 @@ public class MemberGroupServiceImpl implements MemberGroupService {
return result;
}
@Override
public List<MemberGroupConsumptionVO> queryMemberGroupConsumptionList(String groupCode) {
List<MemberGroupConsumptionVO> resultList = Lists.newArrayList();
List<OrderBasicInfo> orderList = orderBasicInfoService.queryOrderListByGroupCode(groupCode);
if (CollectionUtils.isEmpty(orderList)) {
return resultList;
}
// key:会员idvalue:订单列表
Map<String, List<OrderBasicInfo>> listMap = orderList.stream().collect(Collectors.groupingBy(OrderBasicInfo::getMemberId));
MemberGroupConsumptionVO vo = null;
for (Map.Entry<String, List<OrderBasicInfo>> entry : listMap.entrySet()) {
List<OrderBasicInfo> orderBasicInfoList = entry.getValue();
if (CollectionUtils.isEmpty(orderBasicInfoList)) {
continue;
}
vo = new MemberGroupConsumptionVO();
String vinCode = null;
String licensePlateNumber = null;
BigDecimal totalConsumptionAmount = BigDecimal.ZERO;
for (int i = 0; i < orderBasicInfoList.size(); i++) {
OrderBasicInfo orderBasicInfo = orderBasicInfoList.get(i);
if (i == 0) {
vinCode = orderBasicInfo.getVinCode();
licensePlateNumber = orderBasicInfo.getPlateNumber();
}
// 订单消费金额
BigDecimal orderAmount = orderBasicInfo.getOrderAmount();
// 优惠金额
BigDecimal discountAmount = orderBasicInfo.getDiscountAmount() == null ? BigDecimal.ZERO : orderBasicInfo.getDiscountAmount();
// 汇总消费金额
totalConsumptionAmount = totalConsumptionAmount.add(orderAmount.subtract(discountAmount));
}
vo.setMemberId(entry.getKey());
vo.setVinCode(vinCode);
vo.setLicensePlateNumber(licensePlateNumber);
vo.setTotalConsumptionAmount(totalConsumptionAmount.toString());
}
return resultList;
}
/**
* 会员与集团的关系保存到数据库
* @param memberId 会员id

View File

@@ -3636,6 +3636,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
return orderRefundInfoList;
}
@Override
public List<OrderBasicInfo> queryOrderListByGroupCode(String groupCode) {
return orderBasicInfoMapper.queryOrderListByGroupCode(groupCode);
}
@Override
public int deleteByPrimaryKey(Integer id) {
return orderBasicInfoMapper.deleteByPrimaryKey(id);

View File

@@ -0,0 +1,31 @@
package com.jsowell.pile.vo.base;
import lombok.*;
/**
* 集团会员消费列表VO
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class MemberGroupConsumptionVO {
// 会员id
private String memberId;
/**
* 车牌号
*/
private String licensePlateNumber;
/**
* vin
*/
private String vinCode;
/**
* 总消费金额
*/
private String totalConsumptionAmount;
}