Explorar o código

Merge branch 'master' of http://git.dayaedu.com/yonge/cooleshow

liujunchi %!s(int64=3) %!d(string=hai) anos
pai
achega
c2f6f810f5
Modificáronse 23 ficheiros con 134 adicións e 43 borrados
  1. 1 1
      cooleshow-bbs/src/main/resources/logback-spring.xml
  2. 1 1
      cooleshow-cms/src/main/resources/logback-spring.xml
  3. 1 1
      cooleshow-gateway/gateway-web/src/main/resources/logback-spring.xml
  4. 1 1
      cooleshow-resource/pom.xml
  5. 1 2
      cooleshow-resource/src/main/java/com/yonge/cooleshow/resource/ResourceApplication.java
  6. 1 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/UserOrderClient.java
  7. 1 1
      cooleshow-user/user-admin/src/main/resources/logback-spring.xml
  8. 9 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderRefundService.java
  9. 26 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  10. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java
  11. 8 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderPaymentServiceImpl.java
  12. 48 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderRefundServiceImpl.java
  13. 2 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  14. 2 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  15. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml
  16. 2 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherStyleVideoMapper.xml
  17. 22 9
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml
  18. 1 1
      cooleshow-user/user-classroom/src/main/resources/logback-spring.xml
  19. 1 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java
  20. 1 1
      cooleshow-user/user-student/src/main/resources/logback-spring.xml
  21. 1 1
      cooleshow-user/user-teacher/src/main/resources/logback-spring.xml
  22. 1 1
      cooleshow-user/user-website/src/main/resources/logback-spring.xml
  23. 1 0
      pom.xml

+ 1 - 1
cooleshow-bbs/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">
 		<root level="INFO">

+ 1 - 1
cooleshow-cms/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">

+ 1 - 1
cooleshow-gateway/gateway-web/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">

+ 1 - 1
cooleshow-resource/pom.xml

@@ -9,7 +9,7 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>cooleshow-bbs</artifactId>
+    <artifactId>cooleshow-resource</artifactId>
     <version>1.0</version>
 
     <properties>

+ 1 - 2
cooleshow-resource/src/main/java/com/yonge/cooleshow/resource/ResourceApplication.java

@@ -1,10 +1,9 @@
-package com.yonge.cooleshow.bbs;
+package com.yonge.cooleshow.resource;
 
 import com.spring4all.swagger.EnableSwagger2Doc;
 import com.yonge.cooleshow.common.constant.AppConstant;
 import com.yonge.toolset.base.BaseApplication;
 import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;

+ 1 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/UserOrderClient.java

@@ -95,7 +95,7 @@ public class UserOrderClient extends BaseController {
             }
             try {
                 DistributedLock.of(redissonClient)
-                        .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(userOrderVo.getUserId())
+                        .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(userOrderVo.getOrderNo())
                                 , () -> {
                                     if (MethodNameEnum.executePayment.equals(data.getMethodName())) {
                                         //支付交易

+ 1 - 1
cooleshow-user/user-admin/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">

+ 9 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderRefundService.java

@@ -56,7 +56,7 @@ public interface UserOrderRefundService extends IService<UserOrderRefund>  {
     HttpResponseResult<Boolean> doAuth(AuthOperaReq authOperaReq, SysUser user);
 
 	/**
-	 * 系統自動退款
+	 * 系統自動退款(退已完成的订单)
 	 * @param orderNo
 	 * @param reason
 	 * @return
@@ -64,6 +64,14 @@ public interface UserOrderRefundService extends IService<UserOrderRefund>  {
 	HttpResponseResult<UserOrderRefundBill> orderRefund(String orderNo, String reason);
 
 	/**
+	 * 交易失败退款(退已完成的订单)
+	 * @param data
+	 * @param reason
+	 * @return
+	 */
+	HttpResponseResult<UserOrderRefundBill> orderFailRefund(PaymentCallBack data, String orderNo, String reason);
+
+	/**
 	 * 退款回调
 	 * @param data
 	 */

+ 26 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -805,6 +805,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         sysConfig.put("liveStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_LIVE_ROOM_MINUTE));
         //直播结束后,XX分钟关闭房间
         sysConfig.put("liveEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE));
+        //提前XX分钟创建/进入琴房课房间时间
+        sysConfig.put("pianoStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PIANO_ROOM_MINUTE));
+        //琴房课结束后,XX分钟关闭房间
+        sysConfig.put("pianoEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_PIANO_ROOM_MINUTE));
 
         Map map = new HashMap();
         map.put("sysConfig", sysConfig);
@@ -848,6 +852,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         sysConfig.put("liveStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_LIVE_ROOM_MINUTE));
         //直播结束后,XX分钟关闭房间
         sysConfig.put("liveEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE));
+        //提前XX分钟创建/进入琴房课房间时间
+        sysConfig.put("pianoStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PIANO_ROOM_MINUTE));
+        //琴房课结束后,XX分钟关闭房间
+        sysConfig.put("pianoEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_PIANO_ROOM_MINUTE));
 
         Map map = new HashMap();
         map.put("sysConfig", sysConfig);
@@ -1451,6 +1459,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         sysConfig.put("liveStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_LIVE_ROOM_MINUTE));
         //直播结束后,XX分钟关闭房间
         sysConfig.put("liveEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_LIVE_ROOM_MINUTE));
+        //提前XX分钟创建/进入琴房课房间时间
+        sysConfig.put("pianoStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PIANO_ROOM_MINUTE));
+        //琴房课结束后,XX分钟关闭房间
+        sysConfig.put("pianoEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_PIANO_ROOM_MINUTE));
         return sysConfig;
     }
 
@@ -1620,7 +1632,6 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 //老师课酬状态改为已完成
                 courseScheduleTeacherSalaryService.update(null, Wrappers.<CourseScheduleTeacherSalary>lambdaUpdate()
                         .set(CourseScheduleTeacherSalary::getStatus, TeacherSalaryEnum.WAIT.getCode())
-                        .set(CourseScheduleTeacherSalary::getSettlementTime, new Date())
                         .in(CourseScheduleTeacherSalary::getCourseScheduleId, practiceList.stream().map(CourseScheduleStudentVo::getCourseId).collect(Collectors.toList())));
 
                 //清除缓存
@@ -1647,6 +1658,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                         .map(s -> {
                             Integer studentCount = s.getStudentCount();
                             Integer n = (Integer) WrapperUtil.strToFormula(formula, "n", String.valueOf(studentCount + 1));
+                            if (n == null) {
+                                throw new BizException("公式转换失败");
+                            }
                             s.setConsumTime(s.getSingleCourseTime() * n);
                             return s;
                         })
@@ -1700,7 +1714,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         String day = DateUtil.getDayAgoOrAftString(-settlementDay);
 
         List<UserAccountRecordDto> list = baseMapper.selectWaitCourse(day);
-        if (CollectionUtils.isNotEmpty(list)){
+        if (CollectionUtils.isNotEmpty(list)) {
             for (UserAccountRecordDto dto : list) {
                 userAccountService.accountChange(dto);
             }
@@ -1709,7 +1723,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             courseScheduleTeacherSalaryService.update(null, Wrappers.<CourseScheduleTeacherSalary>lambdaUpdate()
                     .set(CourseScheduleTeacherSalary::getStatus, TeacherSalaryEnum.COMPLETE.getCode())
                     .set(CourseScheduleTeacherSalary::getSettlementTime, new Date())
-                    .in(CourseScheduleTeacherSalary::getCourseScheduleId,bizIds));
+                    .in(CourseScheduleTeacherSalary::getCourseScheduleId, bizIds));
         }
 
     }
@@ -1764,6 +1778,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
         String formula = sysConfigService.findConfigValue(SysConfigConstant.PIANO_ROOM_TIME_FORMULA);
         Integer n = (Integer) WrapperUtil.strToFormula(formula, "n", String.valueOf(studentIds.size() + 1));//人数计算 公式n*(n-1) n包含老师
+        if (n == null) {
+            throw new BizException("公式转换失败");
+        }
         Integer consumTime = classNum * singleClssTime * n;//消耗时长 课程数*单课时长*人数
 
         List<CourseTimeEntity> timeList = arrangeCourseVo.getTimeList();//选课时间
@@ -1995,6 +2012,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
         String formula = sysConfigService.findConfigValue(SysConfigConstant.PIANO_ROOM_TIME_FORMULA);
         Integer n = (Integer) WrapperUtil.strToFormula(formula, "n", String.valueOf(studentPaymentList.size() + 1));//人数计算 公式n*(n-1) n包含老师
+        if (n == null) {
+            throw new BizException("公式转换失败");
+        }
         Integer time = schedule.getSingleCourseTime() * n;//消耗时长 课程数*单课时长*人数
 
         PianoRoomTime pianoRoomTime = pianoRoomTimeDao.selectOne(Wrappers.<PianoRoomTime>lambdaQuery().eq(PianoRoomTime::getTeacherId, teacherId));
@@ -2153,6 +2173,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         String formula = sysConfigService.findConfigValue(SysConfigConstant.PIANO_ROOM_TIME_FORMULA);
         Integer after = (Integer) WrapperUtil.strToFormula(formula, "n", String.valueOf(studentIds.size() + 1));//变更后
         Integer before = (Integer) WrapperUtil.strToFormula(formula, "n", String.valueOf(paymentList.size() + 1));//变更前
+        if (after == null || before == null) {
+            throw new BizException("公式转换失败");
+        }
         int diffTime = singleCourseTime * (after - before);//人数变更后单课耗时
         if (remainTime - diffTime < 0) {
             throw new BizException("剩余时长不足");

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java

@@ -40,6 +40,7 @@ public class HomeServiceImpl implements HomeService {
         userToDoNum.setMusicianNum(null == userToDoNum.getMusicianNum() ? 0 : userToDoNum.getMusicianNum());
         userToDoNum.setMusicNum(null == userToDoNum.getMusicNum() ? 0 : userToDoNum.getMusicNum());
         userToDoNum.setVideoCourseNum(null == userToDoNum.getVideoCourseNum() ? 0 : userToDoNum.getVideoCourseNum());
+        userToDoNum.setStyleNum(null == userToDoNum.getStyleNum()? 0 : userToDoNum.getStyleNum());
         return userToDoNum;
     }
 

+ 8 - 10
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderPaymentServiceImpl.java

@@ -7,9 +7,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderPayReq;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
-import com.yonge.cooleshow.biz.dal.service.SysUserContractRecordService;
-import com.yonge.cooleshow.biz.dal.service.SysUserService;
-import com.yonge.cooleshow.biz.dal.service.UserOrderService;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
@@ -34,7 +32,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.UserOrderPayment;
 import com.yonge.cooleshow.biz.dal.dao.UserOrderPaymentDao;
-import com.yonge.cooleshow.biz.dal.service.UserOrderPaymentService;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -62,6 +59,8 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
     private SysUserContractRecordService sysUserContractRecordService;
     @Autowired
     private SysUserService userService;
+    @Autowired
+    private UserOrderRefundService orderRefundService;
 
     @Override
     public UserOrderPayment detailByOrderNo(String orderNo, PayChannelEnum payChannel, TradeStatusEnum status) {
@@ -127,11 +126,7 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
             }
         }
         updateById(orderPayment);
-        if (TradeStatusEnum.succeeded.equals(orderPayment.getCloseStatus())) {
-            return true;
-        } else {
-            return false;
-        }
+        return true;
     }
 
 
@@ -273,6 +268,9 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
         }
         if (detail.getStatus().equals(OrderStatusEnum.WAIT_PAY) || detail.getStatus().equals(OrderStatusEnum.PAYING)) {
             userOrderService.orderSuccess(detail, data);
+        } else if (!detail.getStatus().equals(OrderStatusEnum.PAID)) {
+            //原路退还
+            orderRefundService.orderFailRefund(data, detail.getOrderNo(), "订单已超时,金额原路退回");
         }
 
         //处理支付完成签署协议
@@ -309,7 +307,7 @@ public class UserOrderPaymentServiceImpl extends ServiceImpl<UserOrderPaymentDao
         if (detail.getStatus().equals(OrderStatusEnum.WAIT_PAY) || detail.getStatus().equals(OrderStatusEnum.PAYING)) {
             userOrderService.doOrderCancel(detail, OrderStatusEnum.FAIL, "支付回调失败:" + errMsg);
             //关闭付款单
-            onlyClosePayment(detail.getOrderNo(), "支付回调失败:" + errMsg);
+            closePaymentAndReqOpen(detail.getOrderNo(), "支付回调失败:" + errMsg);
         }
     }
 

+ 48 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderRefundServiceImpl.java

@@ -290,6 +290,54 @@ public class UserOrderRefundServiceImpl extends ServiceImpl<UserOrderRefundDao,
         return doOrderRefund(orderRefunds);
     }
 
+    @Override
+    public HttpResponseResult<UserOrderRefundBill> orderFailRefund(PaymentCallBack data, String orderNo, String reason) {
+        UserOrderPayment orderPayment = orderPaymentService.detailByTransNoOrPaymentNo(data.getId(), data.getPaymentNo());
+        if (null == orderPayment) {
+            return HttpResponseResult.failed("未找到付款单");
+        }
+        //订单完成
+        UserOrderVo detail = orderService.detail(orderPayment.getOrderNo(), null);
+        if (null == detail) {
+            return HttpResponseResult.failed("未找到订单");
+        }
+        //退款的详情id
+        List<Long> detilIds = new ArrayList<>();
+
+        OrderRefundReq orderRefundReq = new OrderRefundReq();
+        orderRefundReq.setOrderId(detail.getId());
+        orderRefundReq.setUserId(detail.getUserId());
+        orderRefundReq.setReason(reason);
+        //退款金额
+        BigDecimal actualPrice = BigDecimal.ZERO;
+        for (UserOrderDetailVo vo : detail.getOrderDetailList()) {
+            detilIds.add(vo.getId());
+            actualPrice = actualPrice.add(vo.getActualPrice());
+        }
+        String join = StringUtil.join(detilIds, ",");
+
+        UserOrderRefund orderRefunds = new UserOrderRefund();
+        orderRefunds.setUserId(detail.getUserId());
+        orderRefunds.setOrderId(detail.getId());
+        orderRefunds.setOrderNo(detail.getOrderNo());
+        orderRefunds.setOredrDetilIds(join);
+        orderRefunds.setStatus(AuthStatusEnum.PASS);
+        orderRefunds.setApplyAmount(actualPrice);
+        orderRefunds.setReason(reason);
+        save(orderRefunds);
+
+        for (UserOrderDetailVo vo : detail.getOrderDetailList()) {
+            List<Long> collect = orderRefundReq.getOredrDetilIds().stream().filter(o -> o.equals(vo.getId())).collect(Collectors.toList());
+            if (CollectionUtils.isNotEmpty(collect)) {
+                Consumer<UserOrderDetailVo> refundAfterConsumer = refundAfter.get(vo.getGoodType());
+                if (!Objects.isNull(refundAfterConsumer)) {
+                    refundAfterConsumer.accept(vo);
+                }
+            }
+        }
+        return doOrderRefund(orderRefunds);
+    }
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -352,7 +352,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         for (UserOrderVo orderVo : waitPayOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
             boolean b = DistributedLock.of(redissonClient)
-                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getUserId())
+                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getOrderNo())
                             , () -> pollingCancelOrder(orderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
         }
 
@@ -363,7 +363,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         for (UserOrderVo orderVo : payingOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
             boolean b = DistributedLock.of(redissonClient)
-                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getUserId())
+                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getOrderNo())
                             , () -> pollingCancelOrder(orderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
         }
     }

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -892,7 +892,7 @@
         LEFT JOIN course_schedule_student_payment sp ON ts.course_schedule_id_ = sp.course_id_
         WHERE ts.course_group_type_ = 'LIVE'
         AND ts.status_ = 'WAIT'
-        <![CDATA[ AND ts.update_time_ <= #{day}]]>
+        <![CDATA[ AND DATE_FORMAT(ts.update_time_,'%Y-%m-%d') <= #{day}]]>
         UNION
         SELECT DISTINCT
             ts.teacher_id_ AS userId,
@@ -908,6 +908,6 @@
         LEFT JOIN course_schedule_student_payment sp ON ts.course_schedule_id_ = sp.course_id_
         WHERE ts.course_group_type_ = 'PRACTICE'
         AND ts.status_ = 'WAIT'
-        <![CDATA[ AND ts.update_time_ <= #{day}]]>
+        <![CDATA[ AND DATE_FORMAT(ts.update_time_,'%Y-%m-%d') <= #{day}]]>
     </select>
 </mapper>

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml

@@ -8,7 +8,7 @@
 			(select count(1) from teacher_auth_musician_record where teacher_auth_status_ = 'DOING') as musicianNum,
         	(select count(1) from music_sheet where del_flag_ = 0 and audit_status_ = 'DOING') as musicNum,
         	(select count(1) from video_lesson_auth_record where audit_status_ = 'DOING') as videoCourseNum,
-			(select count(1) from teacher_style_video where auth_status_ = 'DOING') as styleNum
+			(select count(1) from teacher_style_video where del_flag_ = 0 and auth_status_ = 'DOING') as styleNum
         from dual
 	</select>
 

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherStyleVideoMapper.xml

@@ -53,7 +53,7 @@
 		FROM teacher_style_video t
 		left join sys_user u on t.user_id_ = u.id_
 		left join sys_user v on t.verify_user_id_ = v.id_
-		where (t.del_flag_ = 0 or t.auth_status_ != 'DOING')
+		where t.del_flag_ = 0
 		<if test="null != param.search and '' != param.search">
 			AND (
 			t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
@@ -105,7 +105,7 @@
 		LEFT JOIN teacher a on t.user_id_ = a.user_id_
 		LEFT JOIN sys_user u on t.user_id_ = u.id_
 		LEFT JOIN teacher_total ta on t.user_id_ = ta.user_id_
-		where t.del_flag_ = '0' and t.auth_status_ = 'PASS'
+		where t.del_flag_ = 0 and t.auth_status_ = 'PASS'
 		<if test="param.username != null and param.username != ''">
 			AND u.username_ LIKE CONCAT('%', #{param.username}, '%')
 		</if>

+ 22 - 9
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml

@@ -237,21 +237,34 @@
     <select id="getUserOrderByPaymentNoOrTransNo" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
         SELECT
             <include refid="baseColumns"/>,
-            p1.open_type_ as openType,
-            p1.payment_client_ as paymentClient,
-            p1.pay_channel_ as payChannel,
-            p1.trans_no_ as transNo,
-            p1.payment_no_ as paymentNo
+            p.open_type_ as openType,
+            p.payment_client_ as paymentClient,
+            p.pay_channel_ as payChannel,
+            p.trans_no_ as transNo,
+            p.payment_no_ as paymentNo
         FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
-        left join user_order_payment p1 on t.order_no_ = p1.order_no_ and (p1.status_ = 'pending' or p1.status_ = 'succeeded')
+        left join user_order_payment p on t.order_no_ = p.order_no_ and (p.status_ = 'pending' or p.status_ = 'succeeded')
         <where>
             <choose>
                 <when test="paymentNo != null and paymentNo != ''">
-                    and p.payment_no_ = #{paymentNo}
+                    and (
+                        exists (select 1 from user_order_payment p1 where t.order_no_ = p1.order_no_ and  p1.payment_no_ = #{paymentNo}) or
+                        exists (
+                                select 1 from user_order_refund b1
+                                left join user_order_refund_bill b2 on b1.id_ = b2.refund_id_
+                                where t.order_no_ = b1.order_no_ and b2.bill_no_ = #{paymentNo}
+                        )
+                    )
                 </when>
                 <otherwise>
-                    and p.trans_no_ = #{transNo}
+                    and (
+                        exists (select 1 from user_order_payment p1 where p1.trans_no_ = #{transNo}) or
+                        exists (
+                                select 1 from user_order_refund b1
+                                left join user_order_refund_bill b2 on b1.id_ = b2.refund_id_
+                                where t.order_no_ = b1.order_no_ and b2.trans_no_ = #{transNo}
+                        )
+                    )
                 </otherwise>
             </choose>
         </where>

+ 1 - 1
cooleshow-user/user-classroom/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">
 		<root level="INFO">

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/UserOrderController.java

@@ -158,7 +158,7 @@ public class UserOrderController extends BaseController {
 
         try {
             HttpResponseResult<Boolean> res = DistributedLock.of(redissonClient)
-                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(user.getId())
+                    .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(payReq.getOrderNo())
                             , () -> userOrderService.orderCancel(payReq), 60L, TimeUnit.SECONDS);
             if(null != res){
                 return res;

+ 1 - 1
cooleshow-user/user-student/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">

+ 1 - 1
cooleshow-user/user-teacher/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">
 		<root level="INFO">

+ 1 - 1
cooleshow-user/user-website/src/main/resources/logback-spring.xml

@@ -27,7 +27,7 @@
 		</encoder>
 	</appender>
 
-	<logger name="com.yonge.cooleshow" level="INFO" />
+	<logger name="com.yonge" level="INFO" />
 	<!--本地环境:打印控制台 -->
 	<springProfile name="local">
 		<root level="INFO">

+ 1 - 0
pom.xml

@@ -370,6 +370,7 @@
 		<module>toolset</module>
 	    <module>cooleshow-task</module>
 		<module>cooleshow-mall</module>
+		<module>cooleshow-resource</module>
         <module>cooleshow-websocket</module>
         <module>cooleshow-api</module>
     </modules>