Merge branch 'master' of http://git.hchbox.com/yuyou/client into master

# Conflicts:
#	src/main/java/com/yuyou/openapi/openapi/service/impl/ABClientServiceImpl.java
master
queyounan 4 years ago
parent 478da40266
commit c2e7c11986

@ -488,4 +488,33 @@ public class ABClient {
return abClientService.recordGuaziClientMsg(atoCvt)? return abClientService.recordGuaziClientMsg(atoCvt)?
CommonResponse.createBySuccess() : CommonResponse.createByErrorMessage("调用失败请重试"); CommonResponse.createBySuccess() : CommonResponse.createByErrorMessage("调用失败请重试");
} }
/**
*
*
* @return
*/
@PostMapping("/api/req/forminput/fudaojun")
@ResponseBody
public CommonResponse getFormData(@RequestBody ABClientFudaojunMessageVO vo){
//记录日志
log.info("====== [ one request comming, request content is {} ] ======", vo.toString());
// 验证参数,并进行解密
String callLog = vo.getCalllog();
if (StringUtils.isEmpty(callLog)){
return CommonResponse.createByErrorMessage(ResponseCode.EMPTY_ARGUMENT.getDesc());
}
// 获取的是解密且解码后的Json字符串
String jsonResult = SecurityOperationUtil.decCallLogSecurityInfo(callLog);
// Json转成对应的实体类
if (StringUtils.isEmpty(jsonResult)){
return CommonResponse.createByErrorMessage(ResponseCode.DECRYPT_ERROR.getDesc());
}
// vo赋值到DTO
FudaojunMessageDTO fudaojunMessageDTO = JSONUtil.toBean(jsonResult, FudaojunMessageDTO.class);
FudaojunMessageDTO atoCvt = FudaojunMessageConverter.convertFudaojunMessageDTOFromVO(fudaojunMessageDTO, vo);
// 处理具体逻辑,返回校验成功的结果
return abClientService.recordFudaojunClientMsg(atoCvt)?
CommonResponse.createBySuccess() : CommonResponse.createByErrorMessage("调用失败请重试");
}
} }

@ -0,0 +1,31 @@
package com.yuyou.openapi.openapi.dao;
import com.yuyou.openapi.openapi.model.dataobject.FudaojunMessageDO;
import com.yuyou.openapi.openapi.model.dataobject.ZhangmenMessageDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface FudaojunMessageRepository extends JpaRepository<FudaojunMessageDO,Long> {
/**
* RecId
*
* @param recId Id
* @return
*/
List<FudaojunMessageDO> findByRecId(Long recId);
/**
* fixme recId,, app_id rec_id ,
*/
List<FudaojunMessageDO> findByRecIdAndAppId(Long recId, String appId);
/**
* pnum
*/
List<FudaojunMessageDO> findByPnumAndSubmitStatus(String pnum, Integer submitStatus);
}

@ -0,0 +1,91 @@
package com.yuyou.openapi.openapi.model.convert;
import cn.hutool.core.codec.Base64;
import com.yuyou.openapi.openapi.common.enums.ConstantEnum;
import com.yuyou.openapi.openapi.common.enums.GradeEnum;
import com.yuyou.openapi.openapi.common.enums.SubjectEnum;
import com.yuyou.openapi.openapi.common.security.SecurityConstants;
import com.yuyou.openapi.openapi.common.security.SecurityService;
import com.yuyou.openapi.openapi.model.dataobject.FudaojunMessageDO;
import com.yuyou.openapi.openapi.model.dto.FudaojunMessageDTO;
import com.yuyou.openapi.openapi.model.vo.ABClientFudaojunMessageVO;
import com.yuyou.openapi.openapi.utils.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* @version 1.0
* @date 2020/8/10
*/
@Slf4j
public class FudaojunMessageConverter {
/**
* VODTO
* @param abClientFudaojunMessageVO
* @return
*/
public static FudaojunMessageDTO convertFudaojunMessageDTOFromVO(FudaojunMessageDTO fudaojunMessageDTO, ABClientFudaojunMessageVO abClientFudaojunMessageVO) {
BeanUtils.copyProperties(abClientFudaojunMessageVO, fudaojunMessageDTO);
return fudaojunMessageDTO;
}
/**
* DTODO
* @param list
* @return
*/
public static List<FudaojunMessageDO> convertFudaojunMessageDOFromDTO(List<FudaojunMessageDTO> list) {
if (CollectionUtils.isEmpty(list)) {
return null;
}
List<FudaojunMessageDO> fudaojunMessageDOs = new ArrayList<>();
list.forEach(each -> {
FudaojunMessageDO fudaojunMessageDO = convertFudaojunMessageDOFromDTO(each);
if (fudaojunMessageDO != null) {
fudaojunMessageDOs.add(fudaojunMessageDO);
}
});
return fudaojunMessageDOs;
}
/**
* DTODO
* @param fudaojunMessageDTO
* @return
*/
public static FudaojunMessageDO convertFudaojunMessageDOFromDTO(FudaojunMessageDTO fudaojunMessageDTO) {
if (fudaojunMessageDTO == null || fudaojunMessageDTO.getTag() == null || fudaojunMessageDTO.getData() == null) {
return null;
}
FudaojunMessageDO zhangmenMessageDO = new FudaojunMessageDO();
BeanUtils.copyProperties(fudaojunMessageDTO.getData(), zhangmenMessageDO);
try {
fudaojunMessageDTO.getData().setMobile(Base64.encode(fudaojunMessageDTO.getData().getMobile()));
String encryptedMobile = SecurityService.encrypt(fudaojunMessageDTO.getData().getMobile(), SecurityConstants.PHONE);
String encryptedName = SecurityService.encrypt(fudaojunMessageDTO.getData().getName(), SecurityConstants.SIMPLE);
zhangmenMessageDO.setPnum(encryptedMobile);
zhangmenMessageDO.setStuName(encryptedName);
} catch (Exception e) {
log.error("Encrypt data raise Error, recId = {}, error is :", fudaojunMessageDTO.getTag().getTag_key_id(), e);
zhangmenMessageDO.setPnum(fudaojunMessageDTO.getData().getMobile());
zhangmenMessageDO.setStuName(fudaojunMessageDTO.getData().getName());
}
zhangmenMessageDO.setAppId(fudaojunMessageDTO.getAppId());
zhangmenMessageDO.setPushTime(DateUtils.date(fudaojunMessageDTO.getTimestamp()));
zhangmenMessageDO.setStuGrade(GradeEnum.codeOf(fudaojunMessageDTO.getData().getGrade()));
zhangmenMessageDO.setStuSub(SubjectEnum.codeOf(fudaojunMessageDTO.getData().getCourse()));
zhangmenMessageDO.setDevice(ConstantEnum.YesOrNo.codeOf(fudaojunMessageDTO.getData().getDevice()));
zhangmenMessageDO.setRecId(fudaojunMessageDTO.getTag().getTag_key_id());
return zhangmenMessageDO;
}
}

@ -0,0 +1,83 @@
package com.yuyou.openapi.openapi.model.dataobject;
import lombok.Data;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.util.Date;
/**
*
* @version 1.0
* @date 2020/8/10
*/
@Data
@Table(name = "fudaojun_message")
@Entity
@EntityListeners(AuditingEntityListener.class)
public class FudaojunMessageDO {
/**
* id
*/
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Long id;
@Column(name = "gmt_create")
@CreatedDate
private Date gmtCreate;
@Column(name = "gmt_modified")
@LastModifiedDate
private Date gmtModified;
/**
* id
*/
@Column(name = "rec_id")
private Long recId;
/**
*
*/
@Column(name = "stu_name")
private String stuName;
/**
*
*/
private String pnum;
/**
*
*/
@Column(name = "stu_grade")
private Integer stuGrade;
/**
*
*/
@Column(name = "stu_sub")
private Integer stuSub;
@Column(name = "device")
private Integer device;
/**
* id
*/
@Column(name = "app_id")
private String appId;
/**
*
*/
@Column(name = "push_time")
private Date pushTime;
@Column(name = "submit_status")
private Integer submitStatus = 0;
}

@ -0,0 +1,110 @@
package com.yuyou.openapi.openapi.model.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FudaojunMessageDTO {
/**
* ID
*/
private String appId;
/**
*
*/
private Long timestamp;
/**
*
*/
private Tag tag;
/**
*
*/
private Datas data;
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Tag {
/**
* id
*/
private Long tag_key_id;
/**
*
*/
private String tag_key_name;
/**
*
*/
private String tag_key_mobile;
/**
*
*/
private String tag_key_grade;
/**
*
*/
private String tag_key_course;
/**
*
*/
private String tag_key_device;
/**
*
*/
private String tag_key_appointment;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class Datas {
/**
*
*/
private String name;
/**
*
*/
private String mobile;
/**
*
*/
private String grade;
/**
*
*/
private String course;
/**
*
*/
private String device;
/**
*
*/
private Integer appointment;
}
}

@ -0,0 +1,27 @@
package com.yuyou.openapi.openapi.model.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* Copyright (C), 2012 - 2018, qyx
* FileName: ABClientMessageVO
* Author: x
* Date: 2020/8/4 6:59 PM
* Description: ABClient
* History:
* <author> <time> <version> <desc>
* x 2020/8/4 v1.0
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class ABClientFudaojunMessageVO extends ABClientBaseVO implements Serializable {
/**
*
*/
private String calllog;
}

@ -123,4 +123,11 @@ public interface ABClientService {
* @param dto Bean * @param dto Bean
*/ */
boolean recordGuaziClientMsg(GuaziMessageDTO dto); boolean recordGuaziClientMsg(GuaziMessageDTO dto);
/**
* ,
*
* @param dto Bean
*/
boolean recordFudaojunClientMsg(FudaojunMessageDTO dto);
} }

@ -79,6 +79,9 @@ public class ABClientServiceImpl implements ABClientService {
@Autowired @Autowired
private GuaziMessageRepository guaziMessageRepository; private GuaziMessageRepository guaziMessageRepository;
@Autowired
private FudaojunMessageRepository fudaojunMessageRepository;
@Override @Override
public boolean recordAndSendABClientMsg(List<ABMessageDTO> dtos) { public boolean recordAndSendABClientMsg(List<ABMessageDTO> dtos) {
if (CollectionUtils.isEmpty(dtos)) { if (CollectionUtils.isEmpty(dtos)) {
@ -540,4 +543,33 @@ public class ABClientServiceImpl implements ABClientService {
} }
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public boolean recordFudaojunClientMsg(FudaojunMessageDTO dto) {
if (dto == null) {
log.error("Param dtos is empty");
return Boolean.FALSE;
}
FudaojunMessageDO fudaojunMessageDO = FudaojunMessageConverter.convertFudaojunMessageDOFromDTO(dto);
Long recId = fudaojunMessageDO.getRecId();
if (recId <= 0){
log.error("========== [recId is null,please check this data , error msg is {} ] ==========", dto.toString());
return Boolean.FALSE;
}
// 增加前先进行校验在数据库中是否存在
List<FudaojunMessageDO> fudaojunMessageDOList = fudaojunMessageRepository.findByRecId(recId);
if (CollectionUtils.isEmpty(fudaojunMessageDOList)){
FudaojunMessageDO result = fudaojunMessageRepository.save(fudaojunMessageDO);
if (result == null) {
log.error("========== [insert fudaojun data error , please check . ] ==========");
return Boolean.FALSE;
}
}else{
log.error("========== [insert fudaojun data error , recId is exist , recId is {} ] ==========", recId);
return Boolean.TRUE;
}
return Boolean.TRUE;
}
} }

@ -133,6 +133,10 @@ public class ABClientServiceProxy implements ABClientService {
return abClientService.recordGuaziClientMsg(dto); return abClientService.recordGuaziClientMsg(dto);
} }
@Override
public boolean recordFudaojunClientMsg(FudaojunMessageDTO dto) {
return abClientService.recordFudaojunClientMsg(dto);
}
/** /**
* *

Loading…
Cancel
Save