Commit e87a42df by guojuxing

转账审批

parent 96c1e974
package com.gic.finance.constant;
/**
* 服务订购类型
* @ClassName: OrderTypeEnum

* @Description: 

* @author guojuxing

* @date 2019/8/9 1:41 PM

*/
public enum OrderTypeEnum {
RECHARGE(1, "充值"),
SHORT_MESSAGE_PACKAGE(2, "短信套餐"),
SERVICE(3, "服务"),
EXTENSION_PACKAGE(4, "拓展包"),
PACKAGE(5, "套餐包");
private int code;
private String message;
private OrderTypeEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public static String getMessageBuCode(Integer code) {
if (code == null) {
return "未知";
}
for (OrderTypeEnum statusEnum : values()) {
if (statusEnum.getCode() == code.intValue()) {
return statusEnum.getMessage();
}
}
return "未知";
}
}
package com.gic.finance.constant;
/**
* 转账审批状态
* @ClassName: TransferAccountApprovalStatusEnum

* @Description: 

* @author guojuxing

* @date 2019/8/9 1:37 PM

*/
public enum TransferAccountApprovalStatusEnum {
TO_BE_APPROVED(1, "待审批"),
CANCEL(2, "已取消"),
REJECT(3, "已驳回"),
AGREE(4, "审批通过");
private int code;
private String message;
private TransferAccountApprovalStatusEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public static String getMessageBuCode(Integer code) {
if (code == null) {
return "未知";
}
for (TransferAccountApprovalStatusEnum statusEnum : values()) {
if (statusEnum.getCode() == code.intValue()) {
return statusEnum.getMessage();
}
}
return "未知";
}
}
package com.gic.finance.dto;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 转账审批
* @ClassName: TransferAccountsApprovalDTO

* @Description: 

* @author guojuxing

* @date 2019/8/9 11:09 AM

*/
public class TransferAccountsApprovalDTO implements Serializable{
private static final long serialVersionUID = -7424594607676731039L;
/**
* 发起审批参数验证分组
*/
public interface InitiateApprovalValid {
}
/**
* 审批参数验证分组
*/
public interface ApprovalValid {
}
/**
*
*/
@NotNull(message = "转账审批主键不能为空", groups = {ApprovalValid.class})
private Integer transferApprovalId;
/**
* 关联订单流水号
*/
@NotBlank(message = "关联订单流水号不能为空", groups = {InitiateApprovalValid.class})
private String orderNumber;
/**
* 关联订单平台方(商户类型)1:GIC 2: 好办
*/
@NotNull(message = "关联订单平台方不能为空", groups = {InitiateApprovalValid.class})
private Integer platformType;
/**
* 发起方1:商户 2:运维后台
*/
@NotNull(message = "发起方类型不能为空", groups = {InitiateApprovalValid.class})
private Integer initiatorType;
/**
* 发起方姓名
*/
@NotBlank(message = "发起方姓名不能为空", groups = {InitiateApprovalValid.class})
private String initiatorName;
/**
*
*/
@NotNull(message = "商户ID不能为空", groups = {InitiateApprovalValid.class})
private Integer enterpriseId;
/**
* 计划金额
*/
@NotNull(message = "计划金额不能为空", groups = {InitiateApprovalValid.class})
private Double plannedAmount;
/**
* 坏账金额
*/
private Double badAmount;
/**
* 到账金额
*/
private Double accountAmount;
/**
* 验证码
*/
@NotBlank(message = "验证码不能为空", groups = {InitiateApprovalValid.class})
private String verifyCode;
/**
* 审批流水号
*/
private String approvalNumber;
/**
* 审批状态 1:待审批 2:已取消 3:已驳回 4:审批通过
*/
private Integer approvalStatus;
/**
* 审批人
*/
private String approvalId;
/**
* 审批人姓名
*/
private String approvalName;
/**
* 审批时间
*/
private Date approvalTime;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
* 审批人手机号码
*/
private String approvalPhone;
/**
* 审批人手机号国际区号
*/
private String approvalPhoneAreaCode;
/**
* 商户名称
*/
@NotBlank(message = "商户名称不能为空", groups = {InitiateApprovalValid.class})
private String enterpriseName;
/**
* 公司名称
*/
@NotBlank(message = "公司名称不能为空", groups = {InitiateApprovalValid.class})
private String companyName;
/**
* 公司logo
*/
@NotBlank(message = "公司logo不能为空", groups = {InitiateApprovalValid.class})
private String logo;
/**
* 1:套餐包 2:拓展包 3:服务 4:短信套餐包 5:充值
*/
@NotNull(message = "订单单据类型不能为空", groups = {InitiateApprovalValid.class})
private Integer orderType;
public Integer getTransferApprovalId() {
return transferApprovalId;
}
public void setTransferApprovalId(Integer transferApprovalId) {
this.transferApprovalId = transferApprovalId;
}
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public Integer getPlatformType() {
return platformType;
}
public void setPlatformType(Integer platformType) {
this.platformType = platformType;
}
public Integer getInitiatorType() {
return initiatorType;
}
public void setInitiatorType(Integer initiatorType) {
this.initiatorType = initiatorType;
}
public String getInitiatorName() {
return initiatorName;
}
public void setInitiatorName(String initiatorName) {
this.initiatorName = initiatorName;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Double getPlannedAmount() {
return plannedAmount;
}
public void setPlannedAmount(Double plannedAmount) {
this.plannedAmount = plannedAmount;
}
public Double getBadAmount() {
return badAmount;
}
public void setBadAmount(Double badAmount) {
this.badAmount = badAmount;
}
public Double getAccountAmount() {
return accountAmount;
}
public void setAccountAmount(Double accountAmount) {
this.accountAmount = accountAmount;
}
public String getVerifyCode() {
return verifyCode;
}
public void setVerifyCode(String verifyCode) {
this.verifyCode = verifyCode;
}
public String getApprovalNumber() {
return approvalNumber;
}
public void setApprovalNumber(String approvalNumber) {
this.approvalNumber = approvalNumber;
}
public Integer getApprovalStatus() {
return approvalStatus;
}
public void setApprovalStatus(Integer approvalStatus) {
this.approvalStatus = approvalStatus;
}
public String getApprovalId() {
return approvalId;
}
public void setApprovalId(String approvalId) {
this.approvalId = approvalId;
}
public String getApprovalName() {
return approvalName;
}
public void setApprovalName(String approvalName) {
this.approvalName = approvalName;
}
public Date getApprovalTime() {
return approvalTime;
}
public void setApprovalTime(Date approvalTime) {
this.approvalTime = approvalTime;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getApprovalPhone() {
return approvalPhone;
}
public void setApprovalPhone(String approvalPhone) {
this.approvalPhone = approvalPhone;
}
public String getApprovalPhoneAreaCode() {
return approvalPhoneAreaCode;
}
public void setApprovalPhoneAreaCode(String approvalPhoneAreaCode) {
this.approvalPhoneAreaCode = approvalPhoneAreaCode;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
public Integer getOrderType() {
return orderType;
}
public void setOrderType(Integer orderType) {
this.orderType = orderType;
}
}
package com.gic.finance.exception;
import com.gic.api.base.commons.ServiceResponse;
/**
* 转账审批异常类
* @ClassName: FinanceException

* @Description: 

* @author guojuxing

* @date 2019/8/9 5:09 PM

*/
public class FinanceException extends RuntimeException{
private String errorCode;
public FinanceException(String errorCode, String message) {
super(message);
this.errorCode = errorCode;
}
public FinanceException(ServiceResponse serviceResponse) {
super(serviceResponse.getMessage());
this.errorCode = serviceResponse.getCode();
}
public String getErrorCode() {
return errorCode;
}
}
package com.gic.finance.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.finance.dto.TransferAccountsApprovalDTO;
/**
* 转账审批
* @ClassName: TransferAccountsApprovalApiService

* @Description: 

* @author guojuxing

* @date 2019/8/9 11:13 AM

*/
public interface TransferAccountsApprovalApiService {
/**
* 发起审批
* @Title: initiateApproval

* @Description:

 * @author guojuxing
* @param transferAccountsApprovalDTO

* @return com.gic.api.base.commons.ServiceResponse<java.lang.Integer>


 */
ServiceResponse<Integer> initiateApproval(TransferAccountsApprovalDTO transferAccountsApprovalDTO);
/**
* 主键查询
* @Title: getById

* @Description:

 * @author guojuxing
* @param transferApprovalId

* @return com.gic.api.base.commons.ServiceResponse<com.gic.finance.dto.TransferAccountsApprovalDTO>


 */
ServiceResponse<TransferAccountsApprovalDTO> getById(Integer transferApprovalId);
/**
* 审批通过操作
* @Title: agreeApproval

* @Description:

 * @author guojuxing
* @param transferApprovalId
* @param accountAmount

* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


 */
ServiceResponse<Void> agreeApproval(Integer transferApprovalId, Double accountAmount);
/**
* 回驳
* @Title: rejectApproval

* @Description:

 * @author guojuxing
* @param transferApprovalId

* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


 */
ServiceResponse<Void> rejectApproval(Integer transferApprovalId);
/**
* @Title: listTransferAccountsApproval

* @Description:

 * @author guojuxing
* @param search
* @param approvalStatus
* @param enterpriseId
* @param pageNum
* @param pageSize

* @return com.gic.api.base.commons.ServiceResponse<com.gic.api.base.commons.Page<com.gic.finance.dto.TransferAccountsApprovalDTO>>


 */
ServiceResponse<Page<TransferAccountsApprovalDTO>> listTransferAccountsApproval(String search, Integer approvalStatus,
Integer enterpriseId,
Integer pageNum, Integer pageSize);
ServiceResponse<TransferAccountsApprovalDTO> getDetailById(Integer transferApprovalId);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment