Commit 49decd5b by huluobin

用户消费记录

parent 9d455366
...@@ -7,13 +7,13 @@ import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; ...@@ -7,13 +7,13 @@ import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.gogirl.domain.order.serve.OrderManage; import com.gogirl.domain.order.serve.OrderManage;
import com.gogirl.domain.order.serve.OrderServe; import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.shared.member.CreateCommentCommand; import com.gogirl.shared.member.CreateCommentCommand;
import com.gogirl.shared.order.CustomerOrder;
import com.gogirl.shared.order.ListOrderQuery; import com.gogirl.shared.order.ListOrderQuery;
import com.gogirl.shared.order.RecordOrderDataRequest; import com.gogirl.shared.order.RecordOrderDataRequest;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 购买美容服务产品的订单服务 * 购买美容服务产品的订单服务
...@@ -75,7 +75,7 @@ public interface OrderManageService extends IService<OrderManage> { ...@@ -75,7 +75,7 @@ public interface OrderManageService extends IService<OrderManage> {
* @param pageSize * @param pageSize
* @return * @return
*/ */
Map<String, Object> queryCustomerOrder(String token, Integer customerId, Integer pageNum, Integer pageSize); CustomerOrder queryCustomerOrder(String token, Integer customerId, Integer pageNum, Integer pageSize);
/** /**
......
...@@ -24,10 +24,7 @@ import com.gogirl.domain.product.serve.BaseProduce; ...@@ -24,10 +24,7 @@ import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.product.serve.BaseServe; import com.gogirl.domain.product.serve.BaseServe;
import com.gogirl.domain.product.serve.BaseType; import com.gogirl.domain.product.serve.BaseType;
import com.gogirl.domain.store.store.StoreTechnician; import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.user.customer.Customer; import com.gogirl.domain.user.customer.*;
import com.gogirl.domain.user.customer.CustomerBalance;
import com.gogirl.domain.user.customer.CustomerDetail;
import com.gogirl.domain.user.customer.CustomerMessage;
import com.gogirl.domain.xcx.GogirlToken; import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.infrastructure.common.exception.RRException; import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.JsonUtilByFsJson; import com.gogirl.infrastructure.common.util.JsonUtilByFsJson;
...@@ -41,12 +38,14 @@ import com.gogirl.infrastructure.mapper.product.serve.BaseTypeMapper; ...@@ -41,12 +38,14 @@ import com.gogirl.infrastructure.mapper.product.serve.BaseTypeMapper;
import com.gogirl.infrastructure.mapper.product.serve.ProducePromotionTimeMapper; import com.gogirl.infrastructure.mapper.product.serve.ProducePromotionTimeMapper;
import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper; import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceMapper; import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceRecordMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerDetailMapper; import com.gogirl.infrastructure.mapper.user.customer.CustomerDetailMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerMessageMapper; import com.gogirl.infrastructure.mapper.user.customer.CustomerMessageMapper;
import com.gogirl.infrastructure.service.push.PushMsgService; import com.gogirl.infrastructure.service.push.PushMsgService;
import com.gogirl.infrastructure.util.SessionUtils; import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.shared.member.CreateCommentCommand; import com.gogirl.shared.member.CreateCommentCommand;
import com.gogirl.shared.member.OrderCommentCommand; import com.gogirl.shared.member.OrderCommentCommand;
import com.gogirl.shared.order.CustomerOrder;
import com.gogirl.shared.order.ListOrderQuery; import com.gogirl.shared.order.ListOrderQuery;
import com.gogirl.shared.order.RecordOrderDataRequest; import com.gogirl.shared.order.RecordOrderDataRequest;
import com.gogirl.shared.user.ConsumerCommand; import com.gogirl.shared.user.ConsumerCommand;
...@@ -676,7 +675,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order ...@@ -676,7 +675,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
} }
@Override @Override
public Map<String, Object> queryCustomerOrder(String token, Integer customerId, Integer pageNum, Integer pageSize) { public CustomerOrder queryCustomerOrder(String token, Integer customerId, Integer pageNum, Integer pageSize) {
GogirlToken gogirlToken = gogirlTokenService.getByToken(token); GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
IPage<OrderManage> page = new Page<>(pageNum, pageSize); IPage<OrderManage> page = new Page<>(pageNum, pageSize);
...@@ -726,15 +725,24 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order ...@@ -726,15 +725,24 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
}); });
} }
List<CustomerBalanceRecord> customerBalanceRecordList = customerBalanceRecordMapper.selectList(
new LambdaQueryWrapper<CustomerBalanceRecord>().eq(CustomerBalanceRecord::getCustomerId, customerId)
.in(CustomerBalanceRecord::getType, Lists.newArrayList(1, 2))
)
//7、聚合结果 //7、聚合结果
Map<String, Object> map = new HashMap<>(); CustomerOrder customerOrder = new CustomerOrder();
map.put("pageInfo", page); customerOrder.setPageInfo(page);
map.put("orderTimes", page.getTotal()); customerOrder.setOrderTimes(page.getTotal());
map.put("sumPay", this.countSumPay(customerId, gogirlToken.getDepartmentId())); customerOrder.setSumPay(this.countSumPay(customerId, gogirlToken.getDepartmentId()));
customerOrder.setTotalChargeTimes(customerBalanceRecordList.size());
return map; customerOrder.setTotalChargeAmount(customerBalanceRecordList.stream().map(customerBalanceRecord -> new BigDecimal(customerBalanceRecord.getOrderAmount() / 100))
.reduce(BigDecimal.ZERO, BigDecimal::add));
return customerOrder;
} }
@Resource
CustomerBalanceRecordMapper customerBalanceRecordMapper;
@Override @Override
public List<OrderServe> addOrModifyOrderComment(CreateCommentCommand cmd) { public List<OrderServe> addOrModifyOrderComment(CreateCommentCommand cmd) {
......
...@@ -23,10 +23,7 @@ import com.gogirl.infrastructure.mapper.order.serve.OrderServeDescribeMapper; ...@@ -23,10 +23,7 @@ import com.gogirl.infrastructure.mapper.order.serve.OrderServeDescribeMapper;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuMapper; import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuMapper;
import com.gogirl.infrastructure.util.SessionUtils; import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.infrastructure.util.lock.OrderIdLock; import com.gogirl.infrastructure.util.lock.OrderIdLock;
import com.gogirl.shared.order.ListOrderQuery; import com.gogirl.shared.order.*;
import com.gogirl.shared.order.OrderManageDTO;
import com.gogirl.shared.order.OrderPhotoResp;
import com.gogirl.shared.order.RecordOrderDataRequest;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -37,7 +34,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -37,7 +34,6 @@ import org.springframework.web.bind.annotation.*;
import java.security.InvalidParameterException; import java.security.InvalidParameterException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
@Api(tags = "预约订单接口") @Api(tags = "预约订单接口")
...@@ -162,11 +158,11 @@ public class OrderManageController { ...@@ -162,11 +158,11 @@ public class OrderManageController {
@ApiOperation(value = "查询会员消费记录") @ApiOperation(value = "查询会员消费记录")
@GetMapping("/technician/ordermanage/queryCustomerOrder") @GetMapping("/technician/ordermanage/queryCustomerOrder")
public JsonResult<Map<String, Object>> queryCustomerOrder(@RequestHeader String token, public JsonResult<CustomerOrder> queryCustomerOrder(@RequestHeader String token,
@RequestParam Integer customerId, @RequestParam Integer customerId,
@RequestParam Integer pageNum, @RequestParam Integer pageNum,
@RequestParam Integer pageSize) { @RequestParam Integer pageSize) {
Map<String, Object> result = orderManageService.queryCustomerOrder(token, customerId, pageNum, pageSize); CustomerOrder result = orderManageService.queryCustomerOrder(token, customerId, pageNum, pageSize);
return JsonResult.success(result); return JsonResult.success(result);
} }
......
package com.gogirl.shared.order;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gogirl.domain.order.serve.OrderManage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* <p>
* 消费记录返回
* </p>
*
* @author robbendev
* @since 2020/7/24 1:41 下午
*/
@ApiModel("消费记录返回值")
@Data
public class CustomerOrder {
@ApiModelProperty("消费总次数")
private Long orderTimes;
@ApiModelProperty("消费记录")
private IPage<OrderManage> pageInfo;
@ApiModelProperty("总消费金额")
private BigDecimal sumPay;
@ApiModelProperty("累计充值次数")
private Integer totalChargeTimes;
@ApiModelProperty("累计充值金额")
private BigDecimal totalChargeAmount
}
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