yangdamao 2 роки тому
батько
коміт
088a2512fc

+ 21 - 7
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderController.java

@@ -5,29 +5,28 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 
 import cn.hutool.core.lang.Validator;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.core.domain.model.LoginUser;
-import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.framework.web.service.TokenService;
+import com.zhongzheng.modules.goods.bo.QuestionOpenBo;
 import com.zhongzheng.modules.goods.bo.QuestionOpenImportBo;
 import com.zhongzheng.modules.goods.vo.QuestionOpenImportVo;
-import com.zhongzheng.modules.grade.vo.ClassPeriodStudentExportAllVo;
 import com.zhongzheng.modules.order.bo.*;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import com.zhongzheng.modules.order.vo.OrderListVo;
 import com.zhongzheng.modules.order.vo.OrderVo;
-import com.zhongzheng.modules.user.bo.UserSubscribeExportBo;
-import com.zhongzheng.modules.user.vo.UserSubscribeImport;
+import com.zhongzheng.modules.user.domain.UserSubscribe;
+import com.zhongzheng.modules.user.service.IUserSubscribeService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -58,6 +57,8 @@ public class OrderController extends BaseController {
 
     private final IOrderGoodsService iOrderGoodsService;
 
+    private final IUserSubscribeService iUserSubscribeService;
+
     private final TokenService tokenService;
 
     /**
@@ -150,6 +151,19 @@ public class OrderController extends BaseController {
     @PostMapping("/inputOrder")
     public AjaxResult addInputOrder(@RequestBody OrderAddBo bo) {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        if (ObjectUtils.isNotNull(bo.getOpenQuestionSign()) && bo.getOpenQuestionSign() == 1){
+            //新B端外部题库开通
+            QuestionOpenBo questionOpenBo = new QuestionOpenBo();
+            questionOpenBo.setCreateSysUserId(loginUser.getUser().getUserId());
+            questionOpenBo.setCreateBy(SecurityUtils.getUsername());
+            questionOpenBo.setGoodsId(bo.getGoodsList().get(0).getGoodsId());
+            UserSubscribe userSubscribe = iUserSubscribeService.getOne(new LambdaQueryWrapper<UserSubscribe>()
+                    .eq(UserSubscribe::getUserId, bo.getUserId())
+                    .eq(UserSubscribe::getOrderGoodsId, bo.getSubOrderGoodsId())
+                    .last("limit 1"));
+            questionOpenBo.setUserSubscribeIds(Arrays.asList(userSubscribe.getSubscribeId()));
+            return AjaxResult.success(iOrderService.questionGoodsOpen(questionOpenBo));
+        }
         if(Validator.isEmpty(bo.getCreateUsername())){
             bo.setCreateSysUserId(loginUser.getUser().getUserId());
             bo.setCreateBy(SecurityUtils.getUsername());
@@ -179,7 +193,7 @@ public class OrderController extends BaseController {
      */
     @ApiOperation("七大员题库商品开通")
     @PostMapping("/question/open")
-    public AjaxResult<Void> questionGoodsOpen(@RequestBody questionOpenBo bo) {
+    public AjaxResult<Void> questionGoodsOpen(@RequestBody QuestionOpenBo bo) {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         bo.setCreateSysUserId(loginUser.getUser().getUserId());
         bo.setCreateBy(SecurityUtils.getUsername());

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/CdUserSubscribeBo.java

@@ -27,6 +27,9 @@ public class CdUserSubscribeBo implements Serializable {
     /** 商品名称 */
     @ApiModelProperty("商品名称")
     private String goodsName;
+    /** 订单商品ID */
+    @ApiModelProperty("订单商品ID")
+    private Long orderGoodsId;
     /** 业务层次名称 */
     @ApiModelProperty("业务层次名称")
     private String businessName;

+ 22 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/QuestionOpenBo.java

@@ -0,0 +1,22 @@
+package com.zhongzheng.modules.goods.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author yangdamao
+ * @date 2023年09月12日 17:19
+ */
+@Data
+public class QuestionOpenBo implements Serializable {
+
+    private Long goodsId;
+
+    private List<Long> userSubscribeIds;
+
+    private Long createSysUserId;
+
+    private String createBy;
+}

+ 9 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecTemplateServiceImpl.java

@@ -15,9 +15,11 @@ import com.zhongzheng.modules.activity.domain.ActivityGoodsPrice;
 import com.zhongzheng.modules.activity.service.IActivityGoodsPriceService;
 import com.zhongzheng.modules.course.domain.CourseBusiness;
 import com.zhongzheng.modules.course.domain.CourseEducationType;
+import com.zhongzheng.modules.course.domain.CourseProjectType;
 import com.zhongzheng.modules.course.domain.CourseSubject;
 import com.zhongzheng.modules.course.service.ICourseBusinessService;
 import com.zhongzheng.modules.course.service.ICourseEducationTypeService;
+import com.zhongzheng.modules.course.service.ICourseProjectTypeService;
 import com.zhongzheng.modules.course.service.ICourseSubjectService;
 import com.zhongzheng.modules.goods.bo.*;
 import com.zhongzheng.modules.goods.domain.*;
@@ -54,6 +56,8 @@ public class GoodsSpecTemplateServiceImpl extends ServiceImpl<GoodsSpecTemplateM
     @Autowired
     public ICourseEducationTypeService courseEducationTypeService;
     @Autowired
+    public ICourseProjectTypeService courseProjectTypeService;
+    @Autowired
     public ICourseBusinessService courseBusinessService;
     @Autowired
     private IActivityGoodsPriceService iActivityGoodsPriceService;
@@ -96,8 +100,12 @@ public class GoodsSpecTemplateServiceImpl extends ServiceImpl<GoodsSpecTemplateM
                             SpecAttrPriceVo priceVo = BeanUtil.toBean(goods,SpecAttrPriceVo.class);
                             priceVo.setSpecAttrIds(x.getSpecAttributeIds());
                             priceVo.setSpecialGoods(0);
-                            priceVo.setSpecialGoods(0);
+                            CourseEducationType educationType = courseEducationTypeService.getById(goods.getEducationTypeId());
+                            priceVo.setEducationTypeName(educationType.getEducationName());
+                            CourseProjectType projectType = courseProjectTypeService.getById(goods.getProjectId());
+                            priceVo.setProjectName(projectType.getProjectName());
                             CourseBusiness business = courseBusinessService.getById(goods.getBusinessId());
+                            priceVo.setBusinessName(business.getBusinessName());
                             if (ObjectUtils.isNotNull(business.getTemplateStatus()) && business.getTemplateStatus() == 1){
                                 priceVo.setTemplateType("class");
                             }

+ 6 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/SpecAttrPriceVo.java

@@ -35,8 +35,12 @@ public class SpecAttrPriceVo implements Serializable {
     private Integer goodsType;
     /** 教育类型id */
     private Long educationTypeId;
+    /** 教育类型id */
+    private String educationTypeName;
     /** 业务层次id */
     private Long businessId;
+    /** 业务层次id */
+    private String businessName;
     /** 所属院校 */
     private Long schoolId;
     /** 所属专业 */
@@ -82,7 +86,8 @@ public class SpecAttrPriceVo implements Serializable {
     private String supplyName;
     /** 项目id */
     private Integer projectId;
-
+    /** 项目id */
+    private String projectName;
     /** 试听设置 */
     private String goodsAuditionConfig;
     /** 拍照设置 */

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -540,6 +540,7 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
             subscribeBo.setUserCard(EncryptHandler.decrypt(user.getIdCard()));
             subscribeBo.setUserPhone(EncryptHandler.decrypt(user.getTelphone()));
             subscribeBo.setUserName(user.getRealname());
+            subscribeBo.setOrderGoodsId(bo.getOrderGoodsId());
             subscribeBo.setGoodsName(goods.getGoodsName());
             CourseBusinessQueryBo courseBusinessQueryBo = new CourseBusinessQueryBo();
             courseBusinessQueryBo.setId(goods.getBusinessId());

+ 4 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java

@@ -101,15 +101,16 @@ public class OrderAddBo {
     /** 旧企业ID */
     @ApiModelProperty("旧企业ID")
     private String oldCompanyId;
-
     /** 旧机构ID */
     @ApiModelProperty("旧机构ID")
     private String oldInstitutionId;
-
     @ApiModelProperty("旧客户ID")
     private String oldCustomerId;
-
     /** 培训计划ID */
     @ApiModelProperty("计划ID")
     private Integer planId;
+    @ApiModelProperty("预约订单商品ID")
+    private Long subOrderGoodsId;
+    @ApiModelProperty("新B端题库开通标识")
+    private Integer openQuestionSign;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.order.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
+import com.zhongzheng.modules.goods.bo.QuestionOpenBo;
 import com.zhongzheng.modules.goods.bo.QuestionOpenImportBo;
 import com.zhongzheng.modules.goods.vo.QuestionOpenImportVo;
 import com.zhongzheng.modules.order.bo.*;
@@ -115,7 +116,7 @@ public interface IOrderService extends IService<Order> {
 
 	List<String> queryBusinessFullNameBySn(String orderSn);
 
-	boolean questionGoodsOpen(questionOpenBo bo);
+	boolean questionGoodsOpen(QuestionOpenBo bo);
 
     Boolean studyCheck(Long orderGoodsId, Long userId);
 

+ 3 - 7
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -35,10 +35,7 @@ import com.zhongzheng.modules.course.vo.CourseModuleFreeExamVo;
 import com.zhongzheng.modules.distribution.domain.DistributionActivity;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityService;
-import com.zhongzheng.modules.goods.bo.GoodsAttachedAddBo;
-import com.zhongzheng.modules.goods.bo.GoodsBankAddBo;
-import com.zhongzheng.modules.goods.bo.GoodsFreeBankAddBo;
-import com.zhongzheng.modules.goods.bo.QuestionOpenImportBo;
+import com.zhongzheng.modules.goods.bo.*;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.domain.GoodsFreeBank;
 import com.zhongzheng.modules.goods.domain.GoodsQuestionRel;
@@ -76,7 +73,6 @@ import com.zhongzheng.modules.top.financial.vo.TopCostTpItemVo;
 import com.zhongzheng.modules.top.financial.vo.TopCostTpVo;
 import com.zhongzheng.modules.top.goods.bo.TopOldOrderAddBo;
 import com.zhongzheng.modules.top.goods.bo.TopOldOrderGoodsAddBo;
-import com.zhongzheng.modules.top.goods.domain.TopOldOrder;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrderCheck;
 import com.zhongzheng.modules.top.goods.domain.TopOldOrderCheckLog;
 import com.zhongzheng.modules.top.goods.service.ITopOldOrderCheckLogService;
@@ -3141,7 +3137,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean questionGoodsOpen(questionOpenBo bo) {
+    public boolean questionGoodsOpen(QuestionOpenBo bo) {
         //开通校验
         questionGoodsOpenCheck(bo);
         //创建录单信息
@@ -3227,7 +3223,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return iOrderInputService.save(orderInput);
     }
 
-    private void questionGoodsOpenCheck(questionOpenBo bo) {
+    private void questionGoodsOpenCheck(QuestionOpenBo bo) {
         for (Long userSubscribeId : bo.getUserSubscribeIds()) {
             //校验学员是否已经购买题库
             UserSubscribe userSubscribe = iUserSubscribeService.getById(userSubscribeId);