Merge branch 'company_server' of https://gitee.com/doc_wei01/skyeye into company_server

This commit is contained in:
lqy 2024-12-06 20:30:43 +08:00
commit 8240edd095
9 changed files with 51 additions and 29 deletions

View file

@ -78,7 +78,7 @@ public class OrderCommentController {
* @param inputObject 入参以及用户信息等获取对象
* @param outputObject 出参以及提示信息的返回值对象
*/
@ApiOperation(id = "queryOrderCommentPageList", value = "分页查询商品订单评价信息", method = "POST", allUse = "2")
@ApiOperation(id = "queryOrderCommentPageList", value = "分页查询商品订单评价信息", method = "POST", allUse = "0")
@ApiImplicitParams(classBean = CommonPageInfo.class)
@RequestMapping("/post/OrderCommentController/queryOrderCommentPageList")
public void queryOrderCommentPageList(InputObject inputObject, OutputObject outputObject) {

View file

@ -74,7 +74,7 @@ public class OrderItem extends OperatorUserInfo {
private Integer count;
@TableField("comment_state")
@Property(value = "是否评价",enumClass = WhetherEnum.class)
@Property(value = "是否评价", enumClass = WhetherEnum.class)
private Integer commentState;
@TableField("price")

View file

@ -40,7 +40,8 @@ public enum ShopOrderState implements SkyeyeEnumClass {
SALESRETURNED(15, "已退货", true, false),
EXCHANGEING(16, "换货中", true, false),
EXCHANGED(17, "已换货", true, false),
PARTIALLYDONE(18,"部分完成",true,false);
PARTIALLYDONE(18,"部分完成",true,false),
PARTIALEVALUATION(19,"部分评价",true,false);
private Integer key;

View file

@ -39,4 +39,6 @@ public interface OrderService extends SkyeyeBusinessService<Order> {
void setOrderCancle(String orderId);
void updateOrderItemState(InputObject inputObject, OutputObject outputObject);
void updateOrderState(String orderId, Integer partiallydoneKey);
}

View file

@ -28,6 +28,7 @@ import com.skyeye.order.entity.OrderComment;
import com.skyeye.order.entity.OrderItem;
import com.skyeye.order.enums.OrderCommentType;
import com.skyeye.order.enums.ShopOrderCommentState;
import com.skyeye.order.enums.ShopOrderState;
import com.skyeye.order.service.OrderCommentService;
import com.skyeye.order.service.OrderItemService;
import com.skyeye.order.service.OrderService;
@ -94,6 +95,9 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl<OrderComm
@Override
public void createPrepose(OrderComment entity) {
OrderItem orderItem = orderItemService.selectById(entity.getOrderItemId());
if (StrUtil.isEmpty(orderItem.getId())) {// ObjectUtil.isEmpty()无法判断orderItem可能原因orderItemService.selectById()方法返回的对象默认存在serviceClassName字段
throw new CustomException("所评价的子订单不存在");
}
// 客户评价判断
if (orderItem.getCommentState() == WhetherEnum.DISABLE_USING.getKey()) {// 子订单未评价
if (entity.getType() == OrderCommentType.CUSTOMERLATER.getKey()) {
@ -144,10 +148,14 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl<OrderComm
} else if (orderComment.getType() == OrderCommentType.CUSTOMERFiRST.getKey()) {// 客户首评
orderItemService.updateCommentStateById(orderComment.getOrderItemId());// 修改此子订单的评价状态为已评价
List<OrderItem> orderItemList = orderItemService.queryListByStateAndOrderId(orderComment.getOrderId(), WhetherEnum.DISABLE_USING.getKey());
if (CollectionUtil.isNotEmpty(orderItemList)) {// 总订单的评价状态修改
orderService.updateCommonState(orderComment.getOrderId(), ShopOrderCommentState.PORTION.getKey());
} else {
boolean allMatch = orderItemList.stream()
.allMatch(Orderitem -> Orderitem.getCommentState() == WhetherEnum.ENABLE_USING.getKey());
if (allMatch) {
orderService.updateCommonState(orderComment.getOrderId(), ShopOrderCommentState.FINISHED.getKey());
orderService.updateOrderState(orderComment.getOrderId(), ShopOrderState.EVALUATED.getKey());
} else {
orderService.updateCommonState(orderComment.getOrderId(), ShopOrderCommentState.PORTION.getKey());
orderService.updateOrderState(orderComment.getOrderId(), ShopOrderState.PARTIALEVALUATION.getKey());
}
}
}
@ -162,6 +170,7 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl<OrderComm
iMaterialNormsService.setDataMation(orderComment, OrderComment::getNormsId);
memberService.setDataMation(orderComment, OrderComment::getCreateId);
shopStoreService.setDataMation(orderComment, OrderComment::getStoreId);
refreshCache(id);
return orderComment;
}
@ -188,7 +197,7 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl<OrderComm
return queryWrapper;
}
private List<OrderComment> getOrderCommentListByType(String typeId, Integer type,String objectId) {
private List<OrderComment> getOrderCommentListByType(String typeId, Integer type, String objectId) {
QueryWrapper<OrderComment> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(MybatisPlusUtil.toColumns(OrderComment::getType), type)
.and(wrap -> {
@ -214,9 +223,9 @@ public class OrderCommentServiceImpl extends SkyeyeBusinessServiceImpl<OrderComm
String typeId = commonPageInfo.getTypeId();
String objectId = commonPageInfo.getObjectId();
Page pages = PageHelper.startPage(commonPageInfo.getPage(), commonPageInfo.getLimit());
List<OrderComment> customerFirst = getOrderCommentListByType(typeId, OrderCommentType.CUSTOMERFiRST.getKey(),objectId);
List<OrderComment> customerLater = getOrderCommentListByType(typeId, OrderCommentType.CUSTOMERLATER.getKey(),objectId);
List<OrderComment> merchantReply = getOrderCommentListByType(typeId, OrderCommentType.MERCHANT.getKey(),objectId);
List<OrderComment> customerFirst = getOrderCommentListByType(typeId, OrderCommentType.CUSTOMERFiRST.getKey(), objectId);
List<OrderComment> customerLater = getOrderCommentListByType(typeId, OrderCommentType.CUSTOMERLATER.getKey(), objectId);
List<OrderComment> merchantReply = getOrderCommentListByType(typeId, OrderCommentType.MERCHANT.getKey(), objectId);
if (CollectionUtil.isEmpty(customerFirst)) {
return;
}

View file

@ -118,7 +118,7 @@ public class OrderItemServiceImpl extends SkyeyeBusinessServiceImpl<OrderItemDao
}
@Override
public void updateCommentStateById(String id){
public void updateCommentStateById(String id) {
UpdateWrapper<OrderItem> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq(CommonConstants.ID, id)
.set(MybatisPlusUtil.toColumns(OrderItem::getCommentState), WhetherEnum.ENABLE_USING.getKey());
@ -135,7 +135,7 @@ public class OrderItemServiceImpl extends SkyeyeBusinessServiceImpl<OrderItemDao
@Override
public void UpdateOrderItemState(String orderItemId) {
OrderItem orderItem = selectById(orderItemId);
if (orderItem.getOrderItemState().equals(CommonNumConstants.NUM_TWO)){
if (orderItem.getOrderItemState().equals(CommonNumConstants.NUM_TWO)) {
throw new CustomException("该订单已收货");
}
UpdateWrapper<OrderItem> updateWrapper = new UpdateWrapper<>();

View file

@ -13,8 +13,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.google.common.base.Joiner;
import com.skyeye.annotation.service.SkyeyeService;
import com.skyeye.base.business.service.impl.SkyeyeBusinessServiceImpl;
import com.skyeye.common.constans.CommonCharConstants;
import com.skyeye.common.constans.CommonConstants;
import com.skyeye.common.constans.CommonNumConstants;
import com.skyeye.common.constans.QuartzConstants;
@ -31,8 +33,6 @@ import com.skyeye.coupon.enums.PromotionDiscountType;
import com.skyeye.coupon.enums.PromotionMaterialScope;
import com.skyeye.coupon.service.CouponUseMaterialService;
import com.skyeye.coupon.service.CouponUseService;
import com.skyeye.erp.service.IMaterialNormsService;
import com.skyeye.erp.service.IMaterialService;
import com.skyeye.eve.rest.quartz.SysQuartzMation;
import com.skyeye.eve.service.IAreaService;
import com.skyeye.eve.service.IQuartzService;
@ -47,6 +47,7 @@ import com.skyeye.order.enums.ShopOrderState;
import com.skyeye.order.service.OrderItemService;
import com.skyeye.order.service.OrderService;
import com.skyeye.rest.pay.service.IPayService;
import com.skyeye.rest.shopmaterialnorms.sevice.IShopMaterialNormsService;
import com.skyeye.store.entity.ShopAddress;
import com.skyeye.store.service.ShopAddressService;
import com.skyeye.store.service.ShopTradeCartService;
@ -79,10 +80,7 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
private IAreaService iAreaService;
@Autowired
private IMaterialService iMaterialService;
@Autowired
private IMaterialNormsService iMaterialNormsService;
private IShopMaterialNormsService iShopMaterialNormsService;
@Autowired
private CouponUseService couponUseService;
@ -134,17 +132,21 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
checkAndSetVariable(order);
// 活动信息及积分操作方法
checkAndSetActive(order);
refreshCache(order.getId());
}
private void checkAndSetItemCouponUse(Order order) {// 子单的优惠券操作
List<OrderItem> orderItemList = order.getOrderItemList();
// 设置商品信息商品规格信息和优惠券信息
iMaterialNormsService.setDataMation(orderItemList, OrderItem::getNormsId);
iMaterialService.setDataMation(orderItemList, OrderItem::getMaterialId);
List<String> normsIdList = orderItemList.stream().map(OrderItem::getNormsId).collect(Collectors.toList());
List<Map<String, Object>> normsListMap = iShopMaterialNormsService.queryShopMaterialByNormsIdList(Joiner.on(CommonCharConstants.COMMA_MARK).join(normsIdList));
Map<String, String> normsPriceMap = normsListMap.stream()
.collect(Collectors.toMap(map -> map.get("normsId").toString(), map -> map.get("salePrice").toString()));
for (OrderItem orderItem : orderItemList) {// 计算每一个子单的总价
if (!normsPriceMap.containsKey(orderItem.getNormsId())) {
throw new CustomException("商城不存在normsId: " + orderItem.getNormsId());
}
// 获取子单单价 ->
String salePrice = CalculationUtil.multiply(orderItem.getNormsMation().get("salePrice").toString(), "100");
String salePrice = CalculationUtil.multiply(normsPriceMap.get(orderItem.getNormsId()), "100");
// 设置子单总价
String price = CalculationUtil.multiply(String.valueOf(orderItem.getCount()), salePrice, CommonNumConstants.NUM_SIX);
orderItem.setPrice(price);
@ -290,7 +292,9 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
ShopOrderState.SIGN.getKey(), // 已签收
ShopOrderState.COMPLETED.getKey(), // 已完成
ShopOrderState.UNEVALUATE.getKey(), // 待评价
ShopOrderState.EVALUATED.getKey()});// 已评价
ShopOrderState.EVALUATED.getKey(),// 已评价
ShopOrderState.PARTIALLYDONE.getKey(),//部分完成
ShopOrderState.PARTIALEVALUATION.getKey()});//部分评价
break;
case "4":// 已取消
stateList = Arrays.asList(new Integer[]{ShopOrderState.CANCELED.getKey()});
@ -338,12 +342,14 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
CommonPageInfo commonPageInfo = inputObject.getParams(CommonPageInfo.class);
Page pages = PageHelper.startPage(commonPageInfo.getPage(), commonPageInfo.getLimit());
List<Integer> stateList = new ArrayList<>();
switch (commonPageInfo.getType()) {
switch (StrUtil.isEmpty(commonPageInfo.getType()) ? "0" : commonPageInfo.getType()) {
// todo 未提交已提交和支付失败三个枚举未现
case "1": // 未支付
stateList = Arrays.asList(new Integer[]{ShopOrderState.UNPAID.getKey()});
break;
case "2": // 待收货
stateList = Arrays.asList(new Integer[]{
ShopOrderState.UNDELIVERED.getKey(),// 待发货
ShopOrderState.DELIVERED.getKey(), // 已发货
ShopOrderState.TRANSPORTING.getKey()});//运输中
@ -353,8 +359,9 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
ShopOrderState.SIGN.getKey(), // 已签收
ShopOrderState.COMPLETED.getKey(), // 已完成
ShopOrderState.UNEVALUATE.getKey(), // 待评价
ShopOrderState.EVALUATED.getKey()});// 已评价
ShopOrderState.PARTIALLYDONE.getKey();//部分完成
ShopOrderState.EVALUATED.getKey(),// 已评价
ShopOrderState.PARTIALLYDONE.getKey(),//部分完成
ShopOrderState.PARTIALEVALUATION.getKey()});//部分评价
break;
case "4":// 已取消
stateList = Arrays.asList(new Integer[]{ShopOrderState.CANCELED.getKey()});
@ -439,6 +446,7 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
iAreaService.setDataMation(order, Order::getTownshipId);
shopAddressService.setDataMation(order, Order::getAddressId);
pennyToYuan(order);// ->
refreshCache(id);
return order;
}
@ -605,7 +613,7 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
orderItemService.UpdateOrderItemState(orderItemId);
List<OrderItem> orderItemList = orderItemService.queryOrderItemByParentId(orderId);
boolean allTwo = orderItemList.stream().map(OrderItem::getOrderItemState)
.allMatch(orderItemState -> orderItemState == CommonNumConstants.NUM_TWO);
.allMatch(orderItemState -> orderItemState == CommonNumConstants.NUM_TWO);
if (allTwo) {
Integer partiallydoneKey = ShopOrderState.COMPLETED.getKey();
updateOrderState(orderId, partiallydoneKey);
@ -615,7 +623,8 @@ public class OrderServiceImpl extends SkyeyeBusinessServiceImpl<OrderDao, Order>
}
}
private void updateOrderState(String orderId, Integer partiallydoneKey) {
@Override
public void updateOrderState(String orderId, Integer partiallydoneKey) {
UpdateWrapper<Order> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq(CommonConstants.ID, orderId);
updateWrapper.set(MybatisPlusUtil.toColumns(Order::getState), partiallydoneKey);

View file

@ -65,6 +65,6 @@ public class ShopTradeCart extends OperatorUserInfo {
private Integer count;
@TableField("selected")
@ApiModelProperty(value = "是否选中", required = "required,num",enumClass = WhetherEnum.class)
@ApiModelProperty(value = "是否选中", required = "required,num", enumClass = WhetherEnum.class)
private Integer selected;
}

View file

@ -118,6 +118,7 @@ public class ShopTradeCartServiceImpl extends SkyeyeBusinessServiceImpl<ShopTrad
QueryWrapper<ShopTradeCart> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopTradeCart::getMaterialId), shopTradeCart.getMaterialId());
queryWrapper.eq(MybatisPlusUtil.toColumns(ShopTradeCart::getNormsId), shopTradeCart.getNormsId());
queryWrapper.eq(CommonConstants.ID,userId);
ShopTradeCart one = getOne(queryWrapper);
if (ObjectUtil.isNotEmpty(one)) {
shopTradeCart.setId(one.getId());