package cn.com.taiji.core.entity.dict; | |||||
/** | |||||
* @author shake | |||||
* @projectName GeneraAuditStatusEnum | |||||
* @date 2023/3/30 11:08 | |||||
* @description 通用审核枚举类 | |||||
*/ | |||||
public enum AuditStatusEnum { | |||||
// 审核 | |||||
AUDIT("AUDIT","审核中"), | |||||
COMPLETE("COMPLETE","审核通过"), | |||||
FAIL("FAIL", "驳回"), | |||||
NO_AUDIT("NO_AUDIT", "无需审核(机审)"), | |||||
; | |||||
private String code; | |||||
private String value; | |||||
AuditStatusEnum(String code, String value) { | |||||
this.code = code; | |||||
this.value = value; | |||||
} | |||||
public String getCode() { | |||||
return code; | |||||
} | |||||
public void setCode(String code) { | |||||
this.code = code; | |||||
} | |||||
public String getValue() { | |||||
return value; | |||||
} | |||||
public void setValue(String value) { | |||||
this.value = value; | |||||
} | |||||
public static AuditStatusEnum findByCode(String code) { | |||||
for (AuditStatusEnum instance : AuditStatusEnum.values()) { | |||||
if (instance.code.equals(code)) { | |||||
return instance; | |||||
} | |||||
} | |||||
return null; | |||||
} | |||||
} |
@Size(max = 100) | @Size(max = 100) | ||||
@Column(name = "MESSAGE_TYPE") | @Column(name = "MESSAGE_TYPE") | ||||
@Enumerated(EnumType.STRING) | @Enumerated(EnumType.STRING) | ||||
private MessageType messageType;//消息类型 | |||||
private MessageType messageType;//发送客户端类型 | |||||
@NotBlank | @NotBlank | ||||
@Size(max = 100) | @Size(max = 100) | ||||
@Column(name = "STATUS") | @Column(name = "STATUS") |
import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||
import javax.persistence.Column; | |||||
import javax.persistence.Entity; | |||||
import javax.persistence.Table; | |||||
import javax.persistence.*; | |||||
import javax.validation.constraints.NotBlank; | import javax.validation.constraints.NotBlank; | ||||
import javax.validation.constraints.NotNull; | import javax.validation.constraints.NotNull; | ||||
import javax.validation.constraints.Size; | import javax.validation.constraints.Size; | ||||
import cn.com.taiji.common.entity.StringPropertyUUIDEntity; | import cn.com.taiji.common.entity.StringPropertyUUIDEntity; | ||||
import cn.com.taiji.core.entity.dict.msgw.MessageType; | |||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
private String clientCode;//客户端唯一标识 | private String clientCode;//客户端唯一标识 | ||||
@NotBlank | @NotBlank | ||||
@Size(max = 50) | @Size(max = 50) | ||||
@Column(name = "CLIENT_ID") | |||||
private String clientId;//客户端id | |||||
@Column(name = "MESSAGE_TYPE") | |||||
@Enumerated(EnumType.STRING) | |||||
private MessageType messageType;//客户端id | |||||
@NotNull | @NotNull | ||||
@Column(name = "STATUS") | @Column(name = "STATUS") | ||||
private Integer status;//客户端状态 | private Integer status;//客户端状态 |
import javax.validation.constraints.Size; | import javax.validation.constraints.Size; | ||||
import cn.com.taiji.common.entity.StringPropertyUUIDEntity; | import cn.com.taiji.common.entity.StringPropertyUUIDEntity; | ||||
import cn.com.taiji.core.entity.dict.AuditStatusEnum; | |||||
import cn.com.taiji.core.entity.dict.msgw.MessageType; | |||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
private String modelId;//模板id | private String modelId;//模板id | ||||
@NotBlank | @NotBlank | ||||
@Size(max = 20) | @Size(max = 20) | ||||
@Column(name = "CLIENT_TYPE") | |||||
private String clientType;//客户端类型 | |||||
@Column(name = "MESSAGE_TYPE") | |||||
@Enumerated(EnumType.STRING) | |||||
private MessageType messageType;//发送客户端类型 | |||||
@Size(max = 32) | @Size(max = 32) | ||||
@Column(name = "AUDITOR_OPEN_ID") | @Column(name = "AUDITOR_OPEN_ID") | ||||
private String auditorOpenId;//审核人openId | private String auditorOpenId;//审核人openId | ||||
private String reason;//审核意见 | private String reason;//审核意见 | ||||
@NotNull | @NotNull | ||||
@Column(name = "STATUS") | @Column(name = "STATUS") | ||||
private Integer status;//审核状态,0未审核,1已审核 | |||||
@Enumerated(EnumType.STRING) | |||||
private AuditStatusEnum status;//审核状态,0未审核,1已审核,2已驳回 | |||||
@Size(max = 255) | @Size(max = 255) | ||||
@Column(name = "ATTACHMENT_NAME") | @Column(name = "ATTACHMENT_NAME") | ||||
private String attachmentName;//附件名称 | private String attachmentName;//附件名称 |
@Column(name = "MESSAGE_TYPE") | @Column(name = "MESSAGE_TYPE") | ||||
@Enumerated(EnumType.STRING) | @Enumerated(EnumType.STRING) | ||||
private MessageType messageType;//发送客户端类型 | private MessageType messageType;//发送客户端类型 | ||||
@Size(max = 32) | |||||
@Column(name = "MESSAGE_CHANNEL") | |||||
private String messageChannel;//发送渠道 | |||||
@NotBlank | @NotBlank | ||||
@Size(max = 50) | @Size(max = 50) | ||||
@Column(name = "TITLE") | @Column(name = "TITLE") | ||||
@Column(name = "SEND_RESULT") | @Column(name = "SEND_RESULT") | ||||
@Enumerated(EnumType.STRING) | @Enumerated(EnumType.STRING) | ||||
private MessageResult sendResult;//发送结果 | private MessageResult sendResult;//发送结果 | ||||
@Digits(integer=0,fraction=-127) | |||||
@Column(name = "RETRY_NUM") | @Column(name = "RETRY_NUM") | ||||
private BigDecimal retryNum;//发送次数 | |||||
private Integer retryNum;//发送次数 | |||||
@Size(max = 255) | @Size(max = 255) | ||||
@Column(name = "DESCRIPTION") | @Column(name = "DESCRIPTION") | ||||
private String description;//发送失败原因 | private String description;//发送失败原因 |
import cn.com.taiji.common.pub.dao.HqlBuilder; | import cn.com.taiji.common.pub.dao.HqlBuilder; | ||||
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest; | ||||
import cn.com.taiji.core.entity.dict.AuditStatusEnum; | |||||
import cn.com.taiji.core.entity.dict.msgw.MessageType; | |||||
import cn.com.taiji.core.entity.msgw.MsgwSendApply; | import cn.com.taiji.core.entity.msgw.MsgwSendApply; | ||||
import lombok.Getter; | import lombok.Getter; | ||||
import lombok.Setter; | import lombok.Setter; | ||||
@Setter | @Setter | ||||
public class MsgwSendApplyPageRequest extends JpaDateTimePageableDataRequest<MsgwSendApply>{ | public class MsgwSendApplyPageRequest extends JpaDateTimePageableDataRequest<MsgwSendApply>{ | ||||
private MessageType messageType; | |||||
private AuditStatusEnum status; | |||||
public MsgwSendApplyPageRequest() { | public MsgwSendApplyPageRequest() { | ||||
this.orderBy="id"; | this.orderBy="id"; | ||||
@Override | @Override | ||||
public HqlBuilder toSelectHql(){ | public HqlBuilder toSelectHql(){ | ||||
HqlBuilder hql = new HqlBuilder("from MsgwSendApply where 1=1 "); | HqlBuilder hql = new HqlBuilder("from MsgwSendApply where 1=1 "); | ||||
hql.append(" and messageType=:messageType", messageType); | |||||
hql.append(" and status=:status", status); | |||||
hql.append(" and insertTime>=:startTime", startTime); | |||||
hql.append(" and insertTime<=:endTime", endTime); | |||||
hql.append( " order by insertTime desc "); | |||||
return hql; | return hql; | ||||
} | } | ||||
import java.io.IOException; | import java.io.IOException; | ||||
import java.util.concurrent.Callable; | import java.util.concurrent.Callable; | ||||
import cn.com.taiji.msgw.manager.FieldMsgConvertor; | |||||
import feign.RetryableException; | |||||
import org.apache.http.NoHttpResponseException; | import org.apache.http.NoHttpResponseException; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import cn.com.taiji.common.manager.AbstractManager; | |||||
import cn.com.taiji.common.manager.ManagerException; | import cn.com.taiji.common.manager.ManagerException; | ||||
import cn.com.taiji.common.manager.net.http.binclient.ApiRequestException; | import cn.com.taiji.common.manager.net.http.binclient.ApiRequestException; | ||||
import cn.com.taiji.common.model.file.FileProtocolSystemError; | import cn.com.taiji.common.model.file.FileProtocolSystemError; | ||||
import cn.com.taiji.common.pub.LambdaTools; | import cn.com.taiji.common.pub.LambdaTools; | ||||
import cn.com.taiji.common.pub.json.JsonTools; | import cn.com.taiji.common.pub.json.JsonTools; | ||||
import cn.com.taiji.common.validation.MyViolationException; | import cn.com.taiji.common.validation.MyViolationException; | ||||
import cn.com.taiji.core.manager.cache.RedisCacheManager; | |||||
import cn.com.taiji.core.manager.comm.client.IOFunction; | import cn.com.taiji.core.manager.comm.client.IOFunction; | ||||
import cn.com.taiji.core.manager.comm.client.feign.FeignClientManager; | import cn.com.taiji.core.manager.comm.client.feign.FeignClientManager; | ||||
import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | import cn.com.taiji.core.model.comm.protocol.AbstractSignTypeRequest; | ||||
import cn.com.taiji.core.model.comm.protocol.SignJsonResponse; | import cn.com.taiji.core.model.comm.protocol.SignJsonResponse; | ||||
import cn.com.taiji.core.model.comm.protocol.valid.FieldMsgBuilder; | import cn.com.taiji.core.model.comm.protocol.valid.FieldMsgBuilder; | ||||
import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError; | ||||
import feign.RetryableException; | |||||
public abstract class AbstractCommManager extends AbstractManager { | |||||
public abstract class AbstractCommManager extends RedisCacheManager { | |||||
@Autowired | @Autowired | ||||
protected FeignClientManager feignClientManager; | protected FeignClientManager feignClientManager; |