最新版宁夏武警公众号项目后端

This commit is contained in:
sangchengzhi
2026-01-07 10:36:02 +08:00
parent 364a48d4c7
commit f8bb9dc094
1512 changed files with 531911 additions and 0 deletions

View File

@@ -0,0 +1,122 @@
package com.guahao.api.walkinto.model;
import javax.persistence.*;
import java.io.Serializable;
@Table(name="bill")
public class Bill implements Serializable {
/**
* 主键
*/
@Id
@Column(name = "id")
@GeneratedValue(strategy= GenerationType.IDENTITY)
public int id;
/**
* 账单名称
*/
@Column(name="name")
public String name="";
/**
* 用户id
*/
@Column(name = "uid")
public int uid;
/**
* 账单类型(0、消费 1、退款)
*/
@Column(name="type")
public int type=0;
/**
* 账单金额
*/
@Column(name="money")
public Double money=0.0;
/**
* 账单单号
*/
@Column(name="out_trade_no")
public String outTradeNo="";
/**
* 删除状态1、删除
*/
@Column(name="flag")
public int flag=0;
/**
* 添加时间
*/
@Column(name="ctime")
public String ctime="";
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public Double getMoney() {
return money;
}
public void setMoney(Double money) {
this.money = money;
}
public String getOutTradeNo() {
return outTradeNo;
}
public void setOutTradeNo(String outTradeNo) {
this.outTradeNo = outTradeNo;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
public String getCtime() {
return ctime;
}
public void setCtime(String ctime) {
this.ctime = ctime;
}
}

View File

@@ -0,0 +1,26 @@
package com.guahao.api.walkinto.model;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
* @ClassName: JhClientInfo
* @Description:
* @Author T.W
* @Date 2023/4/3
* @Version 1.0
*/
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class JhClientInfo {
private String orderNo;
private String openid;
private String price;
}

View File

@@ -0,0 +1,190 @@
package com.guahao.api.walkinto.model;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.io.Serializable;
/**
* @ClassName: JhNotifyInfo
* @Description:
* @Author T.W
* @Date 2023/3/31
* @Version 1.0
*/
@Data
@ToString
public class JhNotifyInfo implements Serializable {
/**
* 商户柜台代码
*/
@JsonProperty("POSID")
private String POSID;
/**
* 分行代码
*/
@JsonProperty("BRANCHID")
private String BRANCHID;
/**
* 订单号最长30位
*/
@JsonProperty("ORDERID")
private String ORDERID;
/**
* 付款金额
*/
@JsonProperty("PAYMENT")
private String PAYMENT;
/**
* 币种
* 缺省为 01人民币
*/
@JsonProperty("CURCODE")
private String CURCODE;
/**
* 备注信息1
* 一般作为商户自定义备注信
* 息使用,可在对账单中显示
*/
@JsonProperty("REMARK1")
private String REMARK1;
/**
* 备注信息2
* 一般作为商户自定义备注信
* 息使用,可在对账单中显示
*/
@JsonProperty("REMARK2")
private String REMARK2;
/**
* 账户类型
* 服务器通知中有此字段返回且参与验签
* AL:代表支付宝支付
* WX:代表微信支付
* 其他:代表建行支付或跨行付
*/
@JsonProperty("ACC_TYPE")
private String ACC_TYPE;
/**
* 成功Y失败N
*/
@JsonProperty("SUCCESS")
private String SUCCESS;
/**
* 接口类型
* 分行业务人员在 P2 员工渠道后台设置防钓鱼的开关。
* 1- 防钓鱼接口
*/
@JsonProperty("TYPE")
private String TYPE;
/**
* Referer信息
* 分行业务人员在P2员工渠道后台设置防钓鱼开关。
* 1.开关关闭时,无此字段返回且不参与验签。
* 2.开关打开时,有此字段返回且参与验签。
*/
@JsonProperty("REFERER")
private String REFERER;
/**
* 客户端IP
* 客户在商户系统中的IP即客户登陆访问商户系统时使用的IP
* 分行业务人员在P2员工渠道后台设置防钓鱼开关。
* 1.开关关闭时,无此字段返回且不参与验签。
* 2.开关打开时,有此字段返回且参与验签。
*/
@JsonProperty("CLIENTIP")
private String CLIENTIP;
/**
* 系统记账日期
* 商户登陆商户后台设置返回记账日期的开关
* 1.开关关闭时,无此字段返回且不参与验签。
* 2.开关打开时有此字段返回且参与验签。参数值格式为YYYYMMDD如20100907
*/
@JsonProperty("ACCDATE")
private String ACCDATE;
/**
* 分期期数
* 从商户传送的信息中获得;
* 当分期期数为空或无此字段上送时,无此字段返回且不参与验签,否则有此字段返回且参与验签。
*/
// @JSONField(name="INSTALLNUM")
// private String INSTALLNUM;
/**
* 错误信息
* 该值默认返回为空商户无需处理仅需参与验签即可。当有分期期数返回时则有ERRMSG字段返回且参与验签否则无此字段返回且不参与验签。
*/
// @JSONField(name="ERRMSG")
// private String ERRMSG;
/**
* 支付账户信息
* 分行业务人员在P2员工渠道后台设置防钓鱼开关和返回账户信息的开关。
* 1.开关关闭时,无此字段返回且不参与验签。
* 2.开关打开但支付失败时,无此字段返回且不参与验签。
* 3.开关打开且支付成功时,有此字段返回且参与验签。参数值格式如下:“姓名|账号加密后的密文”。
* 解密方法请参考“商户通知验签包“文件夹下的《USERMSG》压缩包
*/
// @JSONField(name="USRMSG")
// private String USRMSG;
/**
* 客户加密信息
* 分行业务人员在P2员工渠道后台设置防钓鱼开关和客户信息加密返回的开关。
* 1.开关关闭时,无此字段返回且不参与验签
* 2.开关打开时,有此字段返回且参数验签。参数值格式如下:“证件号密文|手机号密文”。该字段不可解密。
*/
// @JSONField(name="USRINFO")
// private String USRINFO;
/**
* 实付金额
* 优惠之后的实际支付金额。
* 目前只针对白名单商户返回,无此字段返回且不参与验签,有此字段返回且参与验签。
*/
// @JSONField(name="DISCOUNT")
// private String DISCOUNT;
/**
* 返回客户的积分使用情况,格式如下:
* {“APnt_Hpn_Num”:”积分发生数量”,”APntCmpt_Amt”:”积分抵扣金额”}
* 当综合积分字段为空或无此字段上送时,无此字段返回且不参与验签,否则有此字段返回且参与验签。
*/
// @JSONField(name="ZHJF")
// private String ZHJF;
/**
* 客户识别号
* 提交建行的参数RETURN_FIELD打开对应开关才返回该字段。
* 客户识别码, 微信、支付宝、龙支付时返回。
* 有该字段返回时(无论返回值是空还是其他),需参与验签,否则无需参与验签。
*/
// @JSONField(name="OPENID")
// private String OPENID;
/**
* 用户子标识
* 提交建行的参数RETURN_FIELD打开对应开关才返回该字段。
* 微信支付专有字段。
* 子商户appid下用户唯一标识如需返回则请求时需要传sub_appid。
* 有该字段返回时(无论返回值是空还是其他),需参与验签,否则无需参与验签。
*/
// @JSONField(name="SUB_OPENID")
// private String SUB_OPENID;
/**
* 支付详细信息
* 支付详细信息。当RETURN_FIELD字段第四位上送1时返回。
* 字段说明见下方[支付详细信息字段说明]
* 格式如下:
* {“TYPE“:"ALIPAY",“PAY_CHANNEL“:"BANKCARD",“DEBIT_CREDIT_TYPE“:"DEBIT_CARD",“THIRD_TRADE_NO“:"2018010521001004890523646975"}
* 为防止特殊字符建行会将该参数值用utf-8编码进行urlencode因此商户需先decode之后才能拿到明文。
* 编码之后为:
* %7B%22TYPE%22%3A%22ALIPAY%22%2C%22PAY_CHANNEL%22%3A%22BANKCARD%22%2C%22DEBIT_CREDIT_TYPE%22%3A%22DEBIT_CARD%22%2C%22THIRD_TRADE_NO%22%3A%222018010521001004890523646975%22%7D
* 有该字段返回时(无论返回值是空还是其他)需参与验签否则无需参与验签参与签名的是encode之后的参数值。
*/
// @JSONField(name="PAYMENT_DETAILS")
// private String PAYMENT_DETAILS;
/**
* 数字签名
*/
@JsonProperty("SIGN")
private String SIGN;
}

View File

@@ -0,0 +1,210 @@
package com.guahao.api.walkinto.model;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @ClassName: JhPlaceOrderInfo
* @Description:
* @Author T.W
* @Date 2023/3/31
* @Version 1.0
*/
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class JhPlaceOrderInfo {
/**
* 商户代码
* 必填
*/
@JSONField(name="MERCHANTID")
private String MERCHANTID;
/**
* 商户柜台代码
* 必填
*/
@JSONField(name="POSID")
private String POSID;
/**
* 分行代码
* 必填
*/
@JSONField(name="BRANCHID")
private String BRANCHID;
/**
* 订单号最长30位
* 必填
*/
@JSONField(name="ORDERID")
private String ORDERID;
/**
* 付款金额
* 必填
*/
@JSONField(name="PAYMENT")
private String PAYMENT;
/**
* 币种
* 必填
* 缺省为 01人民币
*/
@JSONField(name="CURCODE")
private String CURCODE;
/**
* 备注信息1
* 一般作为商户自定义备注信
* 息使用,可在对账单中显示
*/
@JSONField(name="REMARK1")
private String REMARK1;
/**
* 备注信息2
* 一般作为商户自定义备注信
* 息使用,可在对账单中显示
*/
@JSONField(name="REMARK2")
private String REMARK2;
/**
* 交易码
* 由建行统一分配为 530590
* 必填
*/
@JSONField(name="TXCODE")
private String TXCODE;
/**
* MAC 校验域
* 采用标准 MD5 算法,由商户实现
* 必填
*/
@JSONField(name="MAC")
private String MAC;
/**
* 接口类型
* 分行业务人员在 P2 员工渠道后台设置防钓鱼的开关。
* 1- 防钓鱼接口
* 必填
*/
@JSONField(name="TYPE")
private String TYPE;
/**
* 公钥后 30 位
* 商户从建行商户服务平台下载,截取后 30 位。
* 仅作为源串参加 MD5 摘要,不作为参数传递
* 必填
*/
@JSONField(name="PUB")
private String PUB;
/**
* 网关类型
* 默认送 0
* 必填
*/
@JSONField(name="GATEWAY")
private String GATEWAY;
/**
* 客户端 IP
* 客户在商户系统中的 IP即客户登陆访问商户系统时使用的 ip
*/
@JSONField(name="CLIENTIP")
private String CLIENTIP;
/**
* 客户注册信息
* 客户在商户系统中注册的信息,中文需使用 escape 编码
*/
@JSONField(name="REGINFO")
private String REGINFO;
/**
* 商品信息
* 客户购买的商品中文需使用 escape 编码
*/
@JSONField(name="PROINFO")
private String PROINFO;
/**
* 商户 URL
* 商户送空值即可;具体请看 REFERER 设置说明
*/
@JSONField(name="EFERER")
private String EFERER;
/**
* 订单超时时间
* 格式:
* YYYYMMDDHHMMSS如
* 20120214143005
* 银行系统时间> TIMEOUT
* 时拒绝交易,若送空值则不
* 判断超时。
* 当该字段有值时参与 MAC
* 校验,否则不参与 MAC 校
* 验。
*/
@JSONField(name="TIMEOUT")
private String TIMEOUT;
/**
* 交易类型
* JSAPI-- 公 众 号 支 付 、
* MINIPRO--小程序
* 必填
*/
@JSONField(name="TRADE_TYPE")
private String TRADE_TYPE;
/**
* 小程序/公众号的 APPID
* 当前调起支付的小程序/公众号 APPID
* 必填
*/
@JSONField(name="SUB_APPID")
private String SUB_APPID;
/**
* 用户子标识
* 用户在小程序/公众号 appid
* 下的唯一标识,小程序通过
* wx.login 获取,接口文档地
* 址
* https://developers.weixin.qq.com/miniprogram/dev/api/apilogin.html?t=20161122
* 必填
*/
@JSONField(name="SUB_OPENID")
private String SUB_OPENID;
/**
* 渠道商号
* 对于商户自定义的渠道商号当该字段有值时参与 MAC校验否则不参与 MAC 校验。
*/
@JSONField(name="WX_CHANNELID")
private String WX_CHANNELID;
/**
* 返回信息位图
* 共 20 位,商户通知是否返回某
* 个字段的位图0 或空-不返回,
* 1-返回。
* 第 1 位:是否返回 OPENID 和
* SUB_OPENID
* 第 2 位:保留位,默认送 0
* 第 3 位:保留位,默认送 0
* 第 4 位:是否返回支付详细信息
* 字段
* 示例10000000000000000000
*/
@JSONField(name="RETURN_FIELD")
private String RETURN_FIELD;
/**
* 实名支付
* 实名支付功能,包含类型、
* 证件号、姓名三个子域(如果本字段
* 出现,那么本字
* 段包含的三个子域均需出现。详见下
* 文说明5)USERPARAM字段说明
* 当该字段有值时参与MAC校验否则不
* 参与MAC校验。
* 暂未上线,请忽略
*/
@JSONField(name="USERPARAM")
private String USERPARAM;
}

View File

@@ -0,0 +1,19 @@
package com.guahao.api.walkinto.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author SangChengZhi
* @date 2025年09月06日 15:13
* @desc
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PayQueryDTO implements Serializable {
private String outTradeNo;
}

View File

@@ -0,0 +1,18 @@
package com.guahao.api.walkinto.model;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.HashMap;
import java.util.Map;
@XmlRootElement(name = "Response")
public class Response {
public Integer Result_Code=200;
public String Error_Msg="交易成功";
public Map<String,Object> Result_Data=new HashMap<String,Object>();
}

View File

@@ -0,0 +1,18 @@
package com.guahao.api.walkinto.model;
import lombok.Data;
/**
* @author Mr.zs
* @date 2025/3/17
*/
@Data
public class WxPay {
private String appid;
private String mchid;
private String wechartkey;
private String secret;
private String path;
private String domain;
}

View File

@@ -0,0 +1,46 @@
package com.guahao.api.walkinto.model.param;
import com.guahao.common.base.PageParams;
public class BillParam extends PageParams {
public BillParam(){}
public BillParam(int page,int pagesize,Integer uid,Integer type,String time){
this.currentPage=(page-1)*pagesize;
this.pageSize=pagesize;
this.uid=uid;
this.type=type;
this.time=time;
}
private Integer uid;
private Integer type;
private String time;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}