he2802 %!s(int64=3) %!d(string=hai) anos
pai
achega
2716184f89

+ 3 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassStudentController.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.controller.grade;
 
+import cn.hutool.core.lang.Validator;
 import com.zhongzheng.common.annotation.Log;
 import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
@@ -183,8 +184,8 @@ public class ClassStudentController extends BaseController {
     @ApiOperation("官方信息推送")
     @PreAuthorize("@ss.hasPermi('app:user:edit')")
     @PostMapping("/pushInfo")
-    public AjaxResult<Void> pushInfo(@RequestBody ClassGradeUserQueryBo  bo) {
-        return toAjax(iClassGradeUserService.pushOfficialInfo(bo) ? 1 : 0);
+    public AjaxResult<Void> pushInfo(@RequestBody List<ClassGradeUserQueryBo>  list) {
+        return toAjax(Validator.isEmpty(iClassGradeUserService.pushOfficialInfoMore(list)) ? 1 : 0);
     }
 
     /**

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

@@ -115,5 +115,6 @@ certificate:
 
 officialPush:
     infoPath: http://jypt-dev.gdcic.net/organjxjy/ShangBaoMingdan
+    periodPath: http://jypt.gdcic.net/organjxjy/XueshiShenqing
     infoAccount: peixunjigou
     token: 0ca175b9c0f726a831d895e26933246

+ 0 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClassGradeUserQueryBo.java

@@ -37,7 +37,6 @@ public class ClassGradeUserQueryBo extends BaseEntity {
 	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
 	private String isAsc;
 
-
 	/** 学员ID */
 	@ApiModelProperty("学员ID")
 	private Long userId;

+ 5 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeUserService.java

@@ -43,7 +43,11 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 
 	Integer updateUserPeriodStatus(ClassGradeUserQueryBo bo);
 
-	Boolean pushOfficialInfo(ClassGradeUserQueryBo bo);
+	String pushOfficialInfo(ClassGradeUserQueryBo bo);
+
+	String pushOfficialInfoMore(List<ClassGradeUserQueryBo> list);
+
+	String pushOfficialPeriod(ClassGradeUserQueryBo bo);
 
 	List<ClassPeriodStudentExportVo> exportPo(ClassGradeUserQueryBo bo);
 

+ 39 - 19
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -111,6 +111,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
     @Value("${officialPush.infoPath}")
     private String OFFICIALPUSH_INFOPATH;
 
+    @Value("${officialPush.periodPath}")
+    private String OFFICIALPUSH_PERIODPATH;
+
     @Value("${officialPush.infoAccount}")
     private String OFFICIALPUSH_INFOACCOUNT;
 
@@ -374,35 +377,35 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
     }
 
     @Override
-    public Boolean pushOfficialInfo(ClassGradeUserQueryBo bo){
+    public String pushOfficialInfo(ClassGradeUserQueryBo bo){
         ClassGradeUserVo userVo = this.baseMapper.selectUser(bo);
         if(Validator.isEmpty(userVo)){
-        //    throw new CustomException("用户不存在");
-            System.out.println("用户不存在");
-            return false;
+            return "用户不存在";
         }
         if(Validator.isEmpty(userVo.getInterfacePushId())||!userVo.getInterfacePushId().equals(1L)){
-        //    throw new CustomException("没开通信息推送");
-            System.out.println("没开通信息推送");
-            return false;
+            return "没开通信息推送";
         }
         if(Validator.isEmpty(userVo.getOfficialName())){
-        //    throw new CustomException("没配置班号");
-            System.out.println("没配置班号");
-            return false;
+            return "没配置班号";
         }
         if(Validator.isEmpty(userVo.getClassStatus())||userVo.getClassStatus()!=1){
-        //    throw new CustomException("未开班");
-            System.out.println("未开班");
-            return false;
+            return "未开班";
+        }
+        if(Validator.isNotEmpty(userVo.getClassStartTime())){
+            long nowTime = System.currentTimeMillis()/1000;
+            if(userVo.getClassStartTime().longValue()>nowTime){
+                return "班级有效期未开始";
+            }
+            if(nowTime>userVo.getClassStartTime().longValue()){
+                return "班级有效期已结束";
+            }
         }
         OrderGoodsQueryBo goodsQueryBo = new OrderGoodsQueryBo();
         goodsQueryBo.setUserId(bo.getUserId());
         goodsQueryBo.setGradeId(userVo.getGradeId());
         OrderGoodsVo orderGoods = iOrderGoodsService.gradeGoods(goodsQueryBo);
         if(Validator.isEmpty(orderGoods)){
-        //    throw new CustomException("班级商品不存在");
-            return false;
+            return "班级商品不存在";
         }
         Map<String, String> params =  new HashMap<>();
         params.put("zh",OFFICIALPUSH_INFOACCOUNT);
@@ -412,7 +415,6 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         params.put("dh",userVo.getTelPhone());
         params.put("bmrq",DateUtils.timestampToDate(orderGoods.getCreateTime()));
         String  dataTxt = params.get("zh")+params.get("bh")+params.get("xm")+params.get("sfz")+params.get("dh")+params.get("bmrq");
-        System.out.println(dataTxt);
         String encrypted = dataSign(dataTxt,OFFICIALPUSH_TOKEN);
         params.put("SignMsg",encrypted);
         String respone = "";
@@ -420,7 +422,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
          respone = HttpUtils.postFormBody(OFFICIALPUSH_INFOPATH,params);
          String[] split = respone.split("\\|");
         if (split.length < 2) {
-           return false;
+            return "推送接口返回数据错误";
         }
          if(split[0].equals("OK")){
              //推送成功
@@ -431,7 +433,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
              objectLambdaUpdateWrapper.set(ClassGradeUser::getUpdateTime,DateUtils.getNowTime());
              objectLambdaUpdateWrapper.set(ClassGradeUser::getOfficialStatusTime,DateUtils.getNowTime());
              this.update(null, objectLambdaUpdateWrapper);
-             return true;
+             return null;
          }else {
              //推送失败
              LambdaUpdateWrapper<ClassGradeUser> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
@@ -440,13 +442,31 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
              objectLambdaUpdateWrapper.set(ClassGradeUser::getUpdateTime,DateUtils.getNowTime());
              objectLambdaUpdateWrapper.set(ClassGradeUser::getOfficialStatusTime,DateUtils.getNowTime());
              this.update(null, objectLambdaUpdateWrapper);
-             throw new CustomException("推送失败:"+respone);
+             return respone;
          }
         }catch (IOException e){
             throw new CustomException("请求错误");
         }
     }
 
+    @Override
+    public String pushOfficialInfoMore(List<ClassGradeUserQueryBo> list) {
+        int index = 1;
+        String errorMsg = "";
+        for(ClassGradeUserQueryBo bo : list){
+            String msg = pushOfficialInfo(bo);
+            if(Validator.isNotEmpty(msg)){
+                errorMsg += "第"+index+"条错误:"+ msg;
+            }
+            index++;
+        }
+        return errorMsg;
+    }
+
+    @Override
+    public String pushOfficialPeriod(ClassGradeUserQueryBo bo) {
+        return null;
+    }
 
 
     public static String EncoderByMd5(String str) {

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeUserVo.java

@@ -95,4 +95,12 @@ public class ClassGradeUserVo {
 	@Excel(name = "学时推送结果")
 	@ApiModelProperty("学时推送结果")
 	private String periodPlushMsg;
+	/** 班级有效期开始时间 */
+	@Excel(name = "班级有效期开始时间")
+	@ApiModelProperty("班级有效期开始时间")
+	private Long classStartTime;
+	/** 班级有效期结束时间 */
+	@Excel(name = "班级有效期结束时间")
+	@ApiModelProperty("班级有效期结束时间")
+	private Long classEndTime;
 }

+ 5 - 1
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -37,6 +37,8 @@
         <result property="interfacePushId" column="interface_push_id"/>
         <result property="classStatus" column="class_status"/>
         <result property="officialName" column="official_name"/>
+        <result property="classStartTime" column="class_start_time"/>
+        <result property="classEndTime" column="class_end_time"/>
     </resultMap>
 
 
@@ -178,7 +180,9 @@
         cg.class_name,
         cg.official_name,
         cg.class_status,
-        cg.interface_push_id
+        cg.interface_push_id,
+        cg.class_start_time,
+        cg.class_end_time
         FROM
         class_grade_user g
         LEFT JOIN `user` u ON g.user_id = u.user_id