Sfoglia il codice sorgente

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

liujunchi 3 anni fa
parent
commit
b65f06cddd

+ 9 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -101,7 +101,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         SysUser user = get(id);
 
         if (user == null) {
-            throw new BizException("户不存在");
+            throw new BizException("户不存在");
         }
 
         user.setUpdateTime(new Date());
@@ -158,11 +158,19 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
             sysUserDao.saveTeacher(sysUser.getId());
             //创建老师账户
             sysUserDao.createUserAccount(sysUser.getId());
+
+            //用户默认昵称
+            sysUser.setUsername("游客"+sysUser.getId());
+            sysUserDao.update(sysUser);
             return queryUserInfoByPhone(phone);
         } else if (StringUtils.equalsIgnoreCase(clientId, "STUDENT")) {
             sysUser.setUserType("STUDENT");
             sysUserDao.insert(sysUser);
             saveStudent(sysUser);
+
+            //用户默认昵称
+            sysUser.setUsername("游客"+sysUser.getId());
+            sysUserDao.update(sysUser);
             return queryUserInfoByPhone(phone);
         }
         return null;

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleDao.java

@@ -49,6 +49,7 @@ public interface CourseScheduleDao extends BaseMapper<CourseSchedule> {
      * @param param 传入参数
      *              <p> - studentId 学生id
      *              <p> - status 课程状态 NOT_START未开始 ING进行中 COMPLETE已完成
+     *              <p> - statusList 课程状态集合 NOT_START未开始 ING进行中 COMPLETE已完成
      *              <p> - classDate  年月日
      *              <p> - startClassDate 开始时间-年月日
      *              <p> - endClassDate 结束时间-年月日

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/UserOrderDao.java

@@ -25,7 +25,7 @@ public interface UserOrderDao extends BaseMapper<UserOrder>{
 	 * @date 2022-03-30 13:53:51
 	 * @return: com.yonge.cooleshow.biz.dal.vo.OrderVo
 	 */
-	UserOrderVo detailByOrderNo(@Param("orderNo") String orderNo);
+	UserOrderVo detailByOrderNo(@Param("param") UserOrder param);
 	/***
 	 * app查询
 	 * @author liweifan

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

@@ -35,7 +35,7 @@ public interface UserOrderService extends IService<UserOrder> {
      * @author liweifan
      * @date 2022-03-30
      */
-    UserOrderVo detail(String orderNo);
+    UserOrderVo detail(String orderNo, Long userId);
 
     /**
      * 分页查询

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

@@ -261,7 +261,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
             List<CourseScheduleStudentPayment> list = courseScheduleStudentPaymentService.list(Wrappers.<CourseScheduleStudentPayment>lambdaQuery()
                     .eq(CourseScheduleStudentPayment::getCourseGroupId, groupId));
             if (CollectionUtils.isNotEmpty(list)) {
-                throw new BizException("课程组已有学生付款或有待付款的订单,无法下架/取消课程组!");
+                throw new BizException("该课程组已有学生付款或支付中无法下架或取消!");
             }
         } else if (courseStateFunc.test(CourseGroupEnum.COMPLETE)) {
             throw new BizException("课程组已完结!");
@@ -590,6 +590,10 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                 .eq(CourseGroup::getId, groupId)
                 .eq(CourseGroup::getType, CourseScheduleEnum.LIVE.getCode())
         );
+        //只要不是销售中的课程组都提示无法购买
+        if(!courseGroup.getStatus().equals(CourseGroupEnum.APPLY.getCode())){
+            throw new BizException("课程已结束销售!");
+        }
         if (Objects.isNull(courseGroup)) {
             throw new BizException("课程组不存在!");
         }
@@ -867,6 +871,11 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                 } else {
                     //人数未达标则修改课程组为取消状态
                     courseGroup.setStatus(CourseGroupEnum.CANCEL.getCode());
+                    //更新课程组下课程状态为取消
+                    courseScheduleService.update(Wrappers.<CourseSchedule>lambdaUpdate()
+                            .eq(CourseSchedule::getCourseGroupId, courseGroup.getId())
+                            .set(CourseSchedule::getStatus, CourseScheduleEnum.CANCEL.getCode())
+                    );
                 }
                 this.updateById(courseGroup);
             } catch (Exception ignored) {

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

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.Lists;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.CourseScheduleDao;
@@ -43,8 +44,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.text.DateFormat;
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.temporal.TemporalAdjusters;
@@ -534,9 +533,12 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      * @param studentId 学员id
      */
     private Map<String, List<CourseTimeEntity>> getAllPracticeCourseTime(Long teacherId, Long studentId, String startDate, String endDate) {
+        //未开始、进行中的课程
+        List<String> statusList = Lists.newArrayList(CourseScheduleEnum.NOT_START.getCode(), CourseScheduleEnum.ING.getCode());
         //查询该老师指定时间段的课程
         List<CourseSchedule> courseList = this.list(Wrappers.<CourseSchedule>lambdaQuery()
                 .eq(CourseSchedule::getTeacherId, teacherId)
+                .in(CourseSchedule::getStatus, statusList)
                 .ge(CourseSchedule::getClassDate, startDate)
                 .le(CourseSchedule::getClassDate, endDate)
         );
@@ -548,6 +550,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         param.put("studentId", studentId);
         param.put("startClassDate", startDate);
         param.put("endClassDate", endDate);
+        param.put("statusList", statusList);
         List<CourseSchedule> studentCourse = baseMapper.queryStudentCourse(param);
         //将数据合并
         if (CollectionUtils.isNotEmpty(studentCourse)) {

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

@@ -58,6 +58,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     private LiveRoomService liveRoomService;
     @Autowired
     private StudentStarService studentStarService;
+    @Autowired
+    private UserAccountService userAccountService;
 
     @Override
     public TeacherVo detail(Long userId) {
@@ -190,11 +192,18 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         if (num <= 0) {
             throw new BizException("插入用户信息失败");
         }
+        //设置昵称
+        sysUser.setUsername("游客" + sysUser.getId());
+        employeeDao.updateSysUser(sysUser);
         //插入老师表
         Teacher teacher = new Teacher();
         teacher.setUserId(sysUser.getId());
         teacher = getTeacherDetil(teacher, teacherSubmitReq);
         baseMapper.insert(teacher);
+        //插入老师账户表
+        UserAccount userAccount = new UserAccount();
+        userAccount.setUserId(sysUser.getId());
+        userAccountService.save(userAccount);
         return HttpResponseResult.succeed(true);
     }
 

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

@@ -140,8 +140,11 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     }
 
     @Override
-    public UserOrderVo detail(String orderNo) {
-        UserOrderVo userOrderVo = baseMapper.detailByOrderNo(orderNo);
+    public UserOrderVo detail(String orderNo, Long userId) {
+        UserOrder param = new UserOrder();
+        param.setUserId(userId);
+        param.setOrderNo(orderNo);
+        UserOrderVo userOrderVo = baseMapper.detailByOrderNo(param);
         if (null != userOrderVo) {
             userOrderVo.setOrderDetailList(orderDetailService.getOrderDetilListByOrderNo(userOrderVo.getOrderNo()));
         }
@@ -167,7 +170,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult<Boolean> orderCancel(OrderPayReq payReq) {
-        UserOrderVo detail = detail(payReq.getOrderNo());
+        UserOrderVo detail = detail(payReq.getOrderNo(), payReq.getUserId());
         if (null == detail) {
             return HttpResponseResult.failed("未找到订单信息");
         }
@@ -212,7 +215,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
     @Override
     public void setOrderStatus(String orderNo, OrderStatusEnum orderStatus) {
-        UserOrderVo detail = detail(orderNo);
+        UserOrderVo detail = detail(orderNo, null);
         if (OrderStatusEnum.WAIT_PAY.equals(detail.getStatus())
                 || OrderStatusEnum.PAYING.equals(detail.getStatus())) {
 
@@ -287,7 +290,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult<OrderPayRes> orderPay(OrderPayReq payReq) {
         //查询订单
-        UserOrderVo detail = detail(payReq.getOrderNo());
+        UserOrderVo detail = detail(payReq.getOrderNo(), payReq.getUserId());
         if (null == detail || !payReq.getUserId().equals(detail.getUserId())) {
             return HttpResponseResult.failed("订单不存在");
         }
@@ -313,7 +316,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
     @Override
     public HttpResponseResult<OrderPayRes> orderPaytoPaying(OrderPayReq payReq) {
         //查询订单
-        UserOrderVo detail = detail(payReq.getOrderNo());
+        UserOrderVo detail = detail(payReq.getOrderNo(), payReq.getUserId());
         if (OrderStatusEnum.PAYING.equals(detail.getStatus())) {
             return orderPayPaying(payReq, detail);
         }
@@ -344,7 +347,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
      */
     private void paymentSucceededHandle(JSONObject hfRes) {
         //订单完成
-        UserOrderVo detail = detail(hfRes.getString("order_no"));
+        UserOrderVo detail = detail(hfRes.getString("order_no"), null);
         if (null == detail) {
             log.error("汇付支付回调,订单未找到。 req is {}", hfRes.toJSONString());
             return;
@@ -364,7 +367,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
      * @updateTime 2022/4/27 15:09
      */
     private void paymentFailedHandle(JSONObject hfRes) {
-        UserOrderVo detail = detail(hfRes.getString("order_no"));
+        UserOrderVo detail = detail(hfRes.getString("order_no"), null);
         if (null == detail) {
             log.error("汇付支付回调,订单未找到。 req is {}", hfRes.toJSONString());
             return;
@@ -406,7 +409,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
     @Transactional(rollbackFor = Exception.class)
     void pollingCancelOrder(String orderNo) {
-        UserOrderVo detail = detail(orderNo);
+        UserOrderVo detail = detail(orderNo, null);
         if (null == detail) {
             return;
         }

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

@@ -47,7 +47,7 @@
     </insert>
 
     <select id="queryTeacherCourseGroup" resultType="com.yonge.cooleshow.biz.dal.vo.CourseGroupVo">
-        select
+        select distinct
         b.id_                         as courseGroupId,
         b.name_                       as courseGroupName,
         s.name_                       as subjectName,

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

@@ -108,6 +108,12 @@
             <if test="param.status != null">
                 AND b.status_ = #{param.status}
             </if>
+            <if test="param.statusList != null">
+                AND b.status_ IN
+                <foreach collection="param.statusList" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         order by b.start_time_ desc
     </select>

+ 16 - 12
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserOrderMapper.xml

@@ -54,6 +54,21 @@
         left join sys_user u on t.user_id_ = u.id_
         where t.id_ = #{id}
     </select>
+    <select id="detailByOrderNo" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
+        SELECT
+        <include refid="baseColumns"/>,
+        p.trans_no_ as transNo,
+        p.fee_amt_ as feeAmt,
+        u.username_ as username,
+        u.phone_ as phone
+        FROM user_order t
+        left join user_order_payment p on t.order_no_ = p.order_no_
+        left join sys_user u on t.user_id_ = u.id_
+        where t.order_no_ = #{param.orderNo}
+        <if test="param.userId != null">
+            and t.user_id_ = #{param.userId}
+        </if>
+    </select>
 
     <select id="detailApp" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
         SELECT
@@ -71,18 +86,7 @@
         </if>
     </select>
 
-    <select id="detailByOrderNo" resultType="com.yonge.cooleshow.biz.dal.vo.UserOrderVo">
-        SELECT
-            <include refid="baseColumns"/>,
-            p.trans_no_ as transNo,
-            p.fee_amt_ as feeAmt,
-            u.username_ as username,
-            u.phone_ as phone
-        FROM user_order t
-        left join user_order_payment p on t.order_no_ = p.order_no_
-        left join sys_user u on t.user_id_ = u.id_
-        where t.order_no_ = #{orderNo}
-    </select>
+
 
 
     <sql id="selectSql">

+ 5 - 4
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/PaymentController.java

@@ -78,7 +78,7 @@ public class PaymentController extends BaseController {
             String sign = request.getParameter("sign");
             //回调业务类型
             String type = request.getParameter("type");
-            log.info("汇付回调,type is {}, res is {}", type, data);
+            log.info("汇付回调,type is {},type is {}, res is {}", type, sign, data);
             if (StringUtil.isEmpty(type)) {
                 log.error("汇付回调参数异常");
                 return;
@@ -86,12 +86,13 @@ public class PaymentController extends BaseController {
             //验签传参publicKey
             String publicKey = AdapayCore.PUBLIC_KEY;
             //验签
-            boolean checkSign = AdapaySign.verifySign(data, sign, publicKey);
+            //todo 测试先取消验签
+           /* boolean checkSign = AdapaySign.verifySign(data, sign, publicKey);
             if (checkSign) {
-                //验签成功逻辑
                 log.info("验签成功");
                 userOrderService.orderCallback(data, type);
-            }
+            }*/
+            userOrderService.orderCallback(data, type);
         } catch (Exception e) {
             e.printStackTrace();
         }

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

@@ -152,7 +152,7 @@ public class UserOrderController extends BaseController {
             return httpResponseResultFuture.get();
         } catch (Exception e) {
             e.printStackTrace();
-            return HttpResponseResult.failed("付款失败");
+            return HttpResponseResult.failed("取消订单失败");
         }
     }