diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java index 490ef431..e38e93dd 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java @@ -1,27 +1,12 @@ package com.xboe.module.exam.service.impl; -import java.io.IOException; import java.time.LocalDateTime; -import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import javax.transaction.Transactional; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.xboe.core.SysConstant; -import com.xboe.core.api.TokenProxy; -import com.xboe.core.utils.OkHttpUtil; -import com.xboe.standard.BaseConstant; -import lombok.extern.slf4j.Slf4j; -import okhttp3.*; -import org.apache.commons.lang3.exception.ExceptionUtils; -import org.apache.http.client.methods.HttpPost; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xboe.core.orm.FieldFilters; @@ -40,7 +25,6 @@ import com.xboe.module.usergroup.dao.UserGroupItemDao; import com.xboe.module.usergroup.entity.UserGroupItem; @Service -@Slf4j public class ExamUserTaskServiceImpl implements IExamUserTaskService{ @Resource @@ -58,85 +42,6 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{ @Resource AloneExamDao aloneExamDao; - @Resource - private OkHttpUtil okHttpUtil; - - @Autowired - private HttpServletRequest request; - - private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); - - - private static final String oldUserGoupItem="xboe.old.base.url"; - -// public static void main(String[] args) { -// String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk4MDM2OTMsImV4cCI6MTY2OTgxMDg5MywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjAxNTU1M0RELTQ0NUUtNjlENC0zNTFGLUREOUExQTU2NDIwRSIsInVJZCI6Ijk2NTM0MTk5OTY0MzIzNDMwNCIsInBlcm1pc3Npb24iOiIifQ==.2dff2cc8262affb5bfdf8c96325e71ab2178ebc45b0228f23958263160f7464f"; -// String type="application/json"; -// String[] headers=new String[] {"token",token,"Content-Type",type}; -// String url= "https://u-pre.boe.com/userbasic/audience/memberList"; -// System.out.println(url); -// Map params = new HashMap<>(); -// params.put("audienceId", "7002943034057035777"); -// -// String json = null; -// try { -// ObjectMapper mapper=new ObjectMapper(); -// json = mapper.writeValueAsString(params); -// } catch (JsonProcessingException e) { -// e.printStackTrace(); -// } -// -// RequestBody requestBody = RequestBody.create(JSON, json); -// -// Request.Builder postBuilder = new Request.Builder(); -// postBuilder.addHeader("Connection", "close"); -// if (headers != null && headers.length > 0) { -// if (headers.length % 2 == 0) { -// for (int i = 0; i < headers.length; i = i + 2) { -// postBuilder.addHeader(headers[i], headers[i + 1]); -// } -// } else { -// -// } -// -// } -// -// Request request = postBuilder.url(url).post(requestBody).build(); -// -// -// -// -// System.out.println(request.headers()); -// OkHttpClient okHttpClient=new OkHttpClient(); -// try { -// Response execute = okHttpClient.newCall(request).execute(); -// String json = null; -// try { -// ObjectMapper mapper=new ObjectMapper(); -// json = mapper.writeValueAsString(params); -// } catch (JsonProcessingException e) { -// e.printStackTrace(); -// } -// System.out.println(execute.body().string()); -// -// } catch (IOException e) { -// e.printStackTrace(); -// } -// -// -// -// -// -// } - - private String getNodeText(JsonNode jn) { - if(jn!=null) { - return jn.asText(); - }else { - return ""; - } - } - @Override @Transactional public void addTask(ExamTestDto task) { @@ -151,46 +56,23 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{ dao.save(examUserTask); //执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中 //查询受众的信息 -// List items = ugroupDao.findList("groupId", task.getGroupId()); - String token = TokenProxy.getToken(request); - String type="application/json"; - String[] headers=new String[] {"token",token,"Content-Type",type}; - String url= SysConstant.getConfigValue(oldUserGoupItem)+"/userbasic/audience/memberList"; - Map params = new HashMap<>(); - params.put("audienceId", ""); - String json = null; - try { - ObjectMapper mapper=new ObjectMapper(); - json = mapper.writeValueAsString(params); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - String responseStr = okHttpUtil.doPostJson(url, json, headers); - JsonNode rootNode=null; - try { - ObjectMapper objectMapper = new ObjectMapper(); - rootNode = objectMapper.readTree(responseStr); - } catch (JsonProcessingException e) { - log.error("结构解析错误"); - } - - JsonNode result = rootNode.get("result")!=null ?( rootNode.get("result").get("data") !=null ? rootNode.get("result").get("data"):null):null; - if(rootNode.get("result")!=null & rootNode.get("result").isArray()) { + List items = ugroupDao.findList("groupId", task.getGroupId()); + if(items.size()>0) { //防止加入两条的问题,应该是先查询,再添加 Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); //这里应该是单独的线程去处理 - for(JsonNode JsonNode :result) { - if(amap.containsKey(result.get("userId"))) { + for(UserGroupItem item :items) { + if(amap.containsKey(item.getAid())) { continue; } //检查是否存在 AloneExam aloneExam = new AloneExam(); - aloneExam.setAid(getNodeText(result.get("personId"))); + aloneExam.setAid(item.getAid()); aloneExam.setTestId(task.getTestId()); aloneExam.setTestName(task.getTestName()); - aloneExam.setName(getNodeText(result.get("userName"))); - aloneExam.setUcode(getNodeText(result.get("userNo"))); + aloneExam.setName(item.getName()); + aloneExam.setUcode(item.getUserNo()); aloneExam.setTestDuration(task.getDuration()); aloneExam.setTaskTime(LocalDateTime.now()); aloneExam.setStartTime(task.getStartTime());