处理积分下单,及退款

This commit is contained in:
朱耘稷
2021-01-06 20:29:16 +08:00
committed by xuwenbo
parent d6eab7adff
commit 89babb8247
11 changed files with 217 additions and 119 deletions

18
yshop-app/Dockerfile Normal file
View 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

View File

@ -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);
}
}

View File

@ -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

View File

@ -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));

View File

@ -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,"支付成功");
}

View File

@ -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