支付回调未更新售后状态、菜单模糊查询
This commit is contained in:
@ -8,12 +8,22 @@
|
||||
*/
|
||||
package co.yixiang.modules.system.service.dto;
|
||||
|
||||
import co.yixiang.annotation.Query;
|
||||
import lombok.Data;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hupeng
|
||||
* @date 2020-05-14
|
||||
*/
|
||||
@Data
|
||||
public class MenuQueryCriteria{
|
||||
|
||||
@Query(blurry = "name")
|
||||
private String blurry;
|
||||
|
||||
@Query(type = Query.Type.BETWEEN)
|
||||
private List<Timestamp> createTime;
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.constant.SystemConfigConstants;
|
||||
import co.yixiang.enums.AfterSalesStatusEnum;
|
||||
import co.yixiang.enums.BillDetailEnum;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.enums.PayMethodEnum;
|
||||
@ -19,6 +20,8 @@ import co.yixiang.enums.PayTypeEnum;
|
||||
import co.yixiang.modules.order.domain.YxStoreOrder;
|
||||
import co.yixiang.modules.order.service.YxStoreOrderService;
|
||||
import co.yixiang.modules.order.vo.YxStoreOrderQueryVo;
|
||||
import co.yixiang.modules.sales.domain.StoreAfterSales;
|
||||
import co.yixiang.modules.sales.service.StoreAfterSalesService;
|
||||
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||
import co.yixiang.modules.user.domain.YxUserRecharge;
|
||||
import co.yixiang.modules.user.service.YxUserRechargeService;
|
||||
@ -26,6 +29,7 @@ import co.yixiang.modules.mp.config.WxMpConfiguration;
|
||||
import co.yixiang.modules.mp.config.WxPayConfiguration;
|
||||
import co.yixiang.modules.mp.config.WxMaConfiguration;
|
||||
import co.yixiang.utils.BigNum;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse;
|
||||
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
|
||||
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
|
||||
@ -54,6 +58,7 @@ import java.io.PrintWriter;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @ClassName WechatController
|
||||
@ -69,6 +74,7 @@ public class WechatController {
|
||||
private final YxStoreOrderService orderService;
|
||||
private final YxSystemConfigService systemConfigService;
|
||||
private final YxUserRechargeService userRechargeService;
|
||||
private final StoreAfterSalesService storeAfterSalesService;
|
||||
|
||||
|
||||
/**
|
||||
@ -202,6 +208,14 @@ public class WechatController {
|
||||
storeOrder.setRefundPrice(refundFee);
|
||||
orderService.updateById(storeOrder);
|
||||
orderService.retrunStock(orderId);
|
||||
//售后状态修改
|
||||
LambdaQueryWrapper<StoreAfterSales> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(StoreAfterSales::getOrderCode, orderId);
|
||||
StoreAfterSales storeAfterSales = storeAfterSalesService.getOne(wrapper);
|
||||
if (Objects.nonNull(storeAfterSales)) {
|
||||
storeAfterSales.setState(AfterSalesStatusEnum.STATUS_3.getValue());
|
||||
storeAfterSalesService.updateById(storeAfterSales);
|
||||
}
|
||||
return WxPayNotifyResponse.success("处理成功!");
|
||||
} catch (WxPayException | IllegalAccessException e) {
|
||||
log.error(e.getMessage());
|
||||
|
@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Copyright (C) 2018-2021
|
||||
* All rights reserved, Designed By www.yixiang.co
|
||||
|
||||
*/
|
||||
package co.yixiang.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* 售后状态枚举
|
||||
*
|
||||
* @author hupeng
|
||||
* @date 2021/12/21
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AfterSalesStatusEnum {
|
||||
|
||||
STATUS_0(0,"已提交等待平台审核"),
|
||||
STATUS_1(1,"平台已审核,等待用户发货/退款"),
|
||||
STATUS_2(2,"用户已发货"),
|
||||
STATUS_3(3,"已完成");
|
||||
|
||||
private Integer value;
|
||||
private String desc;
|
||||
|
||||
public static AfterSalesStatusEnum toType(int value) {
|
||||
return Stream.of(AfterSalesStatusEnum.values())
|
||||
.filter(p -> p.value == value)
|
||||
.findAny()
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
package co.yixiang.modules.sales.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.AfterSalesStatusEnum;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.exception.ErrorRequestException;
|
||||
@ -101,7 +101,7 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
storeAfterSales.setReasons(storeAfterSalesParam.getReasonForApplication());
|
||||
storeAfterSales.setExplains(storeAfterSalesParam.getApplicationInstructions());
|
||||
storeAfterSales.setExplainImg(storeAfterSalesParam.getApplicationDescriptionPicture());
|
||||
storeAfterSales.setState(0);
|
||||
storeAfterSales.setState(AfterSalesStatusEnum.STATUS_0.getValue());
|
||||
storeAfterSales.setSalesState(0);
|
||||
storeAfterSales.setCreateTime(Timestamp.valueOf(LocalDateTime.now()));
|
||||
storeAfterSales.setIsDel(0);
|
||||
@ -176,8 +176,8 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
integers.add(3);
|
||||
}
|
||||
baseMapper.selectPage(storeAfterSalesPage, Wrappers.<StoreAfterSales>lambdaQuery()
|
||||
.eq(uid != null, StoreAfterSales::getUserId, uid).in(status == 1, StoreAfterSales::getState, integers)
|
||||
.in(status != 0, StoreAfterSales::getState, integers)
|
||||
.eq(uid != null, StoreAfterSales::getUserId, uid).in(status.equals(AfterSalesStatusEnum.STATUS_1.getValue()), StoreAfterSales::getState, integers)
|
||||
.in(!status.equals(AfterSalesStatusEnum.STATUS_0.getValue()), StoreAfterSales::getState, integers)
|
||||
.eq(StringUtils.isNotBlank(orderCode), StoreAfterSales::getOrderCode, orderCode)
|
||||
.orderByDesc(StoreAfterSales::getCreateTime)
|
||||
.eq(StoreAfterSales::getIsDel, ShopCommonEnum.DELETE_0.getValue()));
|
||||
@ -237,7 +237,7 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
if (storeAfterSales == null) {
|
||||
throw new YshopException("未查询到售后订单信息");
|
||||
}
|
||||
if (storeAfterSales.getState() == 2 || storeAfterSales.getState() == 3) {
|
||||
if (storeAfterSales.getState().equals(AfterSalesStatusEnum.STATUS_2.getValue()) || storeAfterSales.getState().equals(AfterSalesStatusEnum.STATUS_3.getValue())) {
|
||||
throw new YshopException("订单不能撤销");
|
||||
}
|
||||
storeAfterSales.setSalesState(1);
|
||||
@ -267,13 +267,13 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
@Override
|
||||
public Boolean addLogisticsInformation(String code, String name, String postalCode, String orderCode) {
|
||||
StoreAfterSales storeAfterSales = baseMapper.selectOne(Wrappers.<StoreAfterSales>lambdaQuery().eq(StoreAfterSales::getOrderCode, orderCode));
|
||||
if (storeAfterSales.getState() != 1) {
|
||||
if (!storeAfterSales.getState().equals(AfterSalesStatusEnum.STATUS_1.getValue())) {
|
||||
throw new YshopException("当前状态不能添加物流信息!");
|
||||
}
|
||||
storeAfterSales.setShipperCode(code);
|
||||
storeAfterSales.setDeliverySn(postalCode);
|
||||
storeAfterSales.setDeliveryName(name);
|
||||
storeAfterSales.setState(2);
|
||||
storeAfterSales.setState(AfterSalesStatusEnum.STATUS_2.getValue());
|
||||
|
||||
//操作记录
|
||||
StoreAfterSalesStatus storeAfterSalesStatus = new StoreAfterSalesStatus();
|
||||
@ -297,7 +297,7 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
public Object salesCheck(Long salesId, String orderCode, Integer approvalStatus, String consignee, String phoneNumber, String address) {
|
||||
StoreAfterSales storeAfterSales = baseMapper.selectOne(Wrappers.<StoreAfterSales>lambdaQuery().eq(StoreAfterSales::getOrderCode, orderCode).eq(StoreAfterSales::getId, salesId));
|
||||
if (approvalStatus == 0) {
|
||||
storeAfterSales.setState(1);
|
||||
storeAfterSales.setState(AfterSalesStatusEnum.STATUS_1.getValue());
|
||||
if (storeAfterSales.getServiceType() == 1) {
|
||||
if (StringUtils.isEmpty(consignee) || StringUtils.isEmpty(phoneNumber) || StringUtils.isEmpty(address)) {
|
||||
throw new ErrorRequestException("请输入收货人信息");
|
||||
@ -315,7 +315,7 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
storeAfterSalesStatus.setOperator("admin");
|
||||
storeAfterSalesStatusMapper.insert(storeAfterSalesStatus);
|
||||
} else {
|
||||
storeAfterSales.setState(1);
|
||||
storeAfterSales.setState(AfterSalesStatusEnum.STATUS_1.getValue());
|
||||
storeAfterSales.setSalesState(2);
|
||||
//操作记录
|
||||
StoreAfterSalesStatus storeAfterSalesStatus = new StoreAfterSalesStatus();
|
||||
@ -334,7 +334,7 @@ public class StoreAfterSalesServiceImpl extends BaseServiceImpl<StoreAfterSalesM
|
||||
@Override
|
||||
public StoreAfterSales makeMoney(Long salesId, String orderCode) {
|
||||
StoreAfterSales storeAfterSales = baseMapper.selectOne(Wrappers.<StoreAfterSales>lambdaQuery().eq(StoreAfterSales::getOrderCode, orderCode).eq(StoreAfterSales::getId, salesId));
|
||||
storeAfterSales.setState(3);
|
||||
storeAfterSales.setState(AfterSalesStatusEnum.STATUS_3.getValue());
|
||||
baseMapper.updateById(storeAfterSales);
|
||||
//操作记录
|
||||
StoreAfterSalesStatus storeAfterSalesStatus = new StoreAfterSalesStatus();
|
||||
|
Reference in New Issue
Block a user