| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package com.chuanghai.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.chuanghai.dto.WeixiaoPushDTO;
- import com.chuanghai.entity.PushProject;
- import com.chuanghai.exception.BizCodeEnume;
- import com.chuanghai.exception.RRException;
- import com.chuanghai.mapper.PushProjectMapper;
- import com.chuanghai.service.PushProjectService;
- import com.fasterxml.jackson.core.type.TypeReference;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.sun.org.apache.xpath.internal.operations.Bool;
- import com.sun.xml.internal.bind.v2.util.ByteArrayOutputStreamEx;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.http.ResponseEntity;
- import org.springframework.stereotype.Service;
- import org.springframework.web.client.RestTemplate;
- import java.time.LocalDateTime;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @Slf4j
- @Service
- public class PushProjectServiceImpl extends ServiceImpl<PushProjectMapper, PushProject> implements PushProjectService {
- @Override
- public Boolean pushProject(WeixiaoPushDTO weixiaoPushDTO) {
- Boolean flag = Boolean.FALSE;
- String app_key = weixiaoPushDTO.getApp_key();
- String school_code = weixiaoPushDTO.getSchool_code();
- String event = weixiaoPushDTO.getEvent();
- String raw_data = weixiaoPushDTO.getRaw_data();
- String app_secret = weixiaoPushDTO.getApp_secret();
- Map<String, String> tokenParams = new HashMap<>();
- tokenParams.put("app_key", app_key);
- tokenParams.put("school_code", school_code);
- tokenParams.put("event", event);
- tokenParams.put("raw_data", raw_data);
- tokenParams.put("app_secret", app_secret);
- List<PushProject> pushProjectList = this.queryPushProject();
- for (int i = 0; i < pushProjectList.size(); i++) {
- PushProject pushProject = pushProjectList.get(i);
- try {
- String tokenUrl = pushProject.getUrl();
- RestTemplate client = new RestTemplate();
- ResponseEntity<String> tokenResponse = client.postForEntity(tokenUrl, tokenParams, String.class);
- String body = tokenResponse.getBody();
- log.info("微校推送服务接口状态=======》》推送项目:【{}】》》结果集:【{}】", pushProject.getProject(), body);
- ObjectMapper mapper = new ObjectMapper();
- Map<String, Object> jsonMap = mapper.readValue(body, new TypeReference<Map<String, Object>>() {
- });
- Integer code = (Integer) jsonMap.get("code");
- if (code == 0) {
- flag = Boolean.TRUE;
- }
- } catch (Exception e) {
- throw new RRException(BizCodeEnume.FILE_IS_PUSH);
- }
- }
- return flag;
- }
- /**
- * 添加推送项目
- *
- * @param url
- * @param project
- */
- @Override
- public void addPushProject(String url, String project) {
- LocalDateTime localDateTime = LocalDateTime.now();
- PushProject pushProject = new PushProject();
- pushProject.setCreateTime(localDateTime.now());
- pushProject.setProject(project);
- pushProject.setStatu(0);
- pushProject.setUrl(url);
- this.save(pushProject);
- }
- @Override
- public void deletePushProject(Long id) {
- PushProject pushProject = this.getById(id);
- pushProject.setStatu(1);
- this.updateById(pushProject);
- }
- /**
- * 查询有效的项目
- *
- * @return
- */
- public List<PushProject> queryPushProject() {
- QueryWrapper<PushProject> wrapper = new QueryWrapper<>();
- wrapper.eq("statu", "0");
- return this.list(wrapper);
- }
- }
|