新增瓜子业务
parent
d5755635e8
commit
792e5e13f5
@ -0,0 +1,20 @@
|
||||
package com.yuyou.openapi.openapi.dao;
|
||||
|
||||
import com.yuyou.openapi.openapi.model.dataobject.GuaziMessageDO;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface GuaziMessageRepository extends JpaRepository<GuaziMessageDO,Long> {
|
||||
|
||||
/**
|
||||
* 根据RecId来进行查询
|
||||
*
|
||||
* @param recId 记录Id
|
||||
* @return
|
||||
*/
|
||||
List<GuaziMessageDO> findByRecId(Long recId);
|
||||
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
package com.yuyou.openapi.openapi.model.convert;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.yuyou.openapi.openapi.common.security.SecurityConstants;
|
||||
import com.yuyou.openapi.openapi.common.security.SecurityService;
|
||||
import com.yuyou.openapi.openapi.model.dataobject.GuaziMessageDO;
|
||||
import com.yuyou.openapi.openapi.model.dto.GuaziMessageDTO;
|
||||
import com.yuyou.openapi.openapi.model.vo.ABClientGuaziMessageVO;
|
||||
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 GuaziMessageConverter {
|
||||
|
||||
/**
|
||||
* VO层转为DTO层
|
||||
* @param guaziMessageDTO
|
||||
* @param abClientGuaziMessageVO
|
||||
* @return
|
||||
*/
|
||||
public static GuaziMessageDTO convertGuaziMessageDTOFromVO(GuaziMessageDTO guaziMessageDTO, ABClientGuaziMessageVO abClientGuaziMessageVO) {
|
||||
BeanUtils.copyProperties(abClientGuaziMessageVO, guaziMessageDTO);
|
||||
return guaziMessageDTO;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量DTO转DO
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
public static List<GuaziMessageDO> convertGuaziMessageDOFromDTO(List<GuaziMessageDTO> list) {
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return null;
|
||||
}
|
||||
List<GuaziMessageDO> guaziMessageDOs = new ArrayList<>();
|
||||
list.forEach(each -> {
|
||||
GuaziMessageDO guaziMessageDO = convertGuaziMessageDOFromDTO(each);
|
||||
if (guaziMessageDO != null) {
|
||||
guaziMessageDOs.add(guaziMessageDO);
|
||||
}
|
||||
});
|
||||
return guaziMessageDOs;
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO层转为DO层
|
||||
* @param guaziMessageDTO
|
||||
* @return
|
||||
*/
|
||||
public static GuaziMessageDO convertGuaziMessageDOFromDTO(GuaziMessageDTO guaziMessageDTO) {
|
||||
if (guaziMessageDTO == null || guaziMessageDTO.getTag() == null || guaziMessageDTO.getData() == null) {
|
||||
return null;
|
||||
}
|
||||
GuaziMessageDO guaziMessageDO = new GuaziMessageDO();
|
||||
BeanUtils.copyProperties(guaziMessageDTO.getData(), guaziMessageDO);
|
||||
try {
|
||||
guaziMessageDTO.getData().setMobile(Base64.encode(guaziMessageDTO.getData().getMobile()));
|
||||
String encryptedMobile = SecurityService.encrypt(guaziMessageDTO.getData().getMobile(), SecurityConstants.PHONE);
|
||||
String encryptedName = SecurityService.encrypt(guaziMessageDTO.getData().getName(), SecurityConstants.SIMPLE);
|
||||
guaziMessageDO.setPnum(encryptedMobile);
|
||||
guaziMessageDO.setName(encryptedName);
|
||||
} catch (Exception e) {
|
||||
log.error("Encrypt data raise Error, recId = {}, error is :", guaziMessageDTO.getTag().getTag_key_id(), e);
|
||||
guaziMessageDO.setPnum(guaziMessageDTO.getData().getMobile());
|
||||
guaziMessageDO.setName(guaziMessageDTO.getData().getName());
|
||||
}
|
||||
|
||||
guaziMessageDO.setAppId(guaziMessageDTO.getAppId());
|
||||
guaziMessageDO.setPushTime(DateUtils.date(guaziMessageDTO.getTimestamp()));
|
||||
guaziMessageDO.setRecId(guaziMessageDTO.getTag().getTag_key_id());
|
||||
|
||||
return guaziMessageDO;
|
||||
}
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
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 = "guazi_message")
|
||||
@Entity
|
||||
@EntityListeners(AuditingEntityListener.class)
|
||||
public class GuaziMessageDO {
|
||||
|
||||
/**
|
||||
* 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 = "name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 码号
|
||||
*/
|
||||
private String pnum;
|
||||
|
||||
/**
|
||||
* 品牌
|
||||
*/
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* 型号
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 上游推送用户id
|
||||
*/
|
||||
@Column(name = "app_id")
|
||||
private String appId;
|
||||
|
||||
/**
|
||||
* 上游推送时间
|
||||
*/
|
||||
@Column(name = "push_time")
|
||||
private Date pushTime;
|
||||
|
||||
@Column(name = "submit_status")
|
||||
private Integer submitStatus = 0;
|
||||
|
||||
@Column(name = "response_status")
|
||||
private Integer responseStatus = 0;
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
package com.yuyou.openapi.openapi.model.dto;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class GuaziMessageDTO {
|
||||
|
||||
/**
|
||||
* 推送用户的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_brand;
|
||||
|
||||
/**
|
||||
* 型号
|
||||
*/
|
||||
private String tag_key_type;
|
||||
}
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public static class Datas {
|
||||
|
||||
/**
|
||||
* 学生姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 品牌
|
||||
*/
|
||||
private String brand;
|
||||
|
||||
/**
|
||||
* 型号
|
||||
*/
|
||||
private String type;
|
||||
}
|
||||
}
|
@ -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 ABClientGuaziMessageVO extends ABClientBaseVO implements Serializable {
|
||||
|
||||
/**
|
||||
* 需要接收到的加密数据
|
||||
*/
|
||||
private String calllog;
|
||||
|
||||
}
|
Loading…
Reference in New Issue