处理积分下单,及退款
This commit is contained in:
@ -34,19 +34,19 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
|
||||
@Value("${file.avatar}")
|
||||
private String avatar;
|
||||
|
||||
// @Bean
|
||||
// public CorsFilter corsFilter() {
|
||||
// UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
||||
// CorsConfiguration config = new CorsConfiguration();
|
||||
// config.setAllowCredentials(true);
|
||||
// // 设置允许跨域请求的域名
|
||||
// config.setAllowedOriginPatterns(Arrays.asList("*"));
|
||||
// config.addAllowedOrigin("*");
|
||||
// config.addAllowedHeader("*");
|
||||
// config.addAllowedMethod("*");
|
||||
// source.registerCorsConfiguration("/**", config);
|
||||
// return new CorsFilter(source);
|
||||
// }
|
||||
@Bean
|
||||
public CorsFilter corsFilter() {
|
||||
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
||||
CorsConfiguration config = new CorsConfiguration();
|
||||
config.setAllowCredentials(true); // 允许cookies跨域
|
||||
config.addAllowedOriginPattern("*");// #允许向该服务器提交请求的URI,*表示全部允许,在SpringMVC中,如果设成*,会自动转成当前请求头中的Origin
|
||||
config.addAllowedHeader("*");// #允许访问的头信息,*表示全部
|
||||
config.setMaxAge(18000L);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
|
||||
config.addAllowedMethod("OPTIONS");// 允许提交请求的方法类型,*表示全部允许
|
||||
|
||||
source.registerCorsConfiguration("/**", config);
|
||||
return new CorsFilter(source);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
|
@ -1,47 +1,47 @@
|
||||
package co.yixiang.config;
|
||||
|
||||
/**
|
||||
* @author :LionCity
|
||||
* @date :Created in 2020-12-21 13:38
|
||||
* @description:
|
||||
* @modified By:
|
||||
* @version:
|
||||
*/
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpFilter;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Order(-9999)
|
||||
public class CorsFilter extends HttpFilter {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -8387103310559517243L;
|
||||
|
||||
@Override
|
||||
protected void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException, ServletException {
|
||||
|
||||
String origin = req.getHeader(HttpHeaders.ORIGIN);
|
||||
|
||||
if (!StringUtils.isEmpty(origin)){
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, origin);
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "Origin, x-requested-with, Content-Type, Accept, Authorization");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, OPTIONS, DELETE");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_MAX_AGE, "60");
|
||||
}
|
||||
super.doFilter(req, res, chain);
|
||||
}
|
||||
}
|
||||
//package co.yixiang.config;
|
||||
//
|
||||
///**
|
||||
// * @author :LionCity
|
||||
// * @date :Created in 2020-12-21 13:38
|
||||
// * @description:
|
||||
// * @modified By:
|
||||
// * @version:
|
||||
// */
|
||||
//import java.io.IOException;
|
||||
//
|
||||
//import javax.servlet.FilterChain;
|
||||
//import javax.servlet.ServletException;
|
||||
//import javax.servlet.http.HttpFilter;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//
|
||||
//import co.yixiang.utils.StringUtils;
|
||||
//import org.springframework.core.annotation.Order;
|
||||
//import org.springframework.http.HttpHeaders;
|
||||
//import org.springframework.stereotype.Component;
|
||||
//
|
||||
//@Component
|
||||
//@Order(-9999)
|
||||
//public class CorsFilter extends HttpFilter {
|
||||
//
|
||||
// /**
|
||||
// *
|
||||
// */
|
||||
// private static final long serialVersionUID = -8387103310559517243L;
|
||||
//
|
||||
// @Override
|
||||
// protected void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException, ServletException {
|
||||
//
|
||||
// String origin = req.getHeader(HttpHeaders.ORIGIN);
|
||||
//
|
||||
// if (!StringUtils.isEmpty(origin)){
|
||||
// res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, origin);
|
||||
// res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "Origin, x-requested-with, Content-Type, Accept, Authorization");
|
||||
// res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
|
||||
// res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, OPTIONS, DELETE");
|
||||
// res.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma");
|
||||
// res.addHeader(HttpHeaders.ACCESS_CONTROL_MAX_AGE, "60");
|
||||
// }
|
||||
// super.doFilter(req, res, chain);
|
||||
// }
|
||||
//}
|
||||
|
@ -6,7 +6,6 @@
|
||||
package co.yixiang.modules.security.config;
|
||||
|
||||
import co.yixiang.annotation.AnonymousAccess;
|
||||
import co.yixiang.config.CorsFilter;
|
||||
import co.yixiang.modules.security.security.JwtAccessDeniedHandler;
|
||||
import co.yixiang.modules.security.security.JwtAuthenticationEntryPoint;
|
||||
import co.yixiang.modules.security.security.TokenConfigurer;
|
||||
@ -24,6 +23,7 @@ import org.springframework.security.config.http.SessionCreationPolicy;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||
import org.springframework.web.filter.CorsFilter;
|
||||
import org.springframework.web.method.HandlerMethod;
|
||||
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
|
||||
|
@ -6,9 +6,9 @@ spring:
|
||||
druid:
|
||||
type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3306/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
username: root
|
||||
password: xxcs@!2019
|
||||
url: jdbc:mysql://localhost:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
username: yshopb2c
|
||||
password: bkfGfAimifjPZtNE
|
||||
|
||||
# 初始化配置
|
||||
initial-size: 3
|
||||
@ -41,10 +41,10 @@ spring:
|
||||
|
||||
redis:
|
||||
#数据库索引
|
||||
database: 2
|
||||
database: 5
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
password:
|
||||
port: 6399 # Redis服务器连接端口
|
||||
password: 6379@@6379 # Redis服务器连接密码(默认为空)
|
||||
#连接超时时间
|
||||
timeout: 5000
|
||||
|
||||
@ -87,8 +87,9 @@ swagger:
|
||||
|
||||
|
||||
file:
|
||||
path: /home/yshop/file/
|
||||
avatar: /home/yshop/avatar/
|
||||
path: /www/wwwroot/thapi.xinxintuan.co/upload/file/
|
||||
avatar: /www/wwwroot/thapi.xinxintuan.co/upload/avatar/
|
||||
# 文件大小 /M
|
||||
maxSize: 100
|
||||
avatarMaxSize: 5
|
||||
|
||||
|
18
yshop-app/Dockerfile
Normal file
18
yshop-app/Dockerfile
Normal file
@ -0,0 +1,18 @@
|
||||
FROM anapsix/alpine-java:8_server-jre_unlimited
|
||||
|
||||
MAINTAINER wangiegie@gmail.com
|
||||
|
||||
ENV TZ=Asia/Shanghai
|
||||
ENV JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
|
||||
|
||||
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
RUN mkdir -p /yshop-app
|
||||
|
||||
WORKDIR /yshop-app
|
||||
|
||||
EXPOSE 8008
|
||||
|
||||
ADD ./target/yshop-app-3.1.jar ./
|
||||
|
||||
CMD java $JAVA_OPTS -jar yshop-app-3.1.jar --spring.profiles.active=dev
|
@ -0,0 +1,47 @@
|
||||
package co.yixiang.common.config;
|
||||
|
||||
/**
|
||||
* @author :LionCity
|
||||
* @date :Created in 2020-12-21 13:38
|
||||
* @description:
|
||||
* @modified By:
|
||||
* @version:
|
||||
*/
|
||||
|
||||
import co.yixiang.utils.StringUtils;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpFilter;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
||||
@Component
|
||||
@Order(-9999)
|
||||
public class CorsFilter extends HttpFilter {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = -8387103310559517243L;
|
||||
|
||||
@Override
|
||||
protected void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException, ServletException {
|
||||
|
||||
String origin = req.getHeader(HttpHeaders.ORIGIN);
|
||||
|
||||
if (!StringUtils.isEmpty(origin)){
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, origin);
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, "Origin, x-requested-with, Content-Type, Accept, Authorization");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, OPTIONS, DELETE");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Cache-Control, Content-Language, Content-Type, Expires, Last-Modified, Pragma");
|
||||
res.addHeader(HttpHeaders.ACCESS_CONTROL_MAX_AGE, "60");
|
||||
}
|
||||
super.doFilter(req, res, chain);
|
||||
}
|
||||
}
|
@ -46,18 +46,18 @@ public class InterceptorConfig implements WebMvcConfigurer {
|
||||
registry.addInterceptor(this.getPermissionInterceptor());
|
||||
}
|
||||
|
||||
@Bean
|
||||
public CorsFilter corsFilter() {
|
||||
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
||||
CorsConfiguration config = new CorsConfiguration();
|
||||
config.setAllowCredentials(true);
|
||||
config.addAllowedOrigin("*");
|
||||
config.addAllowedHeader("*");
|
||||
config.addAllowedMethod("*");
|
||||
source.registerCorsConfiguration("/**", config);
|
||||
return new CorsFilter(source);
|
||||
|
||||
}
|
||||
// @Bean
|
||||
// public CorsFilter corsFilter() {
|
||||
// UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
||||
// CorsConfiguration config = new CorsConfiguration();
|
||||
// config.setAllowCredentials(true);
|
||||
// config.addAllowedOrigin("*");
|
||||
// config.addAllowedHeader("*");
|
||||
// config.addAllowedMethod("*");
|
||||
// source.registerCorsConfiguration("/**", config);
|
||||
// return new CorsFilter(source);
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -31,7 +31,7 @@ public class StoreIntegralController {
|
||||
/**
|
||||
* 获取积分产品列表
|
||||
*/
|
||||
@GetMapping("/products")
|
||||
@GetMapping("/products/integral")
|
||||
@ApiOperation(value = "获取积分产品列表",notes = "获取积分产品列表")
|
||||
public ApiResult<List<YxStoreProductQueryVo>> goodsList(YxStoreProductQueryParam productQueryParam){
|
||||
return ApiResult.ok(storeProductService.getGoodsList(productQueryParam));
|
||||
|
@ -13,14 +13,11 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.enums.ShipperCodeEnum;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.enums.*;
|
||||
import co.yixiang.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.aop.NoRepeatSubmit;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.enums.OrderLogEnum;
|
||||
import co.yixiang.modules.mp.domain.YxWechatTemplate;
|
||||
import co.yixiang.modules.mp.service.YxWechatTemplateService;
|
||||
import co.yixiang.modules.order.domain.YxStoreOrder;
|
||||
@ -177,7 +174,7 @@ public class StoreOrderController {
|
||||
|
||||
//开始处理支付
|
||||
//处理金额为0的情况
|
||||
if(order.getPayPrice().compareTo(BigDecimal.ZERO) <= 0){
|
||||
if(order.getPayPrice().compareTo(BigDecimal.ZERO) <= 0&&!param.getPayType().equals(PayTypeEnum.INTEGRAL.getValue())){
|
||||
storeOrderService.yuePay(orderId,yxUser.getUid());
|
||||
map.put("payMsg","支付成功");
|
||||
return ApiResult.ok(map,"支付成功");
|
||||
@ -218,7 +215,7 @@ public class StoreOrderController {
|
||||
map.put("result",orderDTO);
|
||||
|
||||
|
||||
if(storeOrder.getPayPrice().compareTo(BigDecimal.ZERO) <= 0){
|
||||
if(storeOrder.getPayPrice().compareTo(BigDecimal.ZERO) <= 0&&!param.getPaytype().equals(PayTypeEnum.INTEGRAL.getValue())){
|
||||
storeOrderService.yuePay(orderId,uid);
|
||||
return ApiResult.ok(map,"支付成功");
|
||||
}
|
||||
|
@ -5,9 +5,9 @@ spring:
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:mysql://localhost:3306/yshopb2c?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: xxcs@!2019
|
||||
url: jdbc:mysql://localhost:3366/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
username: yshopb2c
|
||||
password: bkfGfAimifjPZtNE
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
@ -47,10 +47,10 @@ spring:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
redis:
|
||||
host: 127.0.0.1 # Redis服务器地址
|
||||
database: 2 # Redis数据库索引(默认为0)
|
||||
port: 6379 # Redis服务器连接端口
|
||||
password: # Redis服务器连接密码(默认为空)
|
||||
host: localhost # Redis服务器地址
|
||||
database: 5 # Redis数据库索引(默认为0)
|
||||
port: 6399 # Redis服务器连接端口
|
||||
password: 6379@@6379 # Redis服务器连接密码(默认为空)
|
||||
jedis:
|
||||
pool:
|
||||
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
|
||||
@ -90,8 +90,8 @@ swagger:
|
||||
|
||||
# 文件存储路径
|
||||
file:
|
||||
path: /home/yshop/file/
|
||||
avatar: /home/yshop/avatar/
|
||||
path: /www/wwwroot/thapi.xinxintuan.co/upload/file/
|
||||
avatar: /www/wwwroot/thapi.xinxintuan.co/upload/avatar/
|
||||
# 文件大小 /M
|
||||
maxSize: 100
|
||||
avatarMaxSize: 5
|
||||
|
@ -906,11 +906,11 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
throw new YshopException("订单不存在");
|
||||
}
|
||||
|
||||
this.regressionIntegral(order);
|
||||
this.regressionIntegral(order,0);
|
||||
|
||||
this.regressionStock(order);
|
||||
this.regressionStock(order,0);
|
||||
|
||||
this.regressionCoupon(order);
|
||||
this.regressionCoupon(order,0);
|
||||
|
||||
yxStoreOrderMapper.deleteById(order.getId());
|
||||
}
|
||||
@ -1610,16 +1610,29 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
if(OrderInfoEnum.PAY_STATUS_1.getValue().equals(orderInfo.getPaid())) {
|
||||
throw new YshopException("该订单已支付");
|
||||
}
|
||||
|
||||
YxUserQueryVo userInfo = userService.getYxUserById(uid);
|
||||
orderInfo=handleOrder(orderInfo);
|
||||
orderInfo.getCartInfo().forEach(cart->{
|
||||
if(cart.getProductInfo().getIsIntegral()==0){
|
||||
throw new YshopException("该商品不为积分商品");
|
||||
}
|
||||
});
|
||||
YxUser userInfo = userService.getById(uid);
|
||||
|
||||
if(userInfo.getIntegral().compareTo(orderInfo.getPayIntegral()) < 0){
|
||||
throw new YshopException("积分不足");
|
||||
}
|
||||
|
||||
//扣除积分
|
||||
userService.decIntegral(uid,orderInfo.getPayIntegral().doubleValue());
|
||||
|
||||
//userService.decIntegral(uid,orderInfo.getPayIntegral().doubleValue());
|
||||
BigDecimal newIntegral = NumberUtil.sub(userInfo.getIntegral(), orderInfo.getPayIntegral());
|
||||
userInfo.setIntegral(newIntegral);
|
||||
userService.updateById(userInfo);
|
||||
//增加流水
|
||||
billService.expend(userInfo.getUid(), "兑换商品", BillDetailEnum.CATEGORY_2.getValue(),
|
||||
BillDetailEnum.TYPE_8.getValue(),
|
||||
orderInfo.getPayIntegral().doubleValue(),
|
||||
newIntegral.doubleValue(),
|
||||
"兑换商品扣除" + orderInfo.getPayIntegral().doubleValue() + "积分");
|
||||
//支付成功后处理
|
||||
this.paySuccess(orderInfo.getOrderId(),PayTypeEnum.INTEGRAL.getValue());
|
||||
}
|
||||
@ -1731,11 +1744,18 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
* 退回优惠券
|
||||
* @param order 订单
|
||||
*/
|
||||
private void regressionCoupon(YxStoreOrderQueryVo order) {
|
||||
if(OrderInfoEnum.PAY_STATUS_1.equals(order.getPaid())
|
||||
private void regressionCoupon(YxStoreOrderQueryVo order,Integer type) {
|
||||
if(type==0){
|
||||
if(OrderInfoEnum.PAY_STATUS_1.getValue().equals(order.getPaid())
|
||||
|| OrderStatusEnum.STATUS_MINUS_2.getValue().equals(order.getStatus())){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(!(OrderInfoEnum.PAY_STATUS_1.getValue().equals(order.getPaid())
|
||||
&& OrderInfoEnum.REFUND_STATUS_2.getValue().equals(order.getRefundStatus()))){
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(order.getCouponId() != null && order.getCouponId() > 0){
|
||||
YxStoreCouponUser couponUser = couponUserService
|
||||
@ -1760,11 +1780,18 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
* 退回库存
|
||||
* @param order 订单
|
||||
*/
|
||||
private void regressionStock(YxStoreOrderQueryVo order) {
|
||||
if(OrderInfoEnum.PAY_STATUS_1.equals(order.getPaid())
|
||||
private void regressionStock(YxStoreOrderQueryVo order,Integer type) {
|
||||
if(type==0){
|
||||
if(OrderInfoEnum.PAY_STATUS_1.getValue().equals(order.getPaid())
|
||||
|| OrderStatusEnum.STATUS_MINUS_2.getValue().equals(order.getStatus())){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(!(OrderInfoEnum.PAY_STATUS_1.getValue().equals(order.getPaid())
|
||||
&& OrderInfoEnum.REFUND_STATUS_2.getValue().equals(order.getRefundStatus()))){
|
||||
return;
|
||||
}
|
||||
}
|
||||
LambdaQueryWrapper<YxStoreOrderCartInfo> wrapper= new LambdaQueryWrapper<>();
|
||||
wrapper.in(YxStoreOrderCartInfo::getCartId, Arrays.asList(order.getCartId().split(",")));
|
||||
|
||||
@ -1790,11 +1817,19 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
* 退回积分
|
||||
* @param order 订单
|
||||
*/
|
||||
private void regressionIntegral(YxStoreOrderQueryVo order) {
|
||||
private void regressionIntegral(YxStoreOrderQueryVo order,Integer type) {
|
||||
if(type==0){
|
||||
if(OrderInfoEnum.PAY_STATUS_1.getValue().equals(order.getPaid())
|
||||
|| OrderStatusEnum.STATUS_MINUS_2.getValue().equals(order.getStatus())){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
if(!(OrderInfoEnum.PAY_STATUS_1.getValue().equals(order.getPaid())
|
||||
&& OrderInfoEnum.REFUND_STATUS_2.getValue().equals(order.getRefundStatus()))){
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(order.getPayIntegral().compareTo(BigDecimal.ZERO)>0){
|
||||
order.setUseIntegral(order.getPayIntegral());
|
||||
}
|
||||
@ -2189,9 +2224,9 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
@Override
|
||||
public void retrunStock(String orderId) {
|
||||
YxStoreOrderQueryVo order = this.getOrderInfo(orderId,null);
|
||||
this.regressionIntegral(order);
|
||||
this.regressionStock(order);
|
||||
this.regressionCoupon(order);
|
||||
this.regressionIntegral(order,1);
|
||||
this.regressionStock(order,1);
|
||||
this.regressionCoupon(order,1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user