Forráskód Böngészése

Merge branch 'dev'

yangdamao 2 hónapja
szülő
commit
5c5da38000

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

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.core.domain.model.LoginUser;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.common.utils.poi.EasyPoiUtil;
 import com.zhongzheng.framework.web.service.TokenService;
 import com.zhongzheng.modules.course.bo.QuestionOpenBo;
 import com.zhongzheng.modules.goods.bo.QuestionOpenImportBo;
@@ -296,4 +297,14 @@ public class OrderController extends BaseController {
         return toAjax(iOrderService.saveOrderSalesman(bo) ? 1 : 0);
     }
 
+    /**
+     * 导入关闭课程
+     */
+    @ApiOperation("导入关闭课程")
+    @PostMapping("/close/order/import")
+    public AjaxResult<Void> closeOrderImport(MultipartFile file)throws Exception {
+        List<CloseOrderImport> importList = EasyPoiUtil.importExcel(file,0,1,CloseOrderImport.class);
+        return AjaxResult.success(iOrderService.closeOrderImport(importList));
+    }
+
 }

+ 19 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CloseOrderImport.java

@@ -0,0 +1,19 @@
+package com.zhongzheng.modules.order.bo;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class CloseOrderImport implements Serializable {
+
+    @Excel(name = "身份证号")
+    private String idCard;
+
+    @Excel(name = "专业")
+    private String majorName;
+
+    @Excel(name = "年份")
+    private String year;
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -94,4 +94,6 @@ public interface OrderMapper extends BaseMapper<Order> {
 
     @InterceptorIgnore(tenantLine = "true")
     String getOrderSnByYW(String orderSn);
+
+    OrderGoods getOrderByUser(@Param("userId") Long userId,@Param("year") String year,@Param("majorName") String majorName);
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -152,4 +152,7 @@ public interface IOrderService extends IService<Order> {
 	List<UserStudyConditionVo> getUserStudyCondition(UserStudyConditionBo bo);
 
 	boolean saveOrderSalesman(SaveOrderSalesmanBo bo);
+
+    String closeOrderImport(List<CloseOrderImport> importList);
+
 }

+ 48 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -3816,6 +3816,54 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 .in(OrderGoods::getOrderGoodsId,bo.getOrderGoodsIds()));
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String closeOrderImport(List<CloseOrderImport> importList) {
+        if (CollectionUtils.isEmpty(importList)){
+            return "";
+        }
+        for (CloseOrderImport orderImport : importList) {
+            if (!orderImport.getYear().equals("2025")){
+                //不是25年的不用关闭
+                continue;
+            }
+            User user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, EncryptHandler.encrypt(orderImport.getIdCard())).eq(User::getStatus, 1));
+            if (ObjectUtils.isNull(user)){
+                continue;
+            }
+            //获取订单
+            OrderGoods og = baseMapper.getOrderByUser(user.getUserId(),orderImport.getYear(),orderImport.getMajorName());
+            if (ObjectUtils.isNull(og)){
+                continue;
+            }
+            //班级信息
+            ClassGradeUser gradeUser = iClassGradeUserService
+                    .getOne(new LambdaQueryWrapper<ClassGradeUser>().eq(ClassGradeUser::getStatus, 1).eq(ClassGradeUser::getOrderGoodsId, og.getOrderGoodsId()).last("limit 1"));
+
+            if (ObjectUtils.isNull(gradeUser)){
+                continue;
+            }
+            //是否已学完
+            if (ObjectUtils.isNotNull(gradeUser.getFinishStatus()) && gradeUser.getFinishStatus() == 1){
+                continue;
+            }
+
+            ClassGrade classGrade = iClassGradeService.getById(gradeUser.getGradeId());
+            if (classGrade.getClassEndTime() > DateUtils.getNowTime()){
+                //班级未结束不关闭
+                continue;
+            }
+
+            //关闭订单和关闭班级
+            og.setStatus(0);
+            iOrderGoodsService.updateById(og);
+            gradeUser.setStatus(0);
+            iClassGradeUserService.updateById(gradeUser);
+        }
+
+        return "";
+    }
+
     /**
      * 根据身份证号码判断性别
      *

+ 19 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -1304,4 +1304,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           AND o.input_order_sn IS NOT NULL
     </select>
 
+    <select id="getOrderByUser" resultType="com.zhongzheng.modules.order.domain.OrderGoods">
+        SELECT
+            og.*
+        FROM
+            `order_goods` og
+                LEFT JOIN `order` o ON og.order_sn = o.order_sn
+                LEFT JOIN goods g ON og.goods_id = g.goods_id
+                LEFT JOIN major m ON g.major_id = m.id
+        WHERE
+            og.pay_status != 1
+	        AND og.refund_status != 2
+	        AND o.`status` = 1
+	        AND og.`status` = 1
+	        AND o.user_id = #{userId}
+	        AND og.seven_year = #{year}
+	        AND m.category_name = #{majorName}
+	        LIMIT 1
+    </select>
+
 </mapper>