Commit 69ae0cf3 by guojuxing

发票管理-开票申请

parent d55fcb5e
package com.gic.finance.constant;
/**
* 发票状态
* @ClassName: InvoiceStatusEnum

* @Description: 

* @author guojuxing

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

*/
public enum InvoiceStatusEnum {
TO_BE_ISSUED(1, "待开具"),
TO_BE_MAILED(2, "待邮寄"),
MAILED(3, "已邮寄"),
REJECT(4, "已驳回"),
CANCEL(5, "已取消");
private int code;
private String message;
private InvoiceStatusEnum(int code, String message) {
this.code = code;
this.message = message;
}
public static String getMessageByCode(Integer code) {
if (code == null) {
return "未知";
}
for (InvoiceStatusEnum 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: InvoiceTypeEnum

* @Description: 

* @author guojuxing

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

*/
public enum InvoiceTypeEnum {
NORMAL(1, "纸质普通发票"),
VAT_INVOICE(2, "纸质增值税专用发票");
private int code;
private String message;
private InvoiceTypeEnum(int code, String message) {
this.code = code;
this.message = message;
}
public static String getMessageByCode(Integer code) {
if (code == null) {
return "未知";
}
for (InvoiceTypeEnum 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: InvoiceManageDTO

* @Description: 

* @author guojuxing

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

*/
public class InvoiceManageDTO implements Serializable{
private static final long serialVersionUID = -4433646384541039471L;
public interface ApplyInvoiceValid {
}
/**
*
*/
private Integer invoiceManageId;
/**
* 申请单流水号
*/
private String invoiceApplySerial;
/**
* (商户类型)1:GIC 2: 好办
*/
@NotNull(message = "商户类型不能为空", groups = ApplyInvoiceValid.class)
private Integer platformType;
/**
* (发票类型)1:纸质普通发票 2: 纸质增值税专用发票
*/
@NotNull(message = "发票类型不能为空", groups = ApplyInvoiceValid.class)
private Integer invoiceType;
/**
* 开票金额
*/
@NotNull(message = "开票金额不能为空", groups = ApplyInvoiceValid.class)
private Double billingAmount;
/**
* 发票状态 1:待开具 2:待邮寄 3:已邮寄 4:已驳回 5:已取消
*/
private Integer invoiceStatus;
/**
* 驳回理由
*/
private String rejectReason;
/**
* 操作人
*/
private String operatorId;
/**
* 操作人姓名
*/
private String operatorName;
/**
* 操作时间
*/
private Date operatorTime;
/**
* 操作人手机号码
*/
private String operatorPhone;
/**
* 操作人手机号国际区号
*/
private String operatorPhoneAreaCode;
/**
*
*/
@NotNull(message = "商户ID不能为空", groups = ApplyInvoiceValid.class)
private Integer enterpriseId;
/**
* 商户名称
*/
@NotBlank(message = "商户名称不能为空", groups = ApplyInvoiceValid.class)
private String enterpriseName;
/**
* 公司名称
*/
@NotBlank(message = "公司名称不能为空", groups = ApplyInvoiceValid.class)
private String companyName;
/**
* 公司logo
*/
@NotBlank(message = "公司logo不能为空", groups = ApplyInvoiceValid.class)
private String logo;
/**
* 开户单位名称
*/
private String accountName;
/**
* 纳税识别号
*/
@NotBlank(message = "纳税识别号不能为空", groups = ApplyInvoiceValid.class)
private String taxNumber;
/**
* 地址
*/
private String address;
/**
* 开户行
*/
private String bank;
/**
* 开户电话
*/
private String accountPhone;
/**
* 开户账号
*/
private String bankAccount;
/**
* 收货人
*/
@NotBlank(message = "收货人不能为空", groups = ApplyInvoiceValid.class)
private String shippingName;
/**
* 收货电话
*/
@NotBlank(message = "收货电话不能为空", groups = ApplyInvoiceValid.class)
private String shippingPhone;
/**
* 收货地址
*/
@NotBlank(message = "收货地址不能为空", groups = ApplyInvoiceValid.class)
private String shippingAddress;
/**
* 开票户ID
*/
private Integer invoicerId;
/**
* 快递公司
*/
private String expressMailName;
/**
* 快递单号
*/
private String expressMailNumber;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
public Integer getInvoiceManageId() {
return invoiceManageId;
}
public void setInvoiceManageId(Integer invoiceManageId) {
this.invoiceManageId = invoiceManageId;
}
public String getInvoiceApplySerial() {
return invoiceApplySerial;
}
public void setInvoiceApplySerial(String invoiceApplySerial) {
this.invoiceApplySerial = invoiceApplySerial;
}
public Integer getPlatformType() {
return platformType;
}
public void setPlatformType(Integer platformType) {
this.platformType = platformType;
}
public Integer getInvoiceType() {
return invoiceType;
}
public void setInvoiceType(Integer invoiceType) {
this.invoiceType = invoiceType;
}
public Double getBillingAmount() {
return billingAmount;
}
public void setBillingAmount(Double billingAmount) {
this.billingAmount = billingAmount;
}
public Integer getInvoiceStatus() {
return invoiceStatus;
}
public void setInvoiceStatus(Integer invoiceStatus) {
this.invoiceStatus = invoiceStatus;
}
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 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 String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public String getTaxNumber() {
return taxNumber;
}
public void setTaxNumber(String taxNumber) {
this.taxNumber = taxNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getBank() {
return bank;
}
public void setBank(String bank) {
this.bank = bank;
}
public String getAccountPhone() {
return accountPhone;
}
public void setAccountPhone(String accountPhone) {
this.accountPhone = accountPhone;
}
public String getBankAccount() {
return bankAccount;
}
public void setBankAccount(String bankAccount) {
this.bankAccount = bankAccount;
}
public String getShippingName() {
return shippingName;
}
public void setShippingName(String shippingName) {
this.shippingName = shippingName;
}
public String getShippingPhone() {
return shippingPhone;
}
public void setShippingPhone(String shippingPhone) {
this.shippingPhone = shippingPhone;
}
public String getShippingAddress() {
return shippingAddress;
}
public void setShippingAddress(String shippingAddress) {
this.shippingAddress = shippingAddress;
}
public Integer getInvoicerId() {
return invoicerId;
}
public void setInvoicerId(Integer invoicerId) {
this.invoicerId = invoicerId;
}
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;
}
}
package com.gic.finance.service;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.finance.dto.InvoiceManageDTO;
/**
* 发票管理
* @ClassName: InvoiceManageApiService

* @Description: 

* @author guojuxing

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

*/
public interface InvoiceManageApiService {
/**
* 发票申请请求
* @Title: save

* @Description:

 * @author guojuxing
* @param invoiceManageDTO

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


 */
ServiceResponse<Void> applyInvoice(InvoiceManageDTO invoiceManageDTO);
}
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