Commit d5539dbc by guojuxing

提现管理接口

parent f101b55d
package com.gic.finance.constant;
/**
* 提现申请方类型
* @ClassName: InvoiceTypeEnum

* @Description: 

* @author guojuxing

* @date 2019/8/14 2:35 PM

*/
public enum WithdrawalApplyTypeEnum {
SERVICE_PROVIDER(1, "服务商"),
SUPPLIER(2, "供应商");
private int code;
private String message;
private WithdrawalApplyTypeEnum(int code, String message) {
this.code = code;
this.message = message;
}
public static String getMessageByCode(Integer code) {
if (code == null) {
return "--";
}
for (WithdrawalApplyTypeEnum typeEnum : values()) {
if (code.intValue() == typeEnum.getCode()) {
return typeEnum.getMessage();
}
}
return "未知";
}
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;
}
}
package com.gic.finance.constant;
/**
* 提现审核状态
* @ClassName: InvoiceStatusEnum

* @Description: 

* @author guojuxing

* @date 2019/8/14 2:30 PM

*/
public enum WithdrawalStatusEnum {
TO_BE_EXAMINE(1, "待审核"),
PASS(2, "审核通过"),
COMPLETE(3, "已完成"),
REJECT(5, "已驳回"),
CANCEL(4, "已取消");
private int code;
private String message;
private WithdrawalStatusEnum(int code, String message) {
this.code = code;
this.message = message;
}
public static String getMessageByCode(Integer code) {
if (code == null) {
return "--";
}
for (WithdrawalStatusEnum typeEnum : values()) {
if (code.intValue() == typeEnum.getCode()) {
return typeEnum.getMessage();
}
}
return "未知";
}
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;
}
}
package com.gic.finance.dto;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 提现管理
* @ClassName: CashWithdrawalDTO

* @Description: 

* @author guojuxing

* @date 2019/8/29 4:23 PM

*/
public class CashWithdrawalDTO implements Serializable{
private static final long serialVersionUID = -1035259456291986313L;
/**
* 提现申请参数校验组
* @Title: 

* @Description:

 * @author guojuxing
* @return 


 */
public interface CashWithdrawal {
}
/**
*
*/
private Integer cashWithdrawalId;
/**
* 申请单流水号
*/
private String cashWithdrawalSerialNumber;
/**
* 申请方类型 1:服务商 2:供应商
*/
private Integer applyType;
/**
* 提现金额
*/
@NotNull(message = "提现金额不能为空", groups = {CashWithdrawal.class})
private Double cashWithdrawalAmount;
/**
* 提现状态 1:待审核 2:审核通过 3:已完成 4:已取消 5:已驳回
*/
private Integer cashWithdrawalStatus;
/**
* 驳回理由
*/
private String rejectReason;
/**
* 操作人
*/
private String operatorId;
/**
* 操作人姓名
*/
private String operatorName;
/**
* 操作时间
*/
private Date operatorTime;
/**
* 操作人手机号码
*/
private String operatorPhone;
/**
* 操作人手机号国际区号
*/
private String operatorPhoneAreaCode;
/**
*
*/
private Integer enterpriseId;
/**
* 银行转账流水号
*/
private String bankSerialNumber;
/**
* 收款开户名称
*/
@NotBlank(message = "收款账户不能为空", groups = {CashWithdrawal.class})
private String receiptName;
/**
* 收款支行名称
*/
@NotBlank(message = "收款支行名称不能为空", groups = {CashWithdrawal.class})
private String receiptBranchName;
/**
* 收款开户行
*/
@NotBlank(message = "收款开户行不能为空", groups = {CashWithdrawal.class})
private String receiptBank;
/**
* 收款银行账号
*/
@NotBlank(message = "收款银行账号不能为空", groups = {CashWithdrawal.class})
private String receiptBankAccount;
/**
* 打款方信息ID
*/
private Integer payId;
/**
* 打款户开户名称
*/
private String payAccountName;
/**
* 打款户支行名称
*/
private String payAccountBranchName;
/**
* 打款户开户行
*/
private String payAccountBank;
/**
* 打款户银行账号
*/
private String payAccount;
/**
* 物流公司
*/
@NotBlank(message = "发票物流公司名称不能为空", groups = {CashWithdrawal.class})
private String expressMailName;
/**
* 发票物流号
*/
@NotBlank(message = "发票物流单号不能为空", groups = {CashWithdrawal.class})
private String expressMailNumber;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
public Integer getCashWithdrawalId() {
return cashWithdrawalId;
}
public void setCashWithdrawalId(Integer cashWithdrawalId) {
this.cashWithdrawalId = cashWithdrawalId;
}
public String getCashWithdrawalSerialNumber() {
return cashWithdrawalSerialNumber;
}
public void setCashWithdrawalSerialNumber(String cashWithdrawalSerialNumber) {
this.cashWithdrawalSerialNumber = cashWithdrawalSerialNumber;
}
public Integer getApplyType() {
return applyType;
}
public void setApplyType(Integer applyType) {
this.applyType = applyType;
}
public Double getCashWithdrawalAmount() {
return cashWithdrawalAmount;
}
public void setCashWithdrawalAmount(Double cashWithdrawalAmount) {
this.cashWithdrawalAmount = cashWithdrawalAmount;
}
public Integer getCashWithdrawalStatus() {
return cashWithdrawalStatus;
}
public void setCashWithdrawalStatus(Integer cashWithdrawalStatus) {
this.cashWithdrawalStatus = cashWithdrawalStatus;
}
public String getRejectReason() {
return rejectReason;
}
public void setRejectReason(String rejectReason) {
this.rejectReason = rejectReason;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public Date getOperatorTime() {
return operatorTime;
}
public void setOperatorTime(Date operatorTime) {
this.operatorTime = operatorTime;
}
public String getOperatorPhone() {
return operatorPhone;
}
public void setOperatorPhone(String operatorPhone) {
this.operatorPhone = operatorPhone;
}
public String getOperatorPhoneAreaCode() {
return operatorPhoneAreaCode;
}
public void setOperatorPhoneAreaCode(String operatorPhoneAreaCode) {
this.operatorPhoneAreaCode = operatorPhoneAreaCode;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getBankSerialNumber() {
return bankSerialNumber;
}
public void setBankSerialNumber(String bankSerialNumber) {
this.bankSerialNumber = bankSerialNumber;
}
public String getReceiptName() {
return receiptName;
}
public void setReceiptName(String receiptName) {
this.receiptName = receiptName;
}
public String getReceiptBranchName() {
return receiptBranchName;
}
public void setReceiptBranchName(String receiptBranchName) {
this.receiptBranchName = receiptBranchName;
}
public String getReceiptBank() {
return receiptBank;
}
public void setReceiptBank(String receiptBank) {
this.receiptBank = receiptBank;
}
public String getReceiptBankAccount() {
return receiptBankAccount;
}
public void setReceiptBankAccount(String receiptBankAccount) {
this.receiptBankAccount = receiptBankAccount;
}
public Integer getPayId() {
return payId;
}
public void setPayId(Integer payId) {
this.payId = payId;
}
public String getExpressMailName() {
return expressMailName;
}
public void setExpressMailName(String expressMailName) {
this.expressMailName = expressMailName;
}
public String getExpressMailNumber() {
return expressMailNumber;
}
public void setExpressMailNumber(String expressMailNumber) {
this.expressMailNumber = expressMailNumber;
}
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 getPayAccountName() {
return payAccountName;
}
public void setPayAccountName(String payAccountName) {
this.payAccountName = payAccountName;
}
public String getPayAccountBranchName() {
return payAccountBranchName;
}
public void setPayAccountBranchName(String payAccountBranchName) {
this.payAccountBranchName = payAccountBranchName;
}
public String getPayAccountBank() {
return payAccountBank;
}
public void setPayAccountBank(String payAccountBank) {
this.payAccountBank = payAccountBank;
}
public String getPayAccount() {
return payAccount;
}
public void setPayAccount(String payAccount) {
this.payAccount = payAccount;
}
}
package com.gic.finance.qo;
import com.gic.enterprise.qo.PageQO;
/**
* 提现管理分页查询列表参数
* @ClassName: CashWithdrawalQueryListQO

* @Description: 

* @author guojuxing

* @date 2019/8/29 4:26 PM

*/
public class CashWithdrawalQueryListQO extends PageQO{
private static final long serialVersionUID = 1686504771000503833L;
/**
* 输入申请单流水号/操作人姓名
*/
private String search;
/**
* 提现状态 1:待审核 2:审核通过 3:已完成 4:已取消 5:已驳回
*/
private Integer cashWithdrawalStatus;
/**
* 申请方类型 1:服务商 2:供应商
*/
private Integer applyType;
public String getSearch() {
return search;
}
public void setSearch(String search) {
this.search = search;
}
public Integer getCashWithdrawalStatus() {
return cashWithdrawalStatus;
}
public void setCashWithdrawalStatus(Integer cashWithdrawalStatus) {
this.cashWithdrawalStatus = cashWithdrawalStatus;
}
public Integer getApplyType() {
return applyType;
}
public void setApplyType(Integer applyType) {
this.applyType = applyType;
}
}
package com.gic.finance.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.finance.dto.CashWithdrawalDTO;
import com.gic.finance.qo.CashWithdrawalQueryListQO;
/**
* 提现管理
* @ClassName: CashWithdrawalApiService

* @Description: 

* @author guojuxing

* @date 2019/8/29 4:24 PM

*/
public interface CashWithdrawalApiService {
/**
* 提现申请--服务商
* @Title: save

* @Description:

 * @author guojuxing
* @param dto

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


 */
ServiceResponse<Void> cashWithdrawalOfServiceProvider(CashWithdrawalDTO dto);
/**
* 提现申请--供应商
* @Title: save

* @Description:

 * @author guojuxing
* @param dto

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


 */
ServiceResponse<Void> cashWithdrawalOfSupplier(CashWithdrawalDTO dto);
/**
* 审核通过
* @Title: approval

* @Description:

 * @author guojuxing
* @param id

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


 */
ServiceResponse<Void> approval(Integer id);
/**
* 详情
* @Title: getDetail

* @Description:

 * @author guojuxing
* @param id

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


 */
ServiceResponse<CashWithdrawalDTO> getDetail(Integer id);
/**
* 驳回
* @Title: reject

* @Description:

 * @author guojuxing
* @param id 主键
* @param rejectReason
 驳回理由
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


 */
ServiceResponse<Void> reject(Integer id, String rejectReason);
/**
* 打款
* @Title: pay

* @Description:

 * @author guojuxing
* @param id 申请单主键第
* @param payId 打款户信息ID
* @param bankSerialNumber
 银行转账流水号
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


 */
ServiceResponse<Void> pay(Integer id, Integer payId, String bankSerialNumber);
/**
* 分页查询
* @Title: listCashWithdrawalPage

* @Description:

 * @author guojuxing
* @param params

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


 */
ServiceResponse<Page<CashWithdrawalDTO>> listCashWithdrawalPage(CashWithdrawalQueryListQO params);
}
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