Merge branch 'master' of http://git.hchbox.com/yuyou/client into master
commit
54333e84c7
@ -0,0 +1,31 @@
|
||||
package com.yuyou.openapi.openapi.dao;
|
||||
|
||||
import com.yuyou.openapi.openapi.model.dataobject.AngliMessageDO;
|
||||
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 AngliRepository extends JpaRepository<AngliMessageDO,Long> {
|
||||
|
||||
/**
|
||||
* 根据RecId来进行查询
|
||||
*
|
||||
* @param recId 记录Id
|
||||
* @return
|
||||
*/
|
||||
List<AngliMessageDO> findByRecId(Long recId);
|
||||
|
||||
|
||||
/**
|
||||
* fixme 因为避免多环境下recId会产生重复的问题,这里先进行写这个接口,后续和上游确认通过 app_id 和 rec_id 进行组合查询,进行去重
|
||||
*/
|
||||
List<AngliMessageDO> findByRecIdAndAppId(Long recId, String appId);
|
||||
|
||||
/**
|
||||
* 根据pnum和状态值来进行查询
|
||||
*/
|
||||
List<AngliMessageDO> findByPnumAndSubmitStatus(String pnum, Integer submitStatus);
|
||||
}
|
@ -0,0 +1,93 @@
|
||||
package com.yuyou.openapi.openapi.model.convert;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
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.AngliMessageDO;
|
||||
import com.yuyou.openapi.openapi.model.dataobject.ZhangmenMessageDO;
|
||||
import com.yuyou.openapi.openapi.model.dto.ABZMMessageDTO;
|
||||
import com.yuyou.openapi.openapi.model.dto.AngliMessageDTO;
|
||||
import com.yuyou.openapi.openapi.model.vo.ABClientAngliMessageVO;
|
||||
import com.yuyou.openapi.openapi.model.vo.ABClientZMMessageVO;
|
||||
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 AngliMessageConverter {
|
||||
|
||||
/**
|
||||
* VO层转为DTO层
|
||||
* @param abClientAngliMessageVO
|
||||
* @return
|
||||
*/
|
||||
public static AngliMessageDTO convertAngliMessageDTOFromVO(AngliMessageDTO angliMessageDTO, ABClientAngliMessageVO abClientAngliMessageVO) {
|
||||
BeanUtils.copyProperties(abClientAngliMessageVO, angliMessageDTO);
|
||||
return angliMessageDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量DTO转DO
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
public static List<AngliMessageDO> convertAngliMessageDOFromDTO(List<AngliMessageDTO> list) {
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return null;
|
||||
}
|
||||
List<AngliMessageDO> angliMessageDOs = new ArrayList<>();
|
||||
list.forEach(each -> {
|
||||
AngliMessageDO angliMessageDO = convertAngliMessageDOFromDTO(each);
|
||||
if (angliMessageDO != null) {
|
||||
angliMessageDOs.add(angliMessageDO);
|
||||
}
|
||||
});
|
||||
return angliMessageDOs;
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO层转为DO层
|
||||
* @param angliMessageDTO
|
||||
* @return
|
||||
*/
|
||||
public static AngliMessageDO convertAngliMessageDOFromDTO(AngliMessageDTO angliMessageDTO) {
|
||||
if (angliMessageDTO == null || angliMessageDTO.getTag() == null || angliMessageDTO.getData() == null) {
|
||||
return null;
|
||||
}
|
||||
AngliMessageDO angliMessageDO = new AngliMessageDO();
|
||||
BeanUtils.copyProperties(angliMessageDTO.getData(), angliMessageDO);
|
||||
try {
|
||||
angliMessageDTO.getData().setMobile(Base64.encode(angliMessageDTO.getData().getMobile()));
|
||||
String encryptedMobile = SecurityService.encrypt(angliMessageDTO.getData().getMobile(), SecurityConstants.PHONE);
|
||||
String encryptedName = SecurityService.encrypt(angliMessageDTO.getData().getName(), SecurityConstants.SIMPLE);
|
||||
angliMessageDO.setPnum(encryptedMobile);
|
||||
angliMessageDO.setStuName(encryptedName);
|
||||
} catch (Exception e) {
|
||||
log.error("Encrypt data raise Error, recId = {}, error is :", angliMessageDTO.getTag().getTag_key_id(), e);
|
||||
angliMessageDO.setPnum(angliMessageDTO.getData().getMobile());
|
||||
angliMessageDO.setStuName(angliMessageDTO.getData().getName());
|
||||
}
|
||||
|
||||
angliMessageDO.setAppId(angliMessageDTO.getAppId());
|
||||
angliMessageDO.setPushTime(DateUtils.date(angliMessageDTO.getTimestamp()));
|
||||
|
||||
angliMessageDO.setStuGrade(GradeEnum.codeOf(angliMessageDTO.getData().getGrade()));
|
||||
angliMessageDO.setStuSub(SubjectEnum.codeOf(angliMessageDTO.getData().getCourse()));
|
||||
|
||||
angliMessageDO.setRecId(angliMessageDTO.getTag().getTag_key_id());
|
||||
|
||||
return angliMessageDO;
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
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 = "angli_message")
|
||||
@Entity
|
||||
@EntityListeners(AuditingEntityListener.class)
|
||||
public class AngliMessageDO {
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
/**
|
||||
* 上游推送用户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,91 @@
|
||||
package com.yuyou.openapi.openapi.model.dto;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class AngliMessageDTO {
|
||||
|
||||
/**
|
||||
* 推送用户的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;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public static class Datas {
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 学生报学年级
|
||||
*/
|
||||
private String grade;
|
||||
|
||||
/**
|
||||
* 学生报课科目
|
||||
*/
|
||||
private String course;
|
||||
}
|
||||
|
||||
}
|
@ -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 ABClientAngliMessageVO extends ABClientBaseVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 需要接收到的加密数据
|
||||
*/
|
||||
private String calllog;
|
||||
|
||||
}
|
Loading…
Reference in New Issue