he2802 2 years ago
parent
commit
7c403c78db

+ 7 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -715,6 +715,7 @@ public class CommonController extends BaseController {
     public AjaxResult pushPeriod(@RequestBody List<ClassGradeUserQueryBo>  list) {
         return AjaxResult.success(iClassGradeUserService.pushOfficialPeriodMore(list));
     }
+
     @ApiOperation("测试获取山东题库")
     @PreAuthorize("@ss.hasPermi('system:withdrawal:add')")
     @Log(title = "测试获取山东题库", businessType = BusinessType.INSERT)
@@ -724,4 +725,10 @@ public class CommonController extends BaseController {
         return AjaxResult.success();
     }
 
+
+    @ApiOperation("旧系统post请求")
+    @PostMapping("/common/free/clientPost")
+    public AjaxResult<Void> clientPost(@RequestBody ClientPostAddBo bo) {
+        return AjaxResult.success(iClassGradeUserService.sendClientPost(bo));
+    }
 }

+ 45 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/http/HttpUtils.java

@@ -125,6 +125,16 @@ public class HttpUtils
 
     }
 
+    public static String postFormBodyHeader(String url, Map<String, String> paramMap, Map<String, String> headersMap) throws IOException{
+        try{
+            String result = postHead(url, paramMap, null,headersMap);
+            return result;
+        }catch (Exception e){
+            return null;
+        }
+
+    }
+
     public static String sendPost(String url, JSONObject param)
     {
         HttpClient client = HttpClients.createDefault();
@@ -472,6 +482,41 @@ public class HttpUtils
         return url;
     }
 
+    private static String postHead(String url, Map<String, String> paramMap, String encoding, Map<String, String> headersMap) throws IOException, NoSuchAlgorithmException, KeyManagementException {
+        log.debug("http 请求 url: {} , 请求参数: {}", url, appendUrl("", paramMap).replace("?", ""));
+        encoding = encoding == null ? UTF8 : encoding;
+        // 创建post方式请求对象
+        HttpPost httpPost = new HttpPost(url);
+        // 装填参数
+        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
+        if (paramMap != null) {
+            for (Map.Entry<String, String> entry : paramMap.entrySet()) {
+                String value = entry.getValue();
+                //去掉如下判断会造成String类型的value为null时
+                if (value != null) {
+                    nameValuePairs.add(new BasicNameValuePair(entry.getKey(), value));
+                }
+            }
+        }
+        // 设置参数到请求对象中
+        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, encoding));
+        // 设置header信息
+        // 指定报文头【Content-type】、【User-Agent】
+        httpPost.setHeader("Content-type", APPLICATION_FORM_URLENCODED);
+        headersMap.forEach(httpPost::setHeader);
+        return post(url, httpPost, encoding, new DataParse<String>() {
+            @Override
+            public String parseData(HttpEntity httpEntity, String encoding) throws IOException {
+                if(Validator.isNotEmpty(httpEntity)){
+                    return EntityUtils.toString(httpEntity, encoding);
+                }else{
+                    return null;
+                }
+
+            }
+        });
+    }
+
     /**
      * 向url发送post请求表单提交数据
      * @param url 请求url

+ 7 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/UserProfileServiceImpl.java

@@ -501,7 +501,7 @@ public class UserProfileServiceImpl extends ServiceImpl<UserProfileMapper, UserP
         String keyValue = bo.getKeyValue();
         if (Validator.isNotEmpty(keyValue)) {
             Map<String, String> maps = JSONObject.parseObject(keyValue, Map.class);
-            String recent_photos, idcard_face_photo, idcard_national_photo,work_unit,idcard,name,education,apply_post,telphone;
+            String recent_photos, idcard_face_photo, idcard_national_photo,work_unit,idcard,name,education,apply_post,telphone,sex;
             LambdaUpdateWrapper<User> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
             objectLambdaUpdateWrapper.eq(User::getUserId, bo.getUserId());
             UserVo user = iUserService.queryById(bo.getUserId());
@@ -576,6 +576,12 @@ public class UserProfileServiceImpl extends ServiceImpl<UserProfileMapper, UserP
                     objectLambdaUpdateWrapper.set(User::getJob, apply_post);
                 }
             }
+            if (maps.containsKey("sex")) {
+                sex = JSONObject.parseObject(String.valueOf(maps.get("sex")), UserProfileFit.class).getValue();
+                if(Validator.isNotEmpty(sex)){
+                    objectLambdaUpdateWrapper.set(User::getSex, sex.equals("男")?1:2);
+                }
+            }
             objectLambdaUpdateWrapper.set(User::getUpdateTime, DateUtils.getNowTime());
             iUserService.update(null, objectLambdaUpdateWrapper);
         }

+ 39 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/bo/ClientPostAddBo.java

@@ -0,0 +1,39 @@
+package com.zhongzheng.modules.grade.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+
+/**
+ * 班级添加对象 class_grade
+ *
+ * @author ruoyi
+ * @date 2021-11-10
+ */
+@Data
+@ApiModel("班级添加对象")
+public class ClientPostAddBo {
+
+    @ApiModelProperty("请求文本")
+    @NotBlank(message = "请求文本")
+    private String content;
+
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+
+    @ApiModelProperty("请求文本")
+    @NotBlank(message = "请求文本")
+    private String token;
+
+    @ApiModelProperty("url")
+    @NotBlank(message = "url")
+    private String url;
+}

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

@@ -1,21 +1,16 @@
 package com.zhongzheng.modules.grade.service;
 
-import com.zhongzheng.common.core.domain.AjaxResult;
-import com.zhongzheng.modules.base.bo.UserProfileQueryBo;
-import com.zhongzheng.modules.base.vo.UserProfileExportGaiVo;
 import com.zhongzheng.modules.course.vo.CourseChapterVo;
 import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.zhongzheng.modules.grade.vo.*;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.user.bo.UserQueryBo;
-import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
 import com.zhongzheng.modules.user.domain.User;
 
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.zip.ZipOutputStream;
 
 /**
  * 学员记录Service接口
@@ -70,6 +65,8 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 
 	Map<String,Object> exportWeekPo(ClassGradeUserQueryBo bo);
 
+	String sendClientPost(ClientPostAddBo bo);
+
 
 	/**
 	 * 根据编辑业务对象修改学员记录

+ 31 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -36,7 +36,6 @@ import com.zhongzheng.modules.course.vo.CourseBusinessVo;
 import com.zhongzheng.modules.course.vo.CourseChapterVo;
 import com.zhongzheng.modules.course.vo.CourseProjectTypeVo;
 import com.zhongzheng.modules.goods.domain.Goods;
-import com.zhongzheng.modules.goods.domain.GoodsCourse;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.*;
@@ -72,7 +71,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.security.core.token.TokenService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -733,6 +731,9 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         if (Validator.isEmpty(userVo.getRealName()) || Validator.isEmpty(userVo.getIdCard()) || Validator.isEmpty(userVo.getTelPhone())) {
             return "用户信息缺失";
         }
+        if (Validator.isEmpty(userVo.getEduLevel()) || Validator.isEmpty(userVo.getCompanyName()) || Validator.isEmpty(userVo.getSex())) {
+            return "用户详细信息缺失";
+        }
         if (Validator.isEmpty(orderGoods.getSevenYear())) {
             return "商品年份缺失";
         }
@@ -748,7 +749,10 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         params.put("sfz", userVo.getIdCard());
         params.put("dh", userVo.getTelPhone());
         params.put("bmrq", DateUtils.timestampToDate(bmrq));
-        String dataTxt = params.get("zh") + params.get("bh") + params.get("year") + params.get("xm") + params.get("sfz") + params.get("dh") + params.get("bmrq");
+        params.put("dw", userVo.getCompanyName());
+        params.put("xl", userVo.getEduLevel());
+        params.put("xb", userVo.getSex()==1?"男":"女");
+        String dataTxt = params.get("zh") + params.get("bh") + params.get("year") + params.get("xm") + params.get("sfz") + params.get("dh") + params.get("dw") + params.get("xl") + params.get("xb") + params.get("bmrq");
         log.info("报名信息推送参数"+ dataTxt);
         String encrypted = dataSign(dataTxt, SEVEN_OFFICIALPUSH_TOKEN);
         params.put("SignMsg", encrypted);
@@ -1434,6 +1438,30 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return totalRs;
     }
 
+    @Override
+    public String sendClientPost(ClientPostAddBo bo) {
+        if(Validator.isEmpty(bo.getContent())){
+            throw new CustomException("参数错误");
+        }
+        String respone = "";
+        try {
+            Map<String, String> params = Splitter.on("&").withKeyValueSeparator("=").split(bo.getContent());
+            Map<String, String> head = new HashMap<>();
+            if(Validator.isNotEmpty(bo.getToken())){
+                head.put("token", bo.getToken());
+            }
+            respone = HttpUtils.postFormBodyHeader(bo.getUrl(), params,head);
+            if (Validator.isEmpty(respone)) {
+                return "响应信息空";
+            }
+            return respone;
+
+        } catch (IOException e) {
+            //    throw new CustomException("请求错误");
+            return null;
+        }
+    }
+
     //填充满列表的用户信息
     private Map<String, Object> fillListWeek(List<ClassPeriodStudentExportVo> list) {
         List<ClassPeriodStudentExportWeekAllVo> newList = new ArrayList<>();

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

@@ -160,4 +160,16 @@ public class ClassGradeUserVo {
 	@ApiModelProperty("学习记录同步到老系统时间")
 	private Long toOldTime;
 	private Long orderGoodsId;
+	/** 教育层次 */
+	@cn.afterturn.easypoi.excel.annotation.Excel(name = "教育层次")
+	@ApiModelProperty("教育层次")
+	private String eduLevel;
+	/** 公司名称 */
+	@cn.afterturn.easypoi.excel.annotation.Excel(name = "公司名称")
+	@ApiModelProperty("公司名称")
+	private String companyName;
+	/** 性别 */
+	@cn.afterturn.easypoi.excel.annotation.Excel(name = "性别1男2女")
+	@ApiModelProperty("性别1男2女")
+	private Integer sex;
 }

+ 6 - 0
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -67,6 +67,9 @@
         <result property="toOldResult" column="to_old_result"/>
         <result property="toOldTime" column="to_old_time"/>
         <result property="orderGoodsId" column="order_goods_id"/>
+        <result property="sex" column="sex"/>
+        <result property="eduLevel" column="edu_level"/>
+        <result property="companyName" column="company_name"/>
     </resultMap>
 
 
@@ -247,6 +250,9 @@
         u.realname,
         u.id_card,
         u.telphone,
+        u.sex,
+        u.edu_level,
+        u.company_name,
         cg.class_name,
         cg.official_name,
         cg.class_status,

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

@@ -828,7 +828,7 @@
             </otherwise>
         </choose>
         <if test="orderGoodsId != null and orderGoodsId != '' ">
-            AND up.order_goods_id =  #{orderGoodsId}
+            AND (up.order_goods_id =  #{orderGoodsId} or up.order_goods_id is null)
         </if>
         AND up.user_id = #{userId}
     </select>
@@ -905,7 +905,7 @@
             and up.type = 3
         </if>
         <if test="orderGoodsId != null and orderGoodsId != '' ">
-            AND up.order_goods_id =  #{orderGoodsId}
+            AND (up.order_goods_id =  #{orderGoodsId} or up.order_goods_id is null)
         </if>
         AND up.user_id = #{userId}
     </select>