Commit 264b2360 by huluobin

Merge branch 'master' into 3.9

# Conflicts:
#	src/main/java/com/gogirl/application/order/serve/impl/OrderManageServiceImpl.java
#	src/main/java/com/gogirl/infrastructure/schedule/Schedule.java
#	src/main/java/com/gogirl/interfaces/order/serve/OrderManageController.java
parents 2788f878 49decd5b
...@@ -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);
/** /**
......
...@@ -29,6 +29,8 @@ import com.gogirl.domain.user.customer.Customer; ...@@ -29,6 +29,8 @@ import com.gogirl.domain.user.customer.Customer;
import com.gogirl.domain.user.customer.CustomerBalance; import com.gogirl.domain.user.customer.CustomerBalance;
import com.gogirl.domain.user.customer.CustomerDetail; import com.gogirl.domain.user.customer.CustomerDetail;
import com.gogirl.domain.user.customer.CustomerMessage; import com.gogirl.domain.user.customer.CustomerMessage;
import com.gogirl.domain.user.customer.*;
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;
import com.gogirl.infrastructure.common.util.ListUtil; import com.gogirl.infrastructure.common.util.ListUtil;
...@@ -42,11 +44,13 @@ import com.gogirl.infrastructure.mapper.product.serve.BaseTypeMapper; ...@@ -42,11 +44,13 @@ 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.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 +680,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order ...@@ -676,7 +680,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 +730,24 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order ...@@ -726,15 +730,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) {
......
...@@ -50,4 +50,9 @@ public interface CouponCustomerRelevanceMapper extends BaseMapper<CouponCustomer ...@@ -50,4 +50,9 @@ public interface CouponCustomerRelevanceMapper extends BaseMapper<CouponCustomer
* @return * @return
*/ */
List<CouponCustomerRelevance> getOrderCoupon(@Param("currentCustomerId") Integer currentCustomerId, @Param("departmentId") Integer departmentId); List<CouponCustomerRelevance> getOrderCoupon(@Param("currentCustomerId") Integer currentCustomerId, @Param("departmentId") Integer departmentId);
/**
* 每分钟同步卡券折扣率
*/
void syncCouponCustomerRelDiscountPercent();
} }
...@@ -734,4 +734,14 @@ public class Schedule { ...@@ -734,4 +734,14 @@ public class Schedule {
recentDeductedComplaintScoreService.syncRecentDeductedComplaintScore(); recentDeductedComplaintScoreService.syncRecentDeductedComplaintScore();
log.info("每天凌晨3点同步美甲师jobs 结束"); log.info("每天凌晨3点同步美甲师jobs 结束");
} }
/**
* 每分钟同步卡券折扣率
*/
@Scheduled(cron = "0 0/1 * * * *")
public void syncCouponCustomerRelDiscountPercent() {
log.info("每分钟同步卡券折扣信息 开始");
couponCustomerRelevanceDao.syncCouponCustomerRelDiscountPercent();
log.info("每分钟同步卡券折扣信息 结束");
}
} }
...@@ -26,6 +26,9 @@ import com.gogirl.shared.order.ListOrderQuery; ...@@ -26,6 +26,9 @@ import com.gogirl.shared.order.ListOrderQuery;
import com.gogirl.shared.order.OrderManageDTO; import com.gogirl.shared.order.OrderManageDTO;
import com.gogirl.shared.order.OrderPhotoResp; import com.gogirl.shared.order.OrderPhotoResp;
import com.gogirl.shared.order.RecordOrderDataRequest; import com.gogirl.shared.order.RecordOrderDataRequest;
import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.infrastructure.util.lock.OrderIdLock;
import com.gogirl.shared.order.*;
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;
...@@ -36,7 +39,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -36,7 +39,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 = "预约订单接口")
...@@ -160,11 +162,11 @@ public class OrderManageController { ...@@ -160,11 +162,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
}
...@@ -55,4 +55,11 @@ ...@@ -55,4 +55,11 @@
where state = 1 where state = 1
and #{nowDate,jdbcType=TIMESTAMP} > valid_end_time and #{nowDate,jdbcType=TIMESTAMP} > valid_end_time
</update> </update>
<update id="syncCouponCustomerRelDiscountPercent">
update coupon_customer_relevance t1
LEFT JOIN coupon t2 on t1.coupon_id = t2.id
set t1.discount_percent = t2.discount_rate
where t1.type = 5
and t1.discount_percent is null;
</update>
</mapper> </mapper>
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