Эх сурвалжийг харах

Merge branch 'dev-v5.2' into dev

he2802 3 жил өмнө
parent
commit
bec4d8c1a4

+ 11 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -146,4 +146,15 @@ public class OrderController extends BaseController {
         List<CourseEducationTypeVo> list = iCourseEducationTypeService.selectUserEduList(loginUser.getUser().getUserId(),bo.getGoodsType());
         return getDataTable(list);
     }
+
+    /**
+     * 获取订单商品详细信息
+     */
+    @ApiOperation("获取订单商品详细信息")
+    @PreAuthorize("@ss.hasPermi('system:goods:query')")
+    @GetMapping("/info")
+    public AjaxResult<OrderGoodsVo> getInfo(OrderGoodsQueryBo bo) {
+        return AjaxResult.success(iOrderGoodsService.selectDetail(bo));
+    }
+
 }

+ 10 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/vo/ShoppingCartVo.java

@@ -53,4 +53,14 @@ public class ShoppingCartVo {
 	private Long projectId;
 	@ApiModelProperty("模板类型置")
 	private String templateType;
+	@ApiModelProperty("教育名称")
+	private String educationName;
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	@ApiModelProperty("业务名称")
+	private String businessName;
+	/** 学时 */
+	@Excel(name = "学时")
+	@ApiModelProperty("学时")
+	private BigDecimal classHours;
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundQueryBo.java

@@ -78,4 +78,13 @@ public class OrderGoodsRefundQueryBo extends BaseEntity {
 	private Integer goodsType;
 
 	private List<Integer> periodStatus;
+
+	@ApiModelProperty("关键词")
+	private String searchKey;
+
+	@ApiModelProperty("开始时间")
+	private Long searchStartTime;
+
+	@ApiModelProperty("结束时间")
+	private Long searchEndTime;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -422,6 +422,7 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
             objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodStatus, bo.getPeriodStatus());
             objectLambdaUpdateWrapper.set(OrderGoodsRefund::getUpdateTime,DateUtils.getNowTime());
             objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewUsername, SecurityUtils.getUsername());
+            objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewTime,DateUtils.getNowTime());
             if(Validator.isNotEmpty(bo.getPeriodReviewReason())){
                 objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewReason, bo.getPeriodReviewReason());
             }
@@ -431,7 +432,6 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
             }
             //上一次是初审状态,本次已退款
             if(orderGoodsRefund.getPeriodStatus()==1&&bo.getPeriodStatus()==3){
-                objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodReviewTime,DateUtils.getNowTime());
                 objectLambdaUpdateWrapper.set(OrderGoodsRefund::getRefundTime,DateUtils.getNowTime());
             }
             //上一次是初审状态,本次待退款

+ 11 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -902,15 +902,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Override
     public Boolean updateByEditBo(OrderEditBo bo) {
         Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId, bo.getOrderId()));
-        if (order.getOrderStatus() != 0) {
+        if (order.getOrderStatus() >0) {
             throw new CustomException("订单无法取消");
         }
 
         Order update = BeanUtil.toBean(bo, Order.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
-
-        if (update.getOrderStatus() == -1) {
+        //待支付手动关闭
+        if (Validator.isNotEmpty(update.getOrderStatus())&&update.getOrderStatus() == -1 &&order.getOrderStatus()==0) {
             update.setCancelTime(DateUtils.getNowTime());
             //手动关闭订单
             OrderVo orderVo = this.queryById(bo.getOrderId());
@@ -1045,7 +1045,14 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         List<OrderGoodsVo> list1 = iOrderGoodsService.selectList(orderGoodsQueryBo);
         for(OrderGoodsVo goodsVo : list1){
             if(Validator.isNotEmpty(goodsVo.getServiceEndTime())&&(goodsVo.getServiceEndTime().longValue()>(System.currentTimeMillis()/1000))){
-                throw new CustomException("存在已购买【班级学习服务期未过期】的商品,不可以重复购买商品", 511);
+                if(Validator.isNotEmpty(goodsVo.getGradeId())){
+                    ClassGrade grade = iClassGradeService.getOne(new LambdaQueryWrapper<ClassGrade>()
+                            .eq(ClassGrade::getGradeId, goodsVo.getGradeId()));
+                    //不存在班级有效期才校验服务期是否过期
+                    if(Validator.isEmpty(grade.getClassEndTime())){
+                        throw new CustomException("存在已购买【班级学习服务期未过期】的商品,不可以重复购买商品", 511);
+                    }
+                }
             }
         }
         if (list1 != null && list1.size() > 0) {

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java

@@ -150,4 +150,12 @@ public class OrderGoodsVo {
 	private Integer orderGoodsStatus;
 	@ApiModelProperty("用户名称")
 	private String realname;
+	/** 班级有效期开始时间 */
+	@Excel(name = "班级有效期开始时间")
+	@ApiModelProperty("班级有效期开始时间")
+	private Long classStartTime;
+	/** 班级有效期结束时间 */
+	@Excel(name = "班级有效期结束时间")
+	@ApiModelProperty("班级有效期结束时间")
+	private Long classEndTime;
 }

+ 4 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserExamGoodsServiceImpl.java

@@ -173,14 +173,14 @@ public class UserExamGoodsServiceImpl extends ServiceImpl<UserExamGoodsMapper, U
             if(Validator.isNotEmpty(examGoodsVo)){
                 if(entity.getStatus()==1){
                     //补考
-                    if((examGoodsVo.getExamNumber().longValue()-examGoodsVo.getExpendNumber().longValue())>entity.getExamNumber()){
+                    if((examGoodsVo.getExamNumber().longValue()-examGoodsVo.getExpendNumber().longValue())>=entity.getExamNumber()){
                         //剩余次数大于购买时绑定次数
                         return true;
                     }
                 }
                 else if(entity.getStatus()==2){
                     //前培
-                    if((examGoodsVo.getDoNumber().longValue()-examGoodsVo.getExpendBefore().longValue())>entity.getDoNumber()){
+                    if((examGoodsVo.getDoNumber().longValue()-examGoodsVo.getExpendBefore().longValue())>=entity.getDoNumber()){
                         //剩余次数大于购买时绑定次数
                         return true;
                     }
@@ -201,7 +201,7 @@ public class UserExamGoodsServiceImpl extends ServiceImpl<UserExamGoodsMapper, U
             if(Validator.isNotEmpty(examGoodsVo)){
                 if(entity.getStatus()==1){
                     //补考
-                    if((examGoodsVo.getExamNumber().longValue()-examGoodsVo.getExpendNumber().longValue())>entity.getExamNumber()){
+                    if((examGoodsVo.getExamNumber().longValue()-examGoodsVo.getExpendNumber().longValue())>=entity.getExamNumber()){
                         //减去补考次数
                         LambdaUpdateWrapper<UserExamGoods> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
                         objectLambdaUpdateWrapper.eq(UserExamGoods::getUserId, bo.getUserId());
@@ -217,7 +217,7 @@ public class UserExamGoodsServiceImpl extends ServiceImpl<UserExamGoodsMapper, U
                 }
                 else if(entity.getStatus()==2){
                     //前培
-                    if((examGoodsVo.getDoNumber().longValue()-examGoodsVo.getExpendBefore().longValue())>entity.getDoNumber()){
+                    if((examGoodsVo.getDoNumber().longValue()-examGoodsVo.getExpendBefore().longValue())>=entity.getDoNumber()){
                         //减去前培次数
                         LambdaUpdateWrapper<UserExamGoods> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
                         objectLambdaUpdateWrapper.eq(UserExamGoods::getUserId, bo.getUserId());

+ 11 - 1
zhongzheng-system/src/main/resources/mapper/modules/base/ShoppingCartMapper.xml

@@ -25,6 +25,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="goodsType" column="goods_type"/>
         <result property="templateType" column="template_type"/>
         <result property="projectId" column="project_id"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="classHours" column="class_hours"/>
     </resultMap>
 
     <select id="selectList" parameterType="com.zhongzheng.modules.base.bo.ShoppingCartQueryBo"  resultMap="ShoppingCartVoResult">
@@ -38,12 +42,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             g.`status`,
             g.goods_status,
             g.project_id,
-            ot.type AS template_type
+            g.class_hours,
+            ot.type AS template_type,
+            cet.education_name,
+            cpt.project_name,
+            cb.business_name
         FROM
             shopping_cart s
                 LEFT JOIN goods g ON s.goods_id = g.goods_id
                 LEFT JOIN course_business cb ON g.business_id = cb.id
                 LEFT JOIN order_input_template ot ON cb.template_status = ot.id
+                LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+                LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
         WHERE
             s.user_id =  #{userId}
         order by s.update_time desc

+ 5 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -69,6 +69,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="serviceStartTime" column="service_start_time"/>
         <result property="serviceEndTime" column="service_end_time"/>
         <result property="orderStatus" column="order_status"/>
+        <result property="classStartTime" column="class_start_time"/>
+        <result property="classEndTime" column="class_end_time"/>
     </resultMap>
 
     <select id="selectList" parameterType="com.zhongzheng.modules.order.bo.OrderGoodsQueryBo" resultMap="OrderGoodsResultVo">
@@ -130,7 +132,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         cpt.project_name,
         cb.business_name,
         cg.class_name,
-        o.create_username as create_by
+        o.create_username as create_by,
+        cg.class_start_time,
+        cg.class_end_time
         FROM
         order_goods og
         LEFT JOIN class_grade cg on og.grade_id = cg.grade_id

+ 9 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsRefundMapper.xml

@@ -112,6 +112,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="goodsType != null and goodsType != ''">
             AND g.goods_type = #{goodsType}
         </if>
+        <if test="searchKey != null and searchKey != '' ">
+            and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey}, '%') or g.goods_name like concat('%', #{searchKey}, '%') or og.order_sn = #{searchKey})
+        </if>
+        <if test="searchStartTime != null and searchStartTime !='' ">
+            AND og.create_time >=#{searchStartTime}
+        </if>
+        <if test="searchEndTime != null and searchEndTime !='' ">
+            AND #{searchEndTime} >= og.create_time
+        </if>
         ORDER BY gr.refund_id DESC
     </select>