From f112b50c669469435efacb27a3f731b0b55f9c0c Mon Sep 17 00:00:00 2001 From: hupeng Date: Thu, 19 Dec 2019 20:22:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=8F=8A=E5=85=B6=E5=88=97=E8=A1=A8sku?= =?UTF-8?q?=E8=A7=84=E6=A0=BC=E6=98=BE=E7=A4=BA=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/co/yixiang/config/SwaggerConfig.java | 63 --------------- .../co/yixiang/config/SwaggerConfig2.java | 65 ---------------- .../impl/YxStoreOrderCartInfoServiceImpl.java | 8 +- .../service/impl/YxStoreOrderServiceImpl.java | 8 -- .../impl/YxStoreOrderStatusServiceImpl.java | 8 +- .../service/impl/YxStoreCartServiceImpl.java | 18 +++-- .../resources/config/application-prod.yml | 6 +- .../co/yixiang/config/RedissonConfig.java | 47 ----------- .../java/co/yixiang/redisson/DelayJob.java | 17 ---- .../co/yixiang/redisson/DelayJobService.java | 32 -------- .../java/co/yixiang/redisson/ExecuteJob.java | 10 --- .../java/co/yixiang/redisson/JobTimer.java | 77 ------------------- 12 files changed, 17 insertions(+), 342 deletions(-) delete mode 100644 yshop-api/src/main/java/co/yixiang/config/SwaggerConfig.java delete mode 100644 yshop-api/src/main/java/co/yixiang/config/SwaggerConfig2.java delete mode 100644 yshop-tools/src/main/java/co/yixiang/config/RedissonConfig.java delete mode 100644 yshop-tools/src/main/java/co/yixiang/redisson/DelayJob.java delete mode 100644 yshop-tools/src/main/java/co/yixiang/redisson/DelayJobService.java delete mode 100644 yshop-tools/src/main/java/co/yixiang/redisson/ExecuteJob.java delete mode 100644 yshop-tools/src/main/java/co/yixiang/redisson/JobTimer.java diff --git a/yshop-api/src/main/java/co/yixiang/config/SwaggerConfig.java b/yshop-api/src/main/java/co/yixiang/config/SwaggerConfig.java deleted file mode 100644 index a7d89052..00000000 --- a/yshop-api/src/main/java/co/yixiang/config/SwaggerConfig.java +++ /dev/null @@ -1,63 +0,0 @@ -package co.yixiang.config; - -import com.google.common.base.Predicates; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.ParameterBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.schema.ModelRef; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.Parameter; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -import java.util.ArrayList; -import java.util.List; - -/** - * api页面 /swagger-ui.html - * @author Zheng Jie - * @date 2018-11-23 - */ - -//@Configuration -//@EnableSwagger2 -public class SwaggerConfig { - - @Value("${jwt.header}") - private String tokenHeader; - - @Value("${swagger.enabled}") - private Boolean enabled; - - @Bean - public Docket createRestApi() { - ParameterBuilder ticketPar = new ParameterBuilder(); - List pars = new ArrayList(); - ticketPar.name(tokenHeader).description("token") - .modelRef(new ModelRef("string")) - .parameterType("header") - .defaultValue("Bearer ") - .required(true) - .build(); - pars.add(ticketPar.build()); - return new Docket(DocumentationType.SWAGGER_2) - .enable(enabled) - .apiInfo(apiInfo()) - .select() - .paths(Predicates.not(PathSelectors.regex("/error.*"))) - .build() - .globalOperationParameters(pars); - } - - private ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("yshop 接口文档") - .version("1.0") - .build(); - } - -} diff --git a/yshop-api/src/main/java/co/yixiang/config/SwaggerConfig2.java b/yshop-api/src/main/java/co/yixiang/config/SwaggerConfig2.java deleted file mode 100644 index f0c20d49..00000000 --- a/yshop-api/src/main/java/co/yixiang/config/SwaggerConfig2.java +++ /dev/null @@ -1,65 +0,0 @@ -package co.yixiang.config; - -import com.google.common.base.Predicates; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.ParameterBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.schema.ModelRef; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.Parameter; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -import java.util.ArrayList; -import java.util.List; - -/** - * api页面 /swagger-ui.html - * @author Zheng Jie - * @date 2018-11-23 - */ - -//@Configuration -//@EnableSwagger2 -public class SwaggerConfig2 { - - @Value("${jwt.header}") - private String tokenHeader; - - @Value("${swagger.enabled}") - private Boolean enabled; - - @Bean - public Docket createRestApi() { - ParameterBuilder ticketPar = new ParameterBuilder(); - List pars = new ArrayList(); - ticketPar.name(tokenHeader).description("token") - .modelRef(new ModelRef("string")) - .parameterType("header") - .defaultValue("Bearer ") - .required(true) - .build(); - pars.add(ticketPar.build()); - return new Docket(DocumentationType.SWAGGER_2) - .enable(enabled) - .apiInfo(apiInfo()) - .select() - .apis(RequestHandlerSelectors.basePackage("co.yixiang.modules")) - .paths(Predicates.not(PathSelectors.regex("/error.*"))) - .build() - .globalOperationParameters(pars); - } - - private ApiInfo apiInfo() { - return new ApiInfoBuilder() - .title("yshop 接口文档") - .version("1.0") - .build(); - } - -} diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderCartInfoServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderCartInfoServiceImpl.java index cfc742d4..74b891d6 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderCartInfoServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderCartInfoServiceImpl.java @@ -4,10 +4,7 @@ import cn.hutool.core.util.IdUtil; import co.yixiang.modules.order.entity.YxStoreOrderCartInfo; import co.yixiang.modules.order.mapper.YxStoreOrderCartInfoMapper; import co.yixiang.modules.order.service.YxStoreOrderCartInfoService; -import co.yixiang.modules.order.web.param.YxStoreOrderCartInfoQueryParam; -import co.yixiang.modules.order.web.vo.YxStoreOrderCartInfoQueryVo; import co.yixiang.common.service.impl.BaseServiceImpl; -import co.yixiang.common.web.vo.Paging; import co.yixiang.modules.shop.web.vo.YxStoreCartQueryVo; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -16,10 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.metadata.OrderItem; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.io.Serializable; + import java.util.ArrayList; import java.util.List; diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java index c8b67389..e2a6a750 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java @@ -41,13 +41,10 @@ import co.yixiang.modules.shop.service.YxStoreProductReplyService; import co.yixiang.modules.shop.service.YxStoreProductService; import co.yixiang.modules.shop.service.YxSystemConfigService; import co.yixiang.modules.shop.web.vo.YxStoreCartQueryVo; -//import co.yixiang.modules.task.CancelOrderService; import co.yixiang.modules.user.entity.*; import co.yixiang.modules.user.service.*; import co.yixiang.modules.user.web.vo.YxUserAddressQueryVo; import co.yixiang.modules.user.web.vo.YxUserQueryVo; -//import co.yixiang.redisson.DelayJob; -//import co.yixiang.redisson.DelayJobService; import co.yixiang.modules.task.DelayJobService; import co.yixiang.modules.user.web.vo.YxWechatUserQueryVo; import co.yixiang.modules.wechat.entity.YxWechatTemplate; @@ -66,11 +63,6 @@ import com.github.binarywang.wxpay.config.WxPayConfig; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.WxPayService; import lombok.extern.slf4j.Slf4j; -//import org.redisson.RedissonDelayedQueue; -//import org.redisson.api.RDelayedQueue; -//import org.redisson.api.RQueue; -//import org.redisson.api.RedissonClient; -//import org.apache.webservice.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.beans.factory.annotation.Autowired; diff --git a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderStatusServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderStatusServiceImpl.java index 3a65acbc..4019a77d 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderStatusServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderStatusServiceImpl.java @@ -3,20 +3,14 @@ package co.yixiang.modules.order.service.impl; import co.yixiang.modules.order.entity.YxStoreOrderStatus; import co.yixiang.modules.order.mapper.YxStoreOrderStatusMapper; import co.yixiang.modules.order.service.YxStoreOrderStatusService; -import co.yixiang.modules.order.web.param.YxStoreOrderStatusQueryParam; -import co.yixiang.modules.order.web.vo.YxStoreOrderStatusQueryVo; import co.yixiang.common.service.impl.BaseServiceImpl; -import co.yixiang.common.web.vo.Paging; import co.yixiang.utils.OrderUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.beans.factory.annotation.Autowired; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.metadata.OrderItem; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.io.Serializable; + /** diff --git a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreCartServiceImpl.java b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreCartServiceImpl.java index 14cf0f02..28867ce6 100644 --- a/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreCartServiceImpl.java +++ b/yshop-api/src/main/java/co/yixiang/modules/shop/service/impl/YxStoreCartServiceImpl.java @@ -166,16 +166,17 @@ public class YxStoreCartServiceImpl extends BaseServiceImpl 0){ - storeProduct = storeCombinationMapper.combinatiionInfo(storeCart.getCombinationId()); + storeProduct = ObjectUtil.clone(storeCombinationMapper.combinatiionInfo(storeCart.getCombinationId())); }else if(storeCart.getSeckillId() > 0){ - storeProduct = storeSeckillMapper.seckillInfo(storeCart.getSeckillId()); + storeProduct = ObjectUtil.clone(storeSeckillMapper.seckillInfo(storeCart.getSeckillId())); }else{ - storeProduct = productService - .getYxStoreProductById(storeCart.getProductId()); + //必须得重新克隆创建一个新对象 + storeProduct = ObjectUtil.clone(productService + .getYxStoreProductById(storeCart.getProductId())); } YxStoreCartQueryVo storeCartQueryVo = cartMap.toDto(storeCart); - storeCartQueryVo.setProductInfo(storeProduct); + if(ObjectUtil.isNull(storeProduct)){ YxStoreCart yxStoreCart = new YxStoreCart(); yxStoreCart.setIsDel(1); @@ -192,6 +193,7 @@ public class YxStoreCartServiceImpl extends BaseServiceImpl map = new LinkedHashMap<>(); map.put("valid",valid); map.put("invalid",invalid); @@ -313,7 +319,7 @@ public class YxStoreCartServiceImpl extends BaseServiceImpl blockingQueue = client.getBlockingQueue(JobTimer.jobsTag); -// RDelayedQueue delayedQueue = client.getDelayedQueue(blockingQueue); -// delayedQueue.offer(job,delay,TimeUnit.SECONDS); -// } -// -//} \ No newline at end of file diff --git a/yshop-tools/src/main/java/co/yixiang/redisson/ExecuteJob.java b/yshop-tools/src/main/java/co/yixiang/redisson/ExecuteJob.java deleted file mode 100644 index 1fcac553..00000000 --- a/yshop-tools/src/main/java/co/yixiang/redisson/ExecuteJob.java +++ /dev/null @@ -1,10 +0,0 @@ -//package co.yixiang.redisson; -// -///** -// * Created by kl on 2018/7/20. -// * Content :延时job执行器接口 -// */ -//public interface ExecuteJob { -// -// void execute(DelayJob job); -//} diff --git a/yshop-tools/src/main/java/co/yixiang/redisson/JobTimer.java b/yshop-tools/src/main/java/co/yixiang/redisson/JobTimer.java deleted file mode 100644 index a7b78efd..00000000 --- a/yshop-tools/src/main/java/co/yixiang/redisson/JobTimer.java +++ /dev/null @@ -1,77 +0,0 @@ -//package co.yixiang.redisson; -// -//import cn.hutool.core.util.ObjectUtil; -//import org.redisson.api.RBlockingQueue; -//import org.redisson.api.RDelayedQueue; -//import org.redisson.api.RedissonClient; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.context.ApplicationContext; -//import org.springframework.stereotype.Component; -//import javax.annotation.PostConstruct; -//import java.util.concurrent.ExecutorService; -//import java.util.concurrent.Executors; -//import java.util.concurrent.TimeUnit; -// -///** -// * 消费已经到点的延时job服务,通过job参数调用业务执行器实现 -// */ -//@Component -//public class JobTimer { -// -// static final String jobsTag = "customer_jobtimer_jobs"; -// @Autowired -// private RedissonClient client; -// -// @Autowired -// private ApplicationContext context; -// -// ExecutorService executorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2); -// -// @PostConstruct -// public void startJobTimer() { -// RBlockingQueue blockingQueue = client.getBlockingQueue(jobsTag); -// -// new Thread() { -// @Override -// public void run() { -// while (true) { -// try { -// DelayJob job = blockingQueue.take(); -// if(ObjectUtil.isNotNull(job)){ -// executorService.execute(new ExecutorTask(context, job)); -// RDelayedQueue delayedQueue = client.getDelayedQueue(blockingQueue); -// delayedQueue.destroy(); -// } -// } catch (Exception e) { -// RDelayedQueue delayedQueue = client.getDelayedQueue(blockingQueue); -// delayedQueue.destroy(); -// e.printStackTrace(); -// try { -// TimeUnit.SECONDS.sleep(60); -// } catch (Exception ex) { -// } -// } -// } -// } -// }.start(); -// } -// -// class ExecutorTask implements Runnable { -// -// private ApplicationContext context; -// -// private DelayJob delayJob; -// -// public ExecutorTask(ApplicationContext context, DelayJob delayJob) { -// this.context = context; -// this.delayJob = delayJob; -// } -// -// @Override -// public void run() { -// ExecuteJob service = (ExecuteJob) context.getBean(delayJob.getAClass()); -// service.execute(delayJob); -// } -// } -// -//}