yangdamao 2 years ago
parent
commit
f15557c160

+ 1 - 0
zhongzheng-admin-saas/src/main/resources/application-dev.yml

@@ -134,6 +134,7 @@ oldStudySys:
     classOpenPath: http://gdxypx.xy.com/System/BussinessApi/OpenClass
     salePassword: http://gdxypx.xy.com/WitSystem/BussinessApi/GetSaleInfo
     updateInvoicePath: http://gdxypx.xy.com/system/BussinessApi/UpdateInvoiceData
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 officialPush:
     infoPath: http://jypt-dev.gdcic.net/organjxjy/ShangBaoMingdan

+ 1 - 0
zhongzheng-admin-saas/src/main/resources/application-pre.yml

@@ -134,6 +134,7 @@ oldStudySys:
     classOpenPath: https://www.xyyxt.net/System/BussinessApi/OpenClass
     salePassword: http://www.xyyxt.net/WitSystem/BussinessApi/GetSaleInfo
     updateInvoicePath: http://gdxypx.xy.com/system/BussinessApi/UpdateInvoiceData
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 officialPush:
     infoPath: https://jypt.gdcic.net/organjxjy/ShangBaoMingdan

+ 1 - 0
zhongzheng-admin-saas/src/main/resources/application-prod.yml

@@ -134,6 +134,7 @@ oldStudySys:
     classOpenPath: https://www.xyyxt.net/System/BussinessApi/OpenClass
     salePassword: http://www.xyyxt.net/WitSystem/BussinessApi/GetSaleInfo
     updateInvoicePath: http://www.xyyxt.net/system/BussinessApi/UpdateInvoiceData
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 officialPush:
     infoPath: https://jypt.gdcic.net/organjxjy/ShangBaoMingdan

+ 33 - 4
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java

@@ -2,7 +2,10 @@ package com.zhongzheng.controller.user;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
@@ -10,7 +13,10 @@ import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.enums.BusinessType;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.modules.exam.bo.ExamApplySiteTimeTwoAddBo;
+import com.zhongzheng.modules.exam.domain.ExamApplySiteTime;
 import com.zhongzheng.modules.exam.service.IExamApplyGoodsService;
+import com.zhongzheng.modules.exam.service.IExamApplySiteTimeService;
 import com.zhongzheng.modules.exam.vo.ExamSessionVo;
 import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.service.IUserExamGoodsService;
@@ -49,6 +55,8 @@ public class UserSubscribeController extends BaseController {
 
     private final IExamApplyGoodsService iExamApplyGoodsService;
 
+    private final IExamApplySiteTimeService iExamApplySiteTimeService;
+
     /**
      * 查询用户预约考试列表
      */
@@ -211,6 +219,9 @@ public class UserSubscribeController extends BaseController {
         String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
 //        map.put("goodsExcel",goodsUtil.exportEasyExcel(goodsUtil.exportEasyData(goodsList), bo.getApplyName()+"商品列表"+timeStr));
 
+        ExamApplySiteTime siteTime = iExamApplySiteTimeService.getOne(new LambdaQueryWrapper<ExamApplySiteTime>()
+                .eq(ExamApplySiteTime::getApplyId, bo.getApplyId())
+                .last("limit 1"));
         if(Validator.isEmpty(bo.getApplySiteAddressTrain())){
             UserSubscribeExport export = new UserSubscribeExport();
             export.setRemark("导入时,请把示例删除");
@@ -218,8 +229,17 @@ public class UserSubscribeController extends BaseController {
             export.setIdCard("44086921356895125365");
             export.setApplyName(bo.getApplyName());
             export.setApplySiteAddress(bo.getApplySiteAddress());
-            export.setApplySiteExamTime("2021/10/21");
-            export.setApplySiteTime("9:00-12:00");
+            if (ObjectUtils.isNotNull(siteTime)){
+                List<ExamApplySiteTimeTwoAddBo> siteTimeTwoAddBos = JSONArray.parseArray(siteTime.getSiteTime(), ExamApplySiteTimeTwoAddBo.class);
+                if (CollectionUtils.isNotEmpty(siteTimeTwoAddBos)){
+                    ExamApplySiteTimeTwoAddBo twoAddBo = siteTimeTwoAddBos.get(0);
+                    export.setApplySiteTime(String.format("%s-%s",twoAddBo.getStartTime(),twoAddBo.getEndTime()));
+                }
+                export.setApplySiteExamTime(DateUtils.timestampToDateFormat(siteTime.getExamTime(),"yyyy/MM/dd"));
+            }else {
+                export.setApplySiteExamTime("2021/10/21");
+                export.setApplySiteTime("9:00-12:00");
+            }
             export.setMajorName("土建质量员");
 //            export.setCode("SP6415428604");
 //            export.setGoodsName("一级建造师继续教育(必修课+机电工程)");
@@ -242,8 +262,17 @@ public class UserSubscribeController extends BaseController {
             export.setGoodsName("一级建造师继续教育(必修课+机电工程)");
 
             export.setApplySiteAddressTrain(bo.getApplySiteAddressTrain());
-            export.setApplySiteExamTrainTime("2021/10/21");
-            export.setApplySiteTrainTime("9:00-12:00");
+            if (ObjectUtils.isNotNull(siteTime)){
+                List<ExamApplySiteTimeTwoAddBo> siteTimeTwoAddBos = JSONArray.parseArray(siteTime.getSiteTime(), ExamApplySiteTimeTwoAddBo.class);
+                if (CollectionUtils.isNotEmpty(siteTimeTwoAddBos)){
+                    ExamApplySiteTimeTwoAddBo twoAddBo = siteTimeTwoAddBos.get(0);
+                    export.setApplySiteTime(String.format("%s-%s",twoAddBo.getStartTime(),twoAddBo.getEndTime()));
+                }
+                export.setApplySiteExamTime(DateUtils.timestampToDateFormat(siteTime.getExamTime(),"yyyy/MM/dd"));
+            }else {
+                export.setApplySiteExamTime("2021/10/21");
+                export.setApplySiteTime("9:00-12:00");
+            }
 
             List<UserSubscribeTrainExport> list = new ArrayList<>();
             list.add(export);

+ 1 - 0
zhongzheng-admin/src/main/resources/application-dev.yml

@@ -167,6 +167,7 @@ oldOrder:
     refundPay: http://192.168.1.222:5030/common/platform/pay
     refundPayHandle: http://192.168.1.222:5030/common/platform/pay/handle
     updateRemark: http://gdxypx.xy.com/WitSystem/BussinessApi/UpdateOrderAuditRemark
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 oldSys:
     host: http://gdxypx.xy.com

+ 1 - 0
zhongzheng-admin/src/main/resources/application-pre.yml

@@ -134,6 +134,7 @@ oldStudySys:
     classOpenPath: http://gdxypx.xy.com/System/BussinessApi/OpenClass
     salePassword: http://gdxypx.xy.com/WitSystem/BussinessApi/GetSaleInfo
     updateInvoicePath: http://gdxypx.xy.com/system/BussinessApi/UpdateInvoiceData
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 officialPush:
     infoPath: https://jypt-dev.gdcic.net/organjxjy/ShangBaoMingdan

+ 1 - 0
zhongzheng-admin/src/main/resources/application-prod.yml

@@ -166,6 +166,7 @@ oldOrder:
     refundPay: https://cloud.xyyxt.net/common/platform/pay
     refundPayHandle: https://cloud.xyyxt.net/common/platform/pay/handle
     updateRemark: http://www.xyyxt.net/WitSystem/BussinessApi/UpdateOrderAuditRemark
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 oldSys:
     host: http://test.jqbao.net

+ 1 - 0
zhongzheng-api/src/main/resources/application-dev.yml

@@ -137,6 +137,7 @@ oldStudySys:
     classOpenPath: http://gdxypx.xy.com/System/BussinessApi/OpenClass
     salePassword: http://gdxypx.xy.com/WitSystem/BussinessApi/GetSaleInfo
     updateInvoicePath: http://gdxypx.xy.com/system/BussinessApi/UpdateInvoiceData
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 officialPush:
     infoPath: https://jypt-dev.gdcic.net/organjxjy/ShangBaoMingdan

+ 1 - 0
zhongzheng-api/src/main/resources/application-pre.yml

@@ -166,6 +166,7 @@ oldOrder:
     refundPay: http://192.168.1.222:6030/common/platform/pay
     refundPayHandle: http://192.168.1.222:6030/common/platform/pay/handle
     updateRemark: http://test.jqbao.net/WitSystem/BussinessApi/UpdateOrderAuditRemark
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 oldSys:
     host: http://test.jqbao.net

+ 1 - 0
zhongzheng-api/src/main/resources/application-prod.yml

@@ -178,6 +178,7 @@ oldOrder:
     refundPay: https://cloud.xyyxt.net/common/platform/pay
     refundPayHandle: https://cloud.xyyxt.net/common/platform/pay/handle
     updateRemark: http://www.xyyxt.net/WitSystem/BussinessApi/UpdateOrderAuditRemark
+    createExamPath: http://gdxypx.xy.com/system/BussinessApi/CreateSameClass
 
 oldSys:
     host: http://test.jqbao.net

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/service/impl/CourseServiceImpl.java

@@ -799,6 +799,8 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> impleme
                             .last("limit 1"));
                     if (ObjectUtils.isNull(userSubscribe)){
                         goodsUserVo.setSubscribeSign(1);
+                    }else if (userSubscribe.getSubscribeStatus() == 1 && userSubscribe.getExamStatus() == 0){
+                        goodsUserVo.setSubscribeSign(4);
                     }else if (ObjectUtils.isNotNull(userSubscribe.getResult()) && userSubscribe.getResult() == 0){
                         goodsUserVo.setSubscribeSign(3);
                     }

+ 44 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/CreateSameClassBo.java

@@ -0,0 +1,44 @@
+package com.zhongzheng.modules.grade.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年02月10日 8:50
+ */
+@Data
+public class CreateSameClassBo implements Serializable {
+
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+
+    @ApiModelProperty("班级编号")
+    private String classNo;
+
+    @ApiModelProperty("班级名称")
+    private String categoryName;
+
+    @ApiModelProperty("开班状态 0未开班(预报名) 1开班")
+    private Integer openclassState;
+
+    @ApiModelProperty("班级有效开始时间")
+    private String beginTime;
+
+    @ApiModelProperty("班级有效结束时间")
+    private String endTime;
+
+    @ApiModelProperty("5二建继教 ,  8二造继教")
+    private Integer platformId;
+
+    @ApiModelProperty("专业名称")
+    private String majorName;
+}

+ 37 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeServiceImpl.java

@@ -179,6 +179,9 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
     @Value("${oldStudySys.classOpenPath}")
     private String CLASS_OPEN_PATH;
 
+    @Value("${oldStudySys.createExamPath}")
+    private String CREATE_EXAM_PATH;
+
     @Override
     public ClassGradeVo queryById(Long gradeId) {
         ClassGradeQueryBo classGradeQueryBo = new ClassGradeQueryBo();
@@ -279,6 +282,7 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
             });
         }
         Boolean erJfalg = false;
+        Boolean ezJfalg = false;
         //七大员继教班级默认学时推送和报名推送
         if (bo.getClassGradeGoodsAddBos() != null ) {
             Long goodsId = bo.getClassGradeGoodsAddBos()[0];
@@ -308,6 +312,7 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
                 add.setSevenCode(sevenCode);
             }else if (("继续教育二级建造师".equals(businessName)) || ("继续教育二级造价师".equals(businessName))){
                 erJfalg = true;
+                ezJfalg = "继续教育二级造价师".equals(businessName);
                 add.setRegisterCode(ServletUtils.getEncoded("PIY"));
             }
         }
@@ -414,6 +419,34 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         if (erJfalg && bo.getClassGradeGoodsAddBos() != null){
             //二建继教班级创建,所有共享班级机构同步创建
             synchronousCreation(add,sysTenant,bo.getClassGradeGoodsAddBos()[0]);
+            //通知旧系统
+            CreateSameClassBo classBo = new CreateSameClassBo();
+            if (ObjectUtils.isNotNull(bo.getClassStatus()) && bo.getClassStatus() == 1){
+                classBo.setClassNo(add.getOfficialName());
+                classBo.setOpenclassState(1);
+                classBo.setBeginTime(DateUtils.timestampToDateFormat(add.getClassStartTime(),"yyyy-MM-dd HH:mm:ss"));
+                classBo.setEndTime(DateUtils.timestampToDateFormat(add.getClassEndTime(),"yyyy-MM-dd HH:mm:ss"));
+            }else {
+                classBo.setClassNo(add.getRegisterCode());
+                classBo.setOpenclassState(0);
+            }
+            classBo.setCategoryName(add.getClassName());
+            classBo.setPlatformId(ezJfalg?8:5);
+
+            Long nowTime = DateUtils.getNowTime();
+            String sign = ToolsUtils.EncoderByMd5(classBo.getClassNo()+nowTime.toString() + "pubilc2022");
+            classBo.setSign(sign);
+            classBo.setStamp(nowTime);
+            JSONObject param = JSONObject.parseObject(JSONObject.toJSONString(classBo));
+            String respone = "";
+            try {
+                respone = HttpUtils.sendPost(CREATE_EXAM_PATH, param);
+                if (!respone.contains("\"Status\":true")) {
+                    throw new CustomException("旧系统创建班级错误" + respone);
+                }
+            } catch (Exception e) {
+                throw new CustomException("旧系统创建班级错误" + e.getMessage());
+            }
         }
         //添加班级商品
         if (bo.getClassGradeGoodsAddBos() != null) {
@@ -443,6 +476,10 @@ public class ClassGradeServiceImpl extends ServiceImpl<ClassGradeMapper, ClassGr
         return save;
     }
 
+    public void createSameClass(){
+
+    }
+
 
     private void synchronousCreation(ClassGrade classGrade, SysTenant sysTenant,Long goodsId) {
         List<SysTenant> tenantList = sysTenantService.getListNoTenant(sysTenant.getTenantId());

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

@@ -20,6 +20,7 @@ import com.zhongzheng.common.type.EncryptHandler;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
+import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.modules.activity.domain.ActivityGoodsPrice;
 import com.zhongzheng.modules.activity.domain.ActivityOrder;
 import com.zhongzheng.modules.activity.service.IActivityGoodsPriceService;
@@ -46,10 +47,7 @@ import com.zhongzheng.modules.goods.service.IGoodsQuestionRelService;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.service.IQuestionMerchantService;
 import com.zhongzheng.modules.goods.vo.QuestionOpenImportVo;
-import com.zhongzheng.modules.grade.bo.ClassGradeListBo;
-import com.zhongzheng.modules.grade.bo.ClassGradeQueryBo;
-import com.zhongzheng.modules.grade.bo.ClassGradeSortBo;
-import com.zhongzheng.modules.grade.bo.ClassGradeUserTempQueryBo;
+import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.domain.*;
 import com.zhongzheng.modules.grade.service.*;
 import com.zhongzheng.modules.grade.vo.ClassGradeUserTempVo;
@@ -91,6 +89,7 @@ import com.zhongzheng.modules.user.vo.UserVo;
 import com.zhongzheng.modules.wx.service.IWxPayService;
 import net.polyv.common.v1.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -215,6 +214,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     private ISysOldOrgService iSysOldOrgService;
     @Autowired
     private ISysTenantService iSysTenantService;
+    @Value("${oldStudySys.createExamPath}")
+    private String CREATE_EXAM_PATH;
 
     @Override
     public OrderVo queryById(Long orderId) {
@@ -2565,6 +2566,35 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         if ((("继续教育二级建造师".equals(businessFull)) || ("继续教育二级造价师".equals(businessFull))) && sysTenant.getShareClass() == 1) {
             //二建继教班级创建,所有共享班级机构同步创建
             synchronousCreation(classGrade,sysTenant,goodsId);
+            //通知旧系统
+            CreateSameClassBo classBo = new CreateSameClassBo();
+            if (ObjectUtils.isNotNull(bo.getClassStatus()) && bo.getClassStatus() == 1){
+                classBo.setClassNo(classGrade.getOfficialName());
+                classBo.setOpenclassState(1);
+                classBo.setBeginTime(DateUtils.timestampToDateFormat(classGrade.getClassStartTime(),"yyyy-MM-dd HH:mm:ss"));
+                classBo.setEndTime(DateUtils.timestampToDateFormat(classGrade.getClassEndTime(),"yyyy-MM-dd HH:mm:ss"));
+            }else {
+                classBo.setClassNo(classGrade.getRegisterCode());
+                classBo.setOpenclassState(0);
+            }
+            classBo.setCategoryName(classGrade.getClassName());
+            classBo.setPlatformId("继续教育二级造价师".equals(businessFull)?8:5);
+
+            Long nowTime = DateUtils.getNowTime();
+            String sign = ToolsUtils.EncoderByMd5(classBo.getClassNo()+nowTime.toString() + "pubilc2022");
+            classBo.setSign(sign);
+            classBo.setStamp(nowTime);
+            JSONObject param = JSONObject.parseObject(JSONObject.toJSONString(classBo));
+            String respone = "";
+            try {
+                respone = HttpUtils.sendPost(CREATE_EXAM_PATH, param);
+                if (!respone.contains("\"Status\":true")) {
+                    log.error("旧系统创建班级错误" + respone);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("旧系统创建班级错误" + respone);
+            }
         }
         //绑定班级商品
         ClassGradeGoods classGradeGoods = new ClassGradeGoods();

+ 45 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -319,12 +319,29 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             return "当前选择的考试时间已过期,请重新预约,选择未过期考试时间";
         }
         validEntityBeforeSave(add);
+        //生成座位号
+        Integer tNum = getSeatNumber(bo,60L);
+        add.setSeatNumber(tNum.toString());
         add.setSubscribeStatus(1);
         add.setExamStatus(0);
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
         add.setExamineeCode(ServletUtils.getEncoded("ZZ"+ ToolsUtils.autoGenericCode(String.valueOf(add.getApplyId()),4) +ToolsUtils.autoGenericCode(String.valueOf(add.getUserId()),4)));
         this.save(add);
+
+        //预约成功推送新B端
+        CdExamSubscribeBo cdExamSubscribeBo = new CdExamSubscribeBo();
+        cdExamSubscribeBo.setUserId(add.getUserId());
+        cdExamSubscribeBo.setOrderGoodsId(add.getOrderGoodsId());
+        cdExamSubscribeBo.setExamApplyId(add.getApplyId());
+        cdExamSubscribeBo.setSign(1);
+        cdExamSubscribeBo.setTenantId(Long.valueOf(ServletUtils.getRequest().getHeader("TenantId")));
+        cdExamSubscribeBo.setDataFrom(1);
+        cdExamSubscribeBo.setType(1);//默认七大员新考
+        cdExamSubscribeBo.setSeatNumber(tNum);
+        String param = JSONObject.toJSONString(cdExamSubscribeBo);
+        Map<String, String> headersMap = new HashMap<>();
+        HttpUtils.sendPostJsonHeaderAsync(EXAM_SUBSCRIBE_SAVE_EXAM, param, headersMap);
         //发送预约考试消息
         sendExamSucceed(bo);
         return null;
@@ -545,6 +562,20 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             }
             update.setUpdateTime(DateUtils.getNowTime());
             boolean b = this.updateById(update);
+            if (bo.getSubscribeStatus() == 2){
+                //取消预约推送新B端
+                CdExamSubscribeBo cdExamSubscribeBo = new CdExamSubscribeBo();
+                cdExamSubscribeBo.setUserId(userSubscribeVo.getUserId());
+                cdExamSubscribeBo.setOrderGoodsId(userSubscribeVo.getOrderGoodsId());
+                cdExamSubscribeBo.setExamApplyId(userSubscribeVo.getApplyId());
+                cdExamSubscribeBo.setSign(1);
+                cdExamSubscribeBo.setTenantId(Long.valueOf(ServletUtils.getRequest().getHeader("TenantId")));
+                cdExamSubscribeBo.setDataFrom(1);
+                cdExamSubscribeBo.setType(1);//默认七大员新考
+                String param = JSONObject.toJSONString(cdExamSubscribeBo);
+                Map<String, String> headersMap = new HashMap<>();
+                HttpUtils.sendPostJsonHeaderAsync(EXAM_SUBSCRIBE_UPDATE_EXAM, param, headersMap);
+            }
             if(b&&Validator.isNotEmpty(bo.getResult())){
                 if(!bo.getResult().equals(userSubscribeVo.getResult())){
                     //考试结果有变更,发送短信
@@ -642,6 +673,20 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
             }
             update.setUpdateTime(DateUtils.getNowTime());
             b = this.updateById(update);
+            if (editBo.getSubscribeStatus() == 2){
+                //取消预约推送新B端
+                CdExamSubscribeBo cdExamSubscribeBo = new CdExamSubscribeBo();
+                cdExamSubscribeBo.setUserId(userSubscribeVo.getUserId());
+                cdExamSubscribeBo.setOrderGoodsId(userSubscribeVo.getOrderGoodsId());
+                cdExamSubscribeBo.setExamApplyId(userSubscribeVo.getApplyId());
+                cdExamSubscribeBo.setSign(1);
+                cdExamSubscribeBo.setTenantId(Long.valueOf(ServletUtils.getRequest().getHeader("TenantId")));
+                cdExamSubscribeBo.setDataFrom(1);
+                cdExamSubscribeBo.setType(1);//默认七大员新考
+                String param = JSONObject.toJSONString(cdExamSubscribeBo);
+                Map<String, String> headersMap = new HashMap<>();
+                HttpUtils.sendPostJsonHeaderAsync(EXAM_SUBSCRIBE_UPDATE_EXAM, param, headersMap);
+            }
             if(Validator.isNotEmpty(update.getResult())){
                 if(!update.getResult().equals(userSubscribeVo.getResult())){
                     //考试结果有变更,发送短信