Commit 72d87aa7 by huluobin

Merge branch 'master' into 3.7

# Conflicts:
#	src/main/java/com/gogirl/application/order/serve/impl/OrderManageServiceImpl.java
parents e3faa64d 42df269b
package com.gogirl.application.order.purchase;
import com.gogirl.domain.order.purchase.PurchaseOrder;
import com.gogirl.shared.member.CreatePurchaseOrderCommand;
import java.util.List;
public interface PurchaseOrderCmdService {
/**
* 创建采购订单
*
* @param cmd
*/
void createPurchaseOrder(List<CreatePurchaseOrderCommand> cmd);
/**
* 更新采购订单数量
*
* @param param
*/
void updatePurchaseOrder(PurchaseOrder param);
}
......@@ -3,9 +3,11 @@ package com.gogirl.application.order.purchase.impl;
import com.gogirl.application.order.purchase.PurchaseOrderCmdService;
import com.gogirl.domain.order.purchase.PurchaseOrder;
import com.gogirl.domain.product.purchase.PurchaseSku;
import com.gogirl.domain.product.purchase.PurchaseSkuType;
import com.gogirl.domain.store.store.StoreManage;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuMapper;
import com.gogirl.infrastructure.mapper.order.purchase.PurchaseOrderMapper;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuMapper;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuTypeMapper;
import com.gogirl.infrastructure.mapper.store.store.StoreManageMapper;
import com.gogirl.shared.member.CreatePurchaseOrderCommand;
import lombok.AllArgsConstructor;
......@@ -26,11 +28,14 @@ public class PurchaseOrderCmdServiceImpl implements PurchaseOrderCmdService {
private final PurchaseSkuMapper purchaseSkuMapper;
private final PurchaseSkuTypeMapper purchaseSkuTypeMapper;
@Override
public void createPurchaseOrder(List<CreatePurchaseOrderCommand> cmdList) {
cmdList.forEach(cmd -> {
PurchaseSku purchaseSku = purchaseSkuMapper.selectById(cmd.getPurchaseSkuId());
PurchaseSkuType purchaseSkuType = purchaseSkuTypeMapper.selectById(purchaseSku.getSkuType());
StoreManage storeManage = storeManageMapper.selectById(cmd.getCreateDepartmentId());
......@@ -49,12 +54,24 @@ public class PurchaseOrderCmdServiceImpl implements PurchaseOrderCmdService {
.sku(purchaseSku.getSku())
.skuName(purchaseSku.getSkuName())
.skuPicturePath(purchaseSku.getPicturePath())
// .skuTypeName(purchaseSkuDTO.getSkuType())
// .skuTypeName(purchaseSkuType.getName())
.createTime(new Date())
.status(1)
.build();
if (purchaseOrder != null) {
purchaseOrder.setSkuTypeName(purchaseSkuType.getName());
}
purchaseOrderMapper.insert(purchaseOrder);
});
}
@Override
public void updatePurchaseOrder(PurchaseOrder param) {
PurchaseOrder purchaseOrder = purchaseOrderMapper.selectById(param.getId());
if (purchaseOrder != null && purchaseOrder.getStatus().equals(PurchaseOrder.STATUS_WAIT_PURCHASE)) {
purchaseOrder.setQuantity(param.getQuantity());
purchaseOrderMapper.updateById(purchaseOrder);
}
}
}
......@@ -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 com.gogirl.shared.order.RecordOrderDataRequest;
......@@ -147,9 +146,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;
......@@ -371,7 +372,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
wrapper.like(OrderManage::getTelephone, param.getCustomerPhone());
}
if (param.getCustomerId() != null) {
wrapper.nested(wrapperX -> wrapperX.eq(OrderManage::getOrderUser, param.getCustomerId())
wrapper.and(wrapper2 -> wrapper.eq(OrderManage::getOrderUser, param.getCustomerId())
.or(wrapper3 -> wrapper3.eq(OrderManage::getPayUser, param.getCustomerId())));
}
......@@ -583,15 +584,24 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
orderRecord.setUserFeedback(request.getUserFeedback());
//客照
orderRecord.setPicturePath(recordOrderRecordDataRequest.getPicturePath());
orderRecord.setPicturePath(picturePath);
//
if (StringUtils.isNotEmpty(picturePath)) {
orderRecord.setIsGuestPhoto(1);
}
orderRecordService.saveOrUpdate(orderRecord);
});
Customer customer = customerService.getById(orderManage.getOrderUser());
//订单数据完整度
double dataRate = this.countOrderDataRate(customer, orderManage);
orderManage.setDataIntegrity(dataRate);
orderManageMapper.updateById(orderManage);
try {
double dataRate = this.countOrderDataRate(orderManage.getId());
orderManage.setDataIntegrity(dataRate);
orderManageMapper.updateById(orderManage);
} catch (Exception e) {
}
}
@Override
......@@ -1016,46 +1026,56 @@ 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) {
if (customerDetail != null) {
if (StringUtils.isNotEmpty(customerDetail.getAgeGroup()) && !customerDetail.getAgeGroup().equals("undefine")) {
dataRate += 10;
}
if (cd.getJob() != null && !cd.getJob().isEmpty()) {
if (customerDetail.getJob() != null && !customerDetail.getJob().isEmpty()) {
dataRate += 10;
}
if (cd.getPreference() != null && !cd.getPreference().isEmpty()) {
if (customerDetail.getPreference() != null && !customerDetail.getPreference().isEmpty()) {
dataRate += 10;
}
if (cd.getCharacter() != null && !cd.getCharacter().isEmpty()) {
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();
}
}
}
......
package com.gogirl.application.product.purchase;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.product.purchase.PurchaseSkuType;
/**
* <p>
* sku类型 服务类
* </p>
*
* @author robbendev
* @since 2020-05-15
*/
public interface IPurchaseSkuTypeService extends IService<PurchaseSkuType> {
}
package com.gogirl.application.product.purchase.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.purchase.IPurchaseSkuTypeService;
import com.gogirl.domain.product.purchase.PurchaseSkuType;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuTypeMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* sku类型 服务实现类
* </p>
*
* @author robbendev
* @since 2020-05-15
*/
@Service
public class PurchaseSkuTypeServiceImpl extends ServiceImpl<PurchaseSkuTypeMapper, PurchaseSkuType> implements IPurchaseSkuTypeService {
}
......@@ -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,9 +407,13 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
if (orderId != null) {
OrderManage om = orderManageService.queryOrder(orderId);
double dataRate = orderManageService.countOrderDataRate(customer, om);
om.setDataIntegrity(dataRate);
orderManageService.updateById(om);
try {
double dataRate = orderManageService.countOrderDataRate(om.getId());
om.setDataIntegrity(dataRate);
orderManageService.updateById(om);
} catch (Exception e) {
}
}
}
......
......@@ -3,6 +3,7 @@ package com.gogirl.domain.order.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
......@@ -64,21 +65,27 @@ public class PurchaseOrder implements Serializable {
private Integer status;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(value = "待采购时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date waitPurchaseTime;
@ApiModelProperty(value = "确认采购时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date purchaseTime;
@ApiModelProperty(value = "入库时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date inStoreTime;
@ApiModelProperty(value = "出库时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date outStoreTime;
@ApiModelProperty(value = "收货时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date receiveTime;
@ApiModelProperty(value = "收货人id")
......
......@@ -73,4 +73,5 @@ public class OrderRecord implements Serializable {
@ApiModelProperty("关联订单id")
@TableField(exist = false)
private Integer orderId;
}
......@@ -19,7 +19,7 @@ public class OrderServeDescribe {
@ApiModelProperty("描述")
private String describe;
@ApiModelProperty("1.美甲款式描述;2.睫毛品牌;3.睫毛设计上睫毛;4.睫毛设计下睫毛;5.睫毛粗细;6.睫毛根数;7.睫毛长度8睫毛曲度;9睫毛颜色'")
@ApiModelProperty("1.美甲款式描述;2.睫毛品牌;3.睫毛设计上睫毛;4.睫毛设计下睫毛;5.睫毛粗细;6.睫毛根数;7.睫毛长度8睫毛曲度;9睫毛颜色 10睫毛款式类型'")
private Integer type;
@ApiModelProperty("1.显示;2.隐藏")
......
......@@ -38,7 +38,7 @@ public class PurchaseSku implements Serializable {
@ApiModelProperty("商品名字")
private String skuName;
@ApiModelProperty("商品类型表的id")
@ApiModelProperty("purchase_sku_type.id")
private Integer skuType;
@ApiModelProperty("商品型号描述")
......
package com.gogirl.domain.product.purchase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* sku类型
* </p>
*
* @author robbendev
* @since 2020-05-15
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "PurchaseSkuType对象", description = "sku类型")
public class PurchaseSkuType implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "类型名称")
private String name;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}
package com.gogirl.infrastructure.mapper.product.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.product.purchase.PurchaseSkuType;
/**
* <p>
* sku类型 Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-05-15
*/
public interface PurchaseSkuTypeMapper extends BaseMapper<PurchaseSkuType> {
}
......@@ -36,7 +36,6 @@ public class MallRefundOrderController {
return JsonResult.success();
}
//申请根据详情退款
@ApiOperation("根据详情退款")
@PostMapping("/customer/mallRefundOrder/refundOrderByDetailId")
......
......@@ -70,7 +70,8 @@ public class PurchaseOrderController {
@ApiOperation("更新采购订单")
@PostMapping("/technician/purchaseOrder/updatePurchaseOrder")
public JsonResult<Void> updatePurchaseOrder(@RequestBody PurchaseOrder purchaseOrder) {
public JsonResult<Void> updatePurchaseOrder(@RequestBody PurchaseOrder param) {
purchaseOrderCmdService.updatePurchaseOrder(param);
return JsonResult.success();
}
......
package com.gogirl.interfaces.product.purchase;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* sku类型 前端控制器
* </p>
*
* @author robbendev
* @since 2020-05-15
*/
@RestController
@RequestMapping("/purchase-sku-type")
public class PurchaseSkuTypeController {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuTypeMapper">
</mapper>
......@@ -8,6 +8,7 @@ import com.gogirl.application.market.coupon.CouponService;
import com.gogirl.application.market.coupon.MarketService;
import com.gogirl.application.market.timescard.TimesCardCustomerRelevanceService;
import com.gogirl.application.market.timescard.TimesCardUsedRecordService;
import com.gogirl.application.order.serve.OrderManageService;
import com.gogirl.application.store.store.StoreTechnicianService;
import com.gogirl.application.xcx.GogirlTokenService;
import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
......@@ -637,12 +638,34 @@ public class Test {
});
}
@Resource
OrderManageService orderManageService;
@org.junit.Test
public void oneAchievementReCalc() {
marketService.achievementReCalc(13175);
}
/**
* 重算2020订单完整度
*/
@org.junit.Test
public void reCalcOrderDataIntegrity() {
List<OrderManage> orderManageList = orderManageMapper.selectList(new LambdaQueryWrapper<OrderManage>()
.gt(OrderManage::getCreateTime, "2020-01-01"));
orderManageList.forEach(orderManage -> {
try {
Double dataIntegrity = orderManageService.countOrderDataRate(orderManage.getId());
orderManage.setDataIntegrity(dataIntegrity);
orderManageMapper.updateById(orderManage);
} catch (Exception e) {
}
});
}
@Resource
PurchaseSkuMapper purchaseSkuMapper;
......
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