Commit a61ad274 by huluobin

订单信息完整度

parent 8b8624cd
......@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.gogirl.domain.order.serve.OrderManage;
import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.domain.user.customer.Customer;
import com.gogirl.shared.member.CreateCommentCommand;
import com.gogirl.shared.order.ListOrderQuery;
import org.apache.ibatis.annotations.Param;
......@@ -151,9 +150,8 @@ public interface OrderManageService extends IService<OrderManage> {
/**
* 计算订单完整度
*
* @param c 用户
* @param om 订单
* @param orderId 订单
* @return 订单信息完整度
*/
Double countOrderDataRate(Customer c, OrderManage om);
Double countOrderDataRate(Integer orderId);
}
......@@ -41,6 +41,7 @@ import com.gogirl.infrastructure.mapper.product.serve.BaseTypeMapper;
import com.gogirl.infrastructure.mapper.product.serve.ProducePromotionTimeMapper;
import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerBalanceMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerDetailMapper;
import com.gogirl.infrastructure.mapper.user.customer.CustomerMessageMapper;
import com.gogirl.infrastructure.service.push.PushMsgService;
import com.gogirl.infrastructure.util.SessionUtils;
......@@ -594,7 +595,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
Customer customer = customerService.getById(orderManage.getOrderUser());
//订单数据完整度
double dataRate = this.countOrderDataRate(customer, orderManage);
double dataRate = this.countOrderDataRate(orderManage.getId());
orderManage.setDataIntegrity(dataRate);
orderManageMapper.updateById(orderManage);
}
......@@ -1021,46 +1022,54 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
return this.aggregateOrderManage(orderManage);
}
@Resource
CustomerDetailMapper customerDetailMapper;
@Override
public Double countOrderDataRate(Customer c, OrderManage om) {
public Double countOrderDataRate(Integer orderId) {
double dataRate = 0;
OrderManage orderManage = orderManageMapper.selectById(orderId);
Customer customer = customerService.getById(orderManage.getOrderUser());
CustomerDetail customerDetail = customerDetailMapper.selectOne(new LambdaQueryWrapper<CustomerDetail>()
.eq(CustomerDetail::getCustomerId, customer.getId()));
if (c != null && c.getCustomerDetail() != null) {
CustomerDetail cd = c.getCustomerDetail();
if (cd.getAge() != null && cd.getAge() != 0) {
dataRate += 10;
}
if (cd.getJob() != null && !cd.getJob().isEmpty()) {
dataRate += 10;
}
if (cd.getPreference() != null && !cd.getPreference().isEmpty()) {
dataRate += 10;
}
if (cd.getCharacter() != null && !cd.getCharacter().isEmpty()) {
dataRate += 10;
}
if (customerDetail.getAge() != null && customerDetail.getAge() != 0) {
dataRate += 10;
}
if (customerDetail.getJob() != null && !customerDetail.getJob().isEmpty()) {
dataRate += 10;
}
if (customerDetail.getPreference() != null && !customerDetail.getPreference().isEmpty()) {
dataRate += 10;
}
if (customerDetail.getCharacter() != null && !customerDetail.getCharacter().isEmpty()) {
dataRate += 10;
}
if (om != null) {
List<OrderServe> listos = om.getListOrderServer();
if (orderId != null) {
List<OrderServe> orderServeList = orderServeMapper.selectList(new LambdaQueryWrapper<OrderServe>()
.eq(OrderServe::getOrderId, orderId));
if (listos != null) {
if (ListUtil.isNotEmpty(orderServeList)) {
String userFeedback = null;
String technicianFeedback = null;
String picturePath = null;
for (OrderServe os : listos) {
if (os != null) {
OrderRecord or = os.getOrderRecord();
if (or != null) {
if (or.getUserFeedback() != null && !or.getUserFeedback().isEmpty()) {
userFeedback = or.getUserFeedback();
for (OrderServe orderServe : orderServeList) {
if (orderServe != null) {
OrderRecord orderRecord = orderRecordMapper.selectOne(
new LambdaQueryWrapper<OrderRecord>().eq(OrderRecord::getOrderServeId, orderServe.getId())
);
if (orderRecord != null) {
if (orderRecord.getUserFeedback() != null && !orderRecord.getUserFeedback().isEmpty()) {
userFeedback = orderRecord.getUserFeedback();
}
if (or.getTechnicianFeedback() != null && !or.getTechnicianFeedback().isEmpty()) {
technicianFeedback = or.getTechnicianFeedback();
if (orderRecord.getTechnicianFeedback() != null && !orderRecord.getTechnicianFeedback().isEmpty()) {
technicianFeedback = orderRecord.getTechnicianFeedback();
}
if (or.getPicturePath() != null && !or.getPicturePath().isEmpty()) {
picturePath = or.getPicturePath();
if (orderRecord.getPicturePath() != null && !orderRecord.getPicturePath().isEmpty()) {
picturePath = orderRecord.getPicturePath();
}
}
}
......
......@@ -361,7 +361,19 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
}
@Override
public void updateCustomerDetail(Integer birthdayMonth, Integer birthdayDay, String ageGroup, Integer customerId, Integer orderId, Integer orderServeId, String storeRecordRealName, String sex, Integer age, String job, String preference, String character, Integer customerSource) {
public void updateCustomerDetail(Integer birthdayMonth,
Integer birthdayDay,
String ageGroup,
Integer customerId,
Integer orderId,
Integer orderServeId,
String storeRecordRealName,
String sex,
Integer age,
String job,
String preference,
String character,
Integer customerSource) {
//用户基本信息
Customer customer = customerMapper.selectById(customerId);
......@@ -395,7 +407,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
if (orderId != null) {
OrderManage om = orderManageService.queryOrder(orderId);
double dataRate = orderManageService.countOrderDataRate(customer, om);
double dataRate = orderManageService.countOrderDataRate(om.getId());
om.setDataIntegrity(dataRate);
orderManageService.updateById(om);
}
......
......@@ -73,4 +73,5 @@ public class OrderRecord implements Serializable {
@ApiModelProperty("关联订单id")
@TableField(exist = false)
private Integer orderId;
}
......@@ -36,7 +36,6 @@ public class MallRefundOrderController {
return JsonResult.success();
}
//申请根据详情退款
@ApiOperation("根据详情退款")
@PostMapping("/customer/mallRefundOrder/refundOrderByDetailId")
......
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