|
|
@@ -23,7 +23,11 @@ import com.zhongzheng.modules.order.service.IOrderGoodsService;
|
|
|
import com.zhongzheng.modules.order.service.IOrderService;
|
|
|
import com.zhongzheng.modules.order.vo.OrderGoodsRefundVo;
|
|
|
import com.zhongzheng.modules.order.vo.OrderGoodsVo;
|
|
|
+import com.zhongzheng.modules.user.bo.UserExamRecordQueryBo;
|
|
|
+import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
|
|
|
import com.zhongzheng.modules.user.domain.User;
|
|
|
+import com.zhongzheng.modules.user.service.IUserExamRecordService;
|
|
|
+import com.zhongzheng.modules.user.service.IUserStudyRecordService;
|
|
|
import com.zhongzheng.modules.wx.service.IWxPayService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -57,6 +61,10 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
|
|
|
private IWxPayService iWxPayService;
|
|
|
@Autowired
|
|
|
private IClassGradeUserService iClassGradeUserService;
|
|
|
+ @Autowired
|
|
|
+ private IUserExamRecordService iUserExamRecordService;
|
|
|
+ @Autowired
|
|
|
+ private IUserStudyRecordService iUserStudyRecordService;
|
|
|
|
|
|
@Override
|
|
|
public OrderGoodsRefundVo queryById(Long refundId){
|
|
|
@@ -134,11 +142,23 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
|
|
|
Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,bo.getGoodsId()));
|
|
|
if(goods.getGoodsType()==1){
|
|
|
//视频商品
|
|
|
-
|
|
|
+ UserStudyRecordQueryBo userStudyRecordQueryBo = new UserStudyRecordQueryBo();
|
|
|
+ userStudyRecordQueryBo.setGoodsId(goods.getGoodsId());
|
|
|
+ userStudyRecordQueryBo.setUserId(order.getUserId());
|
|
|
+ Long userSeeTime = iUserStudyRecordService.getUserSeeTime(userStudyRecordQueryBo);
|
|
|
+ if(userSeeTime>=(30*60)){ //超30分钟不满足退款
|
|
|
+ throw new CustomException("不满足退款");
|
|
|
+ }
|
|
|
}
|
|
|
if(goods.getGoodsType()==2){
|
|
|
//题库商品
|
|
|
-
|
|
|
+ UserExamRecordQueryBo userExamRecordQueryBo = new UserExamRecordQueryBo();
|
|
|
+ userExamRecordQueryBo.setGoodsId(goods.getGoodsId());
|
|
|
+ userExamRecordQueryBo.setUserId(order.getUserId());
|
|
|
+ Long doQuestionNum = iUserExamRecordService.getUserDoQuestionNum(userExamRecordQueryBo);
|
|
|
+ if(doQuestionNum>=30){ //超30道题不满足退款
|
|
|
+ throw new CustomException("不满足退款");
|
|
|
+ }
|
|
|
}
|
|
|
OrderGoodsRefund add = getOne(new LambdaQueryWrapper<OrderGoodsRefund>().eq(OrderGoodsRefund::getGoodsId,bo.getGoodsId()).eq(OrderGoodsRefund::getOrderSn,bo.getOrderSn()));
|
|
|
String out_trade_no = null;
|