1.4.5 bug修复版本:修复商品详情优惠券不显示,修复后台发货与退款判断冲突,修复公众号提示服务器出现故障的问题

This commit is contained in:
hupeng
2019-12-15 21:19:41 +08:00
parent a060e73e39
commit addcb683f3
10 changed files with 44 additions and 13 deletions

View File

@ -143,13 +143,14 @@ yshop基于当前流行技术组合的前后端分离商城系统 SpringBoot2
- 1.8、修复新增配置数据有时候不成功问题等 - 1.8、修复新增配置数据有时候不成功问题等
- 1.4.1个人中心新增账单流水 - 1.4.1个人中心新增账单流水
- yshop1.4.2 发布更新如下: - yshop1.4.2 发布更新如下:
-1.商品新增多图评价 - 1.商品新增多图评价
-2.订单新增快递查询 - 2.订单新增快递查询
-1.4.3版本,后台图标更新,后台模块重新拆分,物流快递单独管理,导出最新sql - 1.4.3版本,后台图标更新,后台模块重新拆分,物流快递单独管理,导出最新sql
- 1.4.4版本新增模板消息通知、H5端商家管理发货修改及其列表时间显示修复
#### 反馈交流 #### 反馈交流
- QQ交流群907721261 - QQ交流群964166879
- 喜欢这个商城后台的小伙伴留下你的小星星啦,star,star哦 - 喜欢这个商城后台的小伙伴留下你的小星星啦,star,star哦
#### 特别鸣谢 #### 特别鸣谢

View File

@ -81,6 +81,8 @@ public interface YxStoreOrderService extends BaseService<YxStoreOrder> {
WxPayMpOrderResult wxPay(String orderId) throws WxPayException; WxPayMpOrderResult wxPay(String orderId) throws WxPayException;
String aliPay(String orderId) throws Exception;
void delCacheOrderInfo(int uid, String key); void delCacheOrderInfo(int uid, String key);
YxStoreOrder createOrder(int uid, String key, OrderParam param); YxStoreOrder createOrder(int uid, String key, OrderParam param);

View File

@ -3,6 +3,8 @@ package co.yixiang.modules.order.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.*; import cn.hutool.core.util.*;
import co.yixiang.common.constant.CommonConstant; import co.yixiang.common.constant.CommonConstant;
import co.yixiang.domain.AlipayConfig;
import co.yixiang.domain.vo.TradeVo;
import co.yixiang.exception.ErrorRequestException; import co.yixiang.exception.ErrorRequestException;
import co.yixiang.modules.activity.service.YxStoreCombinationService; import co.yixiang.modules.activity.service.YxStoreCombinationService;
import co.yixiang.modules.activity.service.YxStorePinkService; import co.yixiang.modules.activity.service.YxStorePinkService;
@ -50,6 +52,7 @@ import co.yixiang.modules.user.web.vo.YxWechatUserQueryVo;
import co.yixiang.modules.wechat.entity.YxWechatTemplate; import co.yixiang.modules.wechat.entity.YxWechatTemplate;
import co.yixiang.mp.service.WxMpTemplateMessageService; import co.yixiang.mp.service.WxMpTemplateMessageService;
import co.yixiang.modules.wechat.service.YxWechatTemplateService; import co.yixiang.modules.wechat.service.YxWechatTemplateService;
import co.yixiang.service.AlipayService;
import co.yixiang.utils.OrderUtil; import co.yixiang.utils.OrderUtil;
import co.yixiang.utils.RedisUtil; import co.yixiang.utils.RedisUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@ -159,6 +162,9 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
@Autowired @Autowired
private YxExpressService expressService; private YxExpressService expressService;
@Autowired
private AlipayService alipayService;
/** /**
* 订单退款 * 订单退款
@ -909,6 +915,27 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<YxStoreOrderMapper,
} }
/**
* 支付宝支付
* @param orderId,支付宝支付 本系统已经集成,请自行根据下面找到代码整合下即可
* @return
*/
@Override
public String aliPay(String orderId) throws Exception {
AlipayConfig alipay = alipayService.find();
if(ObjectUtil.isNull(alipay)) throw new ErrorRequestException("请先配置支付宝");
YxStoreOrderQueryVo orderInfo = getOrderInfo(orderId,0);
if(ObjectUtil.isNull(orderInfo)) throw new ErrorRequestException("订单不存在");
if(orderInfo.getPaid() == 1) throw new ErrorRequestException("该订单已支付");
if(orderInfo.getPayPrice().doubleValue() <= 0) throw new ErrorRequestException("该支付无需支付");
TradeVo trade = new TradeVo();
trade.setOutTradeNo(orderId);
String payUrl = alipayService.toPayAsWeb(alipay,trade);
return payUrl;
}
/** /**
* 微信支付 * 微信支付
* @param orderId * @param orderId

View File

@ -167,7 +167,8 @@ public class StoreOrderController extends BaseController {
if(StrUtil.isNotEmpty(orderId)){ if(StrUtil.isNotEmpty(orderId)){
switch (param.getPayType()){ switch (param.getPayType()){
case "weixin": case "weixin":
if(param.getFrom().equals("weixinh5")){ if(param.getFrom().equals("weixinh5")){//此此为支付宝支付
throw new ErrorRequestException("H5模式不支持微信支付请用公众号演示"); throw new ErrorRequestException("H5模式不支持微信支付请用公众号演示");
} }
try { try {

View File

@ -4,7 +4,7 @@ spring:
druid: druid:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://localhost:3306/yshop?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false url: jdbc:log4jdbc:mysql://localhost:3306/yshop?serverTimezone=Asia/Shanghai&useSSL=false
username: yshop username: yshop
password: password:

View File

@ -107,7 +107,7 @@ public class OrderUtil {
* @return * @return
*/ */
public static int orderStatus(int paid,int status,int refund_status){ public static int orderStatus(int paid,int status,int refund_status){
//todo 1-付款 2-未发货 3-退款中 4-待收货 5-待评价 6-已完成 7-已退款 //todo 1-付款 2-未发货 3-退款中 4-待收货 5-待评价 6-已完成 7-已退款
int _status = 0; int _status = 0;
if(paid == 0 && status == 0 && refund_status == 0){ if(paid == 0 && status == 0 && refund_status == 0){

View File

@ -135,7 +135,7 @@ public class WxMpConfiguration {
//newRouter.rule().async(false).msgType(EVENT).event(EventType.SCAN).handler(this.scanHandler).end(); //newRouter.rule().async(false).msgType(EVENT).event(EventType.SCAN).handler(this.scanHandler).end();
// 默认 // 默认
// newRouter.rule().async(false).handler(this.msgHandler).end(); newRouter.rule().async(false).handler(this.msgHandler).end();
return newRouter; return newRouter;
} }

View File

@ -22,7 +22,6 @@ public class MsgHandler extends AbstractHandler {
Map<String, Object> context, WxMpService weixinService, Map<String, Object> context, WxMpService weixinService,
WxSessionManager sessionManager) { WxSessionManager sessionManager) {
this.logger.info("hupeng");
if (!wxMessage.getMsgType().equals(XmlMsgType.EVENT)) { if (!wxMessage.getMsgType().equals(XmlMsgType.EVENT)) {
//TODO 可以选择将消息保存到本地 //TODO 可以选择将消息保存到本地
} }
@ -41,7 +40,7 @@ public class MsgHandler extends AbstractHandler {
} }
//TODO 组装回复消息 //TODO 组装回复消息
String content = "收到信息内容:" + JsonUtils.toJson(wxMessage); String content = "yshop收到信息内容:" + wxMessage.getContent();
return new TextBuilder().build(content, wxMessage, weixinService); return new TextBuilder().build(content, wxMessage, weixinService);

View File

@ -133,7 +133,7 @@ public class YxStoreOrder implements Serializable {
// 快递名称/送货人姓名 // 快递名称/送货人姓名
@Column(name = "delivery_name") @Column(name = "delivery_name")
@NotBlank(message = "请选择快递公司") //@NotBlank(message = "请选择快递公司")
private String deliveryName; private String deliveryName;
@Column(name = "delivery_sn") @Column(name = "delivery_sn")
@ -146,7 +146,7 @@ public class YxStoreOrder implements Serializable {
// 快递单号/手机号 // 快递单号/手机号
@Column(name = "delivery_id") @Column(name = "delivery_id")
@NotBlank(message = "快递单号不能为空") //@NotBlank(message = "快递单号不能为空")
private String deliveryId; private String deliveryId;
// 消费赚取积分 // 消费赚取积分

View File

@ -139,7 +139,8 @@ public class YxStoreOrderController {
@PutMapping(value = "/yxStoreOrder") @PutMapping(value = "/yxStoreOrder")
@PreAuthorize("hasAnyRole('ADMIN','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')") @PreAuthorize("hasAnyRole('ADMIN','YXSTOREORDER_ALL','YXSTOREORDER_EDIT')")
public ResponseEntity update(@Validated @RequestBody YxStoreOrder resources){ public ResponseEntity update(@Validated @RequestBody YxStoreOrder resources){
if(StrUtil.isBlank(resources.getDeliveryName())) throw new BadRequestException("请选择快递公司");
if(StrUtil.isBlank(resources.getDeliveryId())) throw new BadRequestException("快递单号不能为空");
YxExpressDTO expressDTO = yxExpressService.findById(Integer.valueOf(resources YxExpressDTO expressDTO = yxExpressService.findById(Integer.valueOf(resources
.getDeliveryName())); .getDeliveryName()));
if(ObjectUtil.isNull(expressDTO)){ if(ObjectUtil.isNull(expressDTO)){