Commit 0627791b authored by yurong's avatar yurong
Browse files

商户系统完善knife4j接口描述

parent 496865c8
...@@ -67,7 +67,7 @@ public class PayInterfaceConfig extends BaseModel implements Serializable { ...@@ -67,7 +67,7 @@ public class PayInterfaceConfig extends BaseModel implements Serializable {
/** /**
* 服务商或商户No * 服务商或商户No
*/ */
@ApiModelProperty(value = "服务商或商户No") @ApiModelProperty(value = "服务商号(服务商支付参数)或应用AppId(商户支付参数)")
private String infoId; private String infoId;
/** /**
......
...@@ -60,6 +60,9 @@ public class CurrentUserController extends CommonCtrl{ ...@@ -60,6 +60,9 @@ public class CurrentUserController extends CommonCtrl{
@Autowired private SysUserAuthService sysUserAuthService; @Autowired private SysUserAuthService sysUserAuthService;
@ApiOperation("查询当前登录者的用户信息") @ApiOperation("查询当前登录者的用户信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@RequestMapping(value="/user", method = RequestMethod.GET) @RequestMapping(value="/user", method = RequestMethod.GET)
public ApiRes currentUserInfo() { public ApiRes currentUserInfo() {
......
...@@ -55,6 +55,9 @@ public class MainChartController extends CommonCtrl { ...@@ -55,6 +55,9 @@ public class MainChartController extends CommonCtrl {
* @describe: 周交易总金额 * @describe: 周交易总金额
*/ */
@ApiOperation("周交易总金额") @ApiOperation("周交易总金额")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@PreAuthorize("hasAuthority('ENT_C_MAIN_PAY_AMOUNT_WEEK')") @PreAuthorize("hasAuthority('ENT_C_MAIN_PAY_AMOUNT_WEEK')")
@RequestMapping(value="/payAmountWeek", method = RequestMethod.GET) @RequestMapping(value="/payAmountWeek", method = RequestMethod.GET)
public ApiRes payAmountWeek() { public ApiRes payAmountWeek() {
...@@ -67,6 +70,9 @@ public class MainChartController extends CommonCtrl { ...@@ -67,6 +70,9 @@ public class MainChartController extends CommonCtrl {
* @describe: 商户总数量、服务商总数量、总交易金额、总交易笔数 * @describe: 商户总数量、服务商总数量、总交易金额、总交易笔数
*/ */
@ApiOperation("商户总数量、服务商总数量、总交易金额、总交易笔数") @ApiOperation("商户总数量、服务商总数量、总交易金额、总交易笔数")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@PreAuthorize("hasAuthority('ENT_C_MAIN_NUMBER_COUNT')") @PreAuthorize("hasAuthority('ENT_C_MAIN_NUMBER_COUNT')")
@RequestMapping(value="/numCount", method = RequestMethod.GET) @RequestMapping(value="/numCount", method = RequestMethod.GET)
public ApiRes numCount() { public ApiRes numCount() {
......
...@@ -128,7 +128,7 @@ public class MchPayInterfaceConfigController extends CommonCtrl { ...@@ -128,7 +128,7 @@ public class MchPayInterfaceConfigController extends CommonCtrl {
@ApiOperation("更新应用支付参数") @ApiOperation("更新应用支付参数")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"), @ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "infoId", value = "商户号", required = true), @ApiImplicitParam(name = "infoId", value = "应用AppId", required = true),
@ApiImplicitParam(name = "ifCode", value = "接口类型代码", required = true) @ApiImplicitParam(name = "ifCode", value = "接口类型代码", required = true)
}) })
@PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_ADD')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_ADD')")
......
...@@ -43,7 +43,7 @@ import java.util.List; ...@@ -43,7 +43,7 @@ import java.util.List;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021/6/8 17:13 * @date 2021/6/8 17:13
*/ */
@Api(tags = "系统管理--用户权限") @Api(tags = "系统管理用户权限")
@RestController @RestController
@RequestMapping("api/sysEnts") @RequestMapping("api/sysEnts")
public class SysEntController extends CommonCtrl { public class SysEntController extends CommonCtrl {
...@@ -52,7 +52,7 @@ public class SysEntController extends CommonCtrl { ...@@ -52,7 +52,7 @@ public class SysEntController extends CommonCtrl {
/** getOne */ /** getOne */
@ApiOperation("用户角色--权限--查询菜单权限详情") @ApiOperation("查询菜单权限详情")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"), @ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "entId", value = "权限ID[ENT_功能模块_子模块_操作], eg: ENT_ROLE_LIST_ADD", required = true), @ApiImplicitParam(name = "entId", value = "权限ID[ENT_功能模块_子模块_操作], eg: ENT_ROLE_LIST_ADD", required = true),
...@@ -69,7 +69,7 @@ public class SysEntController extends CommonCtrl { ...@@ -69,7 +69,7 @@ public class SysEntController extends CommonCtrl {
} }
/** updateById */ /** updateById */
@ApiOperation("用户角色--权限--更新权限资源") @ApiOperation("更新权限资源")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"), @ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "entId", value = "权限ID[ENT_功能模块_子模块_操作], eg: ENT_ROLE_LIST_ADD", required = true), @ApiImplicitParam(name = "entId", value = "权限ID[ENT_功能模块_子模块_操作], eg: ENT_ROLE_LIST_ADD", required = true),
...@@ -91,7 +91,7 @@ public class SysEntController extends CommonCtrl { ...@@ -91,7 +91,7 @@ public class SysEntController extends CommonCtrl {
/** 查询权限集合 */ /** 查询权限集合 */
@ApiOperation("用户角色--权限--查询权限集合") @ApiOperation("查询权限集合")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"), @ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "sysType", value = "所属系统: MGR-运营平台, MCH-商户中心", required = true) @ApiImplicitParam(name = "sysType", value = "所属系统: MGR-运营平台, MCH-商户中心", required = true)
......
...@@ -31,6 +31,10 @@ import com.jeequan.jeepay.core.utils.TreeDataBuilder; ...@@ -31,6 +31,10 @@ import com.jeequan.jeepay.core.utils.TreeDataBuilder;
import com.jeequan.jeepay.service.impl.SysEntitlementService; import com.jeequan.jeepay.service.impl.SysEntitlementService;
import com.jeequan.jeepay.service.impl.SysUserAuthService; import com.jeequan.jeepay.service.impl.SysUserAuthService;
import com.jeequan.jeepay.service.impl.SysUserService; import com.jeequan.jeepay.service.impl.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -49,6 +53,7 @@ import java.util.List; ...@@ -49,6 +53,7 @@ import java.util.List;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "登录者信息")
@RestController @RestController
@RequestMapping("api/current") @RequestMapping("api/current")
public class CurrentUserController extends CommonCtrl{ public class CurrentUserController extends CommonCtrl{
...@@ -57,6 +62,10 @@ public class CurrentUserController extends CommonCtrl{ ...@@ -57,6 +62,10 @@ public class CurrentUserController extends CommonCtrl{
@Autowired private SysUserService sysUserService; @Autowired private SysUserService sysUserService;
@Autowired private SysUserAuthService sysUserAuthService; @Autowired private SysUserAuthService sysUserAuthService;
@ApiOperation("查询当前登录者的用户信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@RequestMapping(value="/user", method = RequestMethod.GET) @RequestMapping(value="/user", method = RequestMethod.GET)
public ApiRes currentUserInfo() { public ApiRes currentUserInfo() {
...@@ -94,6 +103,13 @@ public class CurrentUserController extends CommonCtrl{ ...@@ -94,6 +103,13 @@ public class CurrentUserController extends CommonCtrl{
/** 修改个人信息 */ /** 修改个人信息 */
@ApiOperation("修改个人信息--基本信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "avatarUrl", value = "头像地址"),
@ApiImplicitParam(name = "realname", value = "真实姓名"),
@ApiImplicitParam(name = "sex", value = "性别 0-未知, 1-男, 2-女")
})
@MethodLog(remark = "修改个人信息") @MethodLog(remark = "修改个人信息")
@RequestMapping(value="/user", method = RequestMethod.PUT) @RequestMapping(value="/user", method = RequestMethod.PUT)
public ApiRes modifyCurrentUserInfo() { public ApiRes modifyCurrentUserInfo() {
...@@ -126,6 +142,12 @@ public class CurrentUserController extends CommonCtrl{ ...@@ -126,6 +142,12 @@ public class CurrentUserController extends CommonCtrl{
/** modifyPwd */ /** modifyPwd */
@ApiOperation("修改个人信息--安全信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "confirmPwd", value = "新密码"),
@ApiImplicitParam(name = "originalPwd", value = "原密码")
})
@MethodLog(remark = "修改密码") @MethodLog(remark = "修改密码")
@RequestMapping(value="modifyPwd", method = RequestMethod.PUT) @RequestMapping(value="modifyPwd", method = RequestMethod.PUT)
public ApiRes modifyPwd() throws BizException{ public ApiRes modifyPwd() throws BizException{
...@@ -152,6 +174,10 @@ public class CurrentUserController extends CommonCtrl{ ...@@ -152,6 +174,10 @@ public class CurrentUserController extends CommonCtrl{
} }
/** 登出 */ /** 登出 */
@ApiOperation("退出登录")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@MethodLog(remark = "退出") @MethodLog(remark = "退出")
@RequestMapping(value="logout", method = RequestMethod.POST) @RequestMapping(value="logout", method = RequestMethod.POST)
public ApiRes logout() throws BizException{ public ApiRes logout() throws BizException{
......
...@@ -27,6 +27,10 @@ import com.jeequan.jeepay.core.exception.BizException; ...@@ -27,6 +27,10 @@ import com.jeequan.jeepay.core.exception.BizException;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.mch.service.AuthService; import com.jeequan.jeepay.mch.service.AuthService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -40,6 +44,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -40,6 +44,7 @@ import org.springframework.web.bind.annotation.RestController;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "认证模块")
@RestController @RestController
@RequestMapping("/api/anon/auth") @RequestMapping("/api/anon/auth")
public class AuthController extends CommonCtrl { public class AuthController extends CommonCtrl {
...@@ -47,11 +52,17 @@ public class AuthController extends CommonCtrl { ...@@ -47,11 +52,17 @@ public class AuthController extends CommonCtrl {
@Autowired private AuthService authService; @Autowired private AuthService authService;
/** 用户信息认证 获取iToken **/ /** 用户信息认证 获取iToken **/
@ApiOperation("登录认证")
@ApiImplicitParams({
@ApiImplicitParam(name = "ia", value = "用户名 i account, 需要base64处理", required = true),
@ApiImplicitParam(name = "ip", value = "密码 i passport, 需要base64处理", required = true),
@ApiImplicitParam(name = "vc", value = "证码 vercode, 需要base64处理", required = true),
@ApiImplicitParam(name = "vt", value = "验证码token, vercode token , 需要base64处理", required = true)
})
@RequestMapping(value = "/validate", method = RequestMethod.POST) @RequestMapping(value = "/validate", method = RequestMethod.POST)
@MethodLog(remark = "登录认证") @MethodLog(remark = "登录认证")
public ApiRes validate() throws BizException { public ApiRes validate() throws BizException {
String account = Base64.decodeStr(getValStringRequired("ia")); //用户名 i account, 已做base64处理 String account = Base64.decodeStr(getValStringRequired("ia")); //用户名 i account, 已做base64处理
String ipassport = Base64.decodeStr(getValStringRequired("ip")); //密码 i passport, 已做base64处理 String ipassport = Base64.decodeStr(getValStringRequired("ip")); //密码 i passport, 已做base64处理
String vercode = Base64.decodeStr(getValStringRequired("vc")); //验证码 vercode, 已做base64处理 String vercode = Base64.decodeStr(getValStringRequired("vc")); //验证码 vercode, 已做base64处理
...@@ -72,6 +83,7 @@ public class AuthController extends CommonCtrl { ...@@ -72,6 +83,7 @@ public class AuthController extends CommonCtrl {
} }
/** 图片验证码 **/ /** 图片验证码 **/
@ApiOperation("图片验证码")
@RequestMapping(value = "/vercode", method = RequestMethod.GET) @RequestMapping(value = "/vercode", method = RequestMethod.GET)
public ApiRes vercode() throws BizException { public ApiRes vercode() throws BizException {
......
...@@ -26,6 +26,7 @@ import com.jeequan.jeepay.core.entity.MchApp; ...@@ -26,6 +26,7 @@ import com.jeequan.jeepay.core.entity.MchApp;
import com.jeequan.jeepay.core.entity.MchDivisionReceiver; import com.jeequan.jeepay.core.entity.MchDivisionReceiver;
import com.jeequan.jeepay.core.entity.MchDivisionReceiverGroup; import com.jeequan.jeepay.core.entity.MchDivisionReceiverGroup;
import com.jeequan.jeepay.core.exception.BizException; import com.jeequan.jeepay.core.exception.BizException;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.exception.JeepayException; import com.jeequan.jeepay.exception.JeepayException;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
...@@ -36,6 +37,10 @@ import com.jeequan.jeepay.service.impl.MchAppService; ...@@ -36,6 +37,10 @@ import com.jeequan.jeepay.service.impl.MchAppService;
import com.jeequan.jeepay.service.impl.MchDivisionReceiverGroupService; import com.jeequan.jeepay.service.impl.MchDivisionReceiverGroupService;
import com.jeequan.jeepay.service.impl.MchDivisionReceiverService; import com.jeequan.jeepay.service.impl.MchDivisionReceiverService;
import com.jeequan.jeepay.service.impl.SysConfigService; import com.jeequan.jeepay.service.impl.SysConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -53,6 +58,7 @@ import java.math.BigDecimal; ...@@ -53,6 +58,7 @@ import java.math.BigDecimal;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-08-23 11:50 * @date 2021-08-23 11:50
*/ */
@Api(tags = "分账管理(收款账号)")
@RestController @RestController
@RequestMapping("api/divisionReceivers") @RequestMapping("api/divisionReceivers")
public class MchDivisionReceiverController extends CommonCtrl { public class MchDivisionReceiverController extends CommonCtrl {
...@@ -64,9 +70,21 @@ public class MchDivisionReceiverController extends CommonCtrl { ...@@ -64,9 +70,21 @@ public class MchDivisionReceiverController extends CommonCtrl {
/** list */ /** list */
@ApiOperation("收款账号列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数(-1时查全部数据)", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "appId", value = "应用ID"),
@ApiImplicitParam(name = "receiverId", value = "账号快照》 分账接收者ID", dataType = "Long"),
@ApiImplicitParam(name = "receiverAlias", value = "账号快照》 分账接收者别名"),
@ApiImplicitParam(name = "state", value = "状态: 0-待分账 1-分账成功, 2-分账失败", dataType = "Byte"),
@ApiImplicitParam(name = "receiverGroupId", value = "账号组ID", dataType = "Long"),
@ApiImplicitParam(name = "receiverGroupName", value = "组名称")
})
@PreAuthorize("hasAnyAuthority( 'ENT_DIVISION_RECEIVER_LIST' )") @PreAuthorize("hasAnyAuthority( 'ENT_DIVISION_RECEIVER_LIST' )")
@RequestMapping(value="", method = RequestMethod.GET) @RequestMapping(value="", method = RequestMethod.GET)
public ApiRes list() { public ApiPageRes<MchDivisionReceiver> list() {
MchDivisionReceiver queryObject = getObject(MchDivisionReceiver.class); MchDivisionReceiver queryObject = getObject(MchDivisionReceiver.class);
...@@ -100,11 +118,16 @@ public class MchDivisionReceiverController extends CommonCtrl { ...@@ -100,11 +118,16 @@ public class MchDivisionReceiverController extends CommonCtrl {
condition.orderByDesc(MchDivisionReceiver::getCreatedAt); //时间倒序 condition.orderByDesc(MchDivisionReceiver::getCreatedAt); //时间倒序
IPage<MchDivisionReceiver> pages = mchDivisionReceiverService.page(getIPage(true), condition); IPage<MchDivisionReceiver> pages = mchDivisionReceiverService.page(getIPage(true), condition);
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
/** detail */ /** detail */
@ApiOperation("收款账号详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "分账接收者ID", required = true, dataType = "Long")
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_VIEW' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_VIEW' )")
@RequestMapping(value="/{recordId}", method = RequestMethod.GET) @RequestMapping(value="/{recordId}", method = RequestMethod.GET)
public ApiRes detail(@PathVariable("recordId") Long recordId) { public ApiRes detail(@PathVariable("recordId") Long recordId) {
...@@ -119,6 +142,20 @@ public class MchDivisionReceiverController extends CommonCtrl { ...@@ -119,6 +142,20 @@ public class MchDivisionReceiverController extends CommonCtrl {
} }
/** add */ /** add */
@ApiOperation("新增分账接收账号")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "accName", value = "接收方姓名", required = true),
@ApiImplicitParam(name = "accNo", value = "接收方账号", required = true),
@ApiImplicitParam(name = "accType", value = "账接收账号类型: 0-个人(对私) 1-商户(对公)", required = true, dataType = "Byte"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "divisionProfit", value = "分账比例", required = true, dataType = "BigDecimal"),
@ApiImplicitParam(name = "ifCode", value = "支付接口代码", required = true),
@ApiImplicitParam(name = "receiverAlias", value = "接收者账号别名", required = true),
@ApiImplicitParam(name = "receiverGroupId", value = "组ID(便于商户接口使用)", required = true, dataType = "Long"),
@ApiImplicitParam(name = "relationType", value = "分账关系类型(参考微信), 如: SERVICE_PROVIDER 服务商等", required = true),
@ApiImplicitParam(name = "relationTypeName", value = "当选择自定义时,需要录入该字段。 否则为对应的名称", required = true)
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_ADD' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_ADD' )")
@RequestMapping(value="", method = RequestMethod.POST) @RequestMapping(value="", method = RequestMethod.POST)
@MethodLog(remark = "新增分账接收账号") @MethodLog(remark = "新增分账接收账号")
...@@ -151,6 +188,21 @@ public class MchDivisionReceiverController extends CommonCtrl { ...@@ -151,6 +188,21 @@ public class MchDivisionReceiverController extends CommonCtrl {
} }
/** update */ /** update */
@ApiOperation("更新分账接收账号")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "分账接收者ID", required = true, dataType = "Long"),
@ApiImplicitParam(name = "accName", value = "接收方姓名", required = true),
@ApiImplicitParam(name = "accNo", value = "接收方账号", required = true),
@ApiImplicitParam(name = "accType", value = "账接收账号类型: 0-个人(对私) 1-商户(对公)", required = true, dataType = "Byte"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "divisionProfit", value = "分账比例", required = true, dataType = "BigDecimal"),
@ApiImplicitParam(name = "ifCode", value = "支付接口代码", required = true),
@ApiImplicitParam(name = "receiverAlias", value = "接收者账号别名", required = true),
@ApiImplicitParam(name = "receiverGroupId", value = "组ID(便于商户接口使用)", required = true, dataType = "Long"),
@ApiImplicitParam(name = "relationType", value = "分账关系类型(参考微信), 如: SERVICE_PROVIDER 服务商等", required = true),
@ApiImplicitParam(name = "relationTypeName", value = "当选择自定义时,需要录入该字段。 否则为对应的名称", required = true)
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_EDIT' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_EDIT' )")
@RequestMapping(value="/{recordId}", method = RequestMethod.PUT) @RequestMapping(value="/{recordId}", method = RequestMethod.PUT)
@MethodLog(remark = "更新分账接收账号") @MethodLog(remark = "更新分账接收账号")
...@@ -186,6 +238,11 @@ public class MchDivisionReceiverController extends CommonCtrl { ...@@ -186,6 +238,11 @@ public class MchDivisionReceiverController extends CommonCtrl {
} }
/** delete */ /** delete */
@ApiOperation("删除分账接收账号")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "分账接收者ID", required = true, dataType = "Long")
})
@PreAuthorize("hasAuthority('ENT_DIVISION_RECEIVER_DELETE')") @PreAuthorize("hasAuthority('ENT_DIVISION_RECEIVER_DELETE')")
@RequestMapping(value="/{recordId}", method = RequestMethod.DELETE) @RequestMapping(value="/{recordId}", method = RequestMethod.DELETE)
@MethodLog(remark = "删除分账接收账号") @MethodLog(remark = "删除分账接收账号")
......
...@@ -24,10 +24,15 @@ import com.jeequan.jeepay.core.constants.CS; ...@@ -24,10 +24,15 @@ import com.jeequan.jeepay.core.constants.CS;
import com.jeequan.jeepay.core.entity.MchDivisionReceiver; import com.jeequan.jeepay.core.entity.MchDivisionReceiver;
import com.jeequan.jeepay.core.entity.MchDivisionReceiverGroup; import com.jeequan.jeepay.core.entity.MchDivisionReceiverGroup;
import com.jeequan.jeepay.core.exception.BizException; import com.jeequan.jeepay.core.exception.BizException;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.MchDivisionReceiverGroupService; import com.jeequan.jeepay.service.impl.MchDivisionReceiverGroupService;
import com.jeequan.jeepay.service.impl.MchDivisionReceiverService; import com.jeequan.jeepay.service.impl.MchDivisionReceiverService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -43,6 +48,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -43,6 +48,7 @@ import org.springframework.web.bind.annotation.RestController;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-08-23 11:50 * @date 2021-08-23 11:50
*/ */
@Api(tags = "分账管理(账号组)")
@RestController @RestController
@RequestMapping("api/divisionReceiverGroups") @RequestMapping("api/divisionReceiverGroups")
public class MchDivisionReceiverGroupController extends CommonCtrl { public class MchDivisionReceiverGroupController extends CommonCtrl {
...@@ -51,9 +57,17 @@ public class MchDivisionReceiverGroupController extends CommonCtrl { ...@@ -51,9 +57,17 @@ public class MchDivisionReceiverGroupController extends CommonCtrl {
@Autowired private MchDivisionReceiverService mchDivisionReceiverService; @Autowired private MchDivisionReceiverService mchDivisionReceiverService;
/** list */ /** list */
@ApiOperation("账号组列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数(-1时查全部数据)", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "receiverGroupId", value = "账号组ID", dataType = "Long"),
@ApiImplicitParam(name = "receiverGroupName", value = "组名称")
})
@PreAuthorize("hasAnyAuthority( 'ENT_DIVISION_RECEIVER_GROUP_LIST' )") @PreAuthorize("hasAnyAuthority( 'ENT_DIVISION_RECEIVER_GROUP_LIST' )")
@RequestMapping(value="", method = RequestMethod.GET) @RequestMapping(value="", method = RequestMethod.GET)
public ApiRes list() { public ApiPageRes<MchDivisionReceiverGroup> list() {
MchDivisionReceiverGroup queryObject = getObject(MchDivisionReceiverGroup.class); MchDivisionReceiverGroup queryObject = getObject(MchDivisionReceiverGroup.class);
...@@ -71,11 +85,16 @@ public class MchDivisionReceiverGroupController extends CommonCtrl { ...@@ -71,11 +85,16 @@ public class MchDivisionReceiverGroupController extends CommonCtrl {
condition.orderByDesc(MchDivisionReceiverGroup::getCreatedAt); //时间倒序 condition.orderByDesc(MchDivisionReceiverGroup::getCreatedAt); //时间倒序
IPage<MchDivisionReceiverGroup> pages = mchDivisionReceiverGroupService.page(getIPage(true), condition); IPage<MchDivisionReceiverGroup> pages = mchDivisionReceiverGroupService.page(getIPage(true), condition);
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
/** detail */ /** detail */
@ApiOperation("账号组详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "账号组ID", required = true, dataType = "Long")
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_GROUP_VIEW' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_GROUP_VIEW' )")
@RequestMapping(value="/{recordId}", method = RequestMethod.GET) @RequestMapping(value="/{recordId}", method = RequestMethod.GET)
public ApiRes detail(@PathVariable("recordId") Long recordId) { public ApiRes detail(@PathVariable("recordId") Long recordId) {
...@@ -90,6 +109,12 @@ public class MchDivisionReceiverGroupController extends CommonCtrl { ...@@ -90,6 +109,12 @@ public class MchDivisionReceiverGroupController extends CommonCtrl {
} }
/** add */ /** add */
@ApiOperation("新增分账账号组")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "autoDivisionFlag", value = "自动分账组(当订单分账模式为自动分账,改组将完成分账逻辑) 0-否 1-是", required = true, dataType = "Byte"),
@ApiImplicitParam(name = "receiverGroupName", value = "组名称", required = true)
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_GROUP_ADD' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_GROUP_ADD' )")
@RequestMapping(value="", method = RequestMethod.POST) @RequestMapping(value="", method = RequestMethod.POST)
@MethodLog(remark = "新增分账账号组") @MethodLog(remark = "新增分账账号组")
...@@ -113,6 +138,13 @@ public class MchDivisionReceiverGroupController extends CommonCtrl { ...@@ -113,6 +138,13 @@ public class MchDivisionReceiverGroupController extends CommonCtrl {
} }
/** update */ /** update */
@ApiOperation("更新分账账号组")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "账号组ID", required = true, dataType = "Long"),
@ApiImplicitParam(name = "autoDivisionFlag", value = "自动分账组(当订单分账模式为自动分账,改组将完成分账逻辑) 0-否 1-是", required = true, dataType = "Byte"),
@ApiImplicitParam(name = "receiverGroupName", value = "组名称", required = true)
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_GROUP_EDIT' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_GROUP_EDIT' )")
@RequestMapping(value="/{recordId}", method = RequestMethod.PUT) @RequestMapping(value="/{recordId}", method = RequestMethod.PUT)
@MethodLog(remark = "更新分账账号组") @MethodLog(remark = "更新分账账号组")
...@@ -144,6 +176,11 @@ public class MchDivisionReceiverGroupController extends CommonCtrl { ...@@ -144,6 +176,11 @@ public class MchDivisionReceiverGroupController extends CommonCtrl {
} }
/** delete */ /** delete */
@ApiOperation("删除分账账号组")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "账号组ID", required = true, dataType = "Long")
})
@PreAuthorize("hasAuthority('ENT_DIVISION_RECEIVER_GROUP_DELETE')") @PreAuthorize("hasAuthority('ENT_DIVISION_RECEIVER_GROUP_DELETE')")
@RequestMapping(value="/{recordId}", method = RequestMethod.DELETE) @RequestMapping(value="/{recordId}", method = RequestMethod.DELETE)
@MethodLog(remark = "删除分账账号组") @MethodLog(remark = "删除分账账号组")
......
...@@ -21,12 +21,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -21,12 +21,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jeequan.jeepay.components.mq.model.PayOrderDivisionMQ; import com.jeequan.jeepay.components.mq.model.PayOrderDivisionMQ;
import com.jeequan.jeepay.components.mq.vender.IMQSender; import com.jeequan.jeepay.components.mq.vender.IMQSender;
import com.jeequan.jeepay.core.constants.ApiCodeEnum; import com.jeequan.jeepay.core.constants.ApiCodeEnum;
import com.jeequan.jeepay.core.entity.PayOrder;
import com.jeequan.jeepay.core.entity.PayOrderDivisionRecord; import com.jeequan.jeepay.core.entity.PayOrderDivisionRecord;
import com.jeequan.jeepay.core.exception.BizException; import com.jeequan.jeepay.core.exception.BizException;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.PayOrderDivisionRecordService; import com.jeequan.jeepay.service.impl.PayOrderDivisionRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -42,6 +46,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -42,6 +46,7 @@ import org.springframework.web.bind.annotation.RestController;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-08-25 11:50 * @date 2021-08-25 11:50
*/ */
@Api(tags = "分账管理(分账记录)")
@RestController @RestController
@RequestMapping("api/division/records") @RequestMapping("api/division/records")
public class PayOrderDivisionRecordController extends CommonCtrl { public class PayOrderDivisionRecordController extends CommonCtrl {
...@@ -51,9 +56,23 @@ public class PayOrderDivisionRecordController extends CommonCtrl { ...@@ -51,9 +56,23 @@ public class PayOrderDivisionRecordController extends CommonCtrl {
/** list */ /** list */
@ApiOperation("分账记录列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数(-1时查全部数据)", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "createdStart", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--开始时间,查询范围:大于等于此时间"),
@ApiImplicitParam(name = "createdEnd", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--结束时间,查询范围:小于等于此时间"),
@ApiImplicitParam(name = "appId", value = "应用ID"),
@ApiImplicitParam(name = "receiverId", value = "账号快照》 分账接收者ID", dataType = "Long"),
@ApiImplicitParam(name = "state", value = "状态: 0-待分账 1-分账成功, 2-分账失败", dataType = "Byte"),
@ApiImplicitParam(name = "receiverGroupId", value = "账号组ID", dataType = "Long"),
@ApiImplicitParam(name = "accNo", value = "账号快照》 分账接收账号"),
@ApiImplicitParam(name = "payOrderId", value = "系统支付订单号")
})
@PreAuthorize("hasAnyAuthority( 'ENT_DIVISION_RECORD_LIST' )") @PreAuthorize("hasAnyAuthority( 'ENT_DIVISION_RECORD_LIST' )")
@RequestMapping(value="", method = RequestMethod.GET) @RequestMapping(value="", method = RequestMethod.GET)
public ApiRes list() { public ApiPageRes<PayOrderDivisionRecord> list() {
PayOrderDivisionRecord queryObject = getObject(PayOrderDivisionRecord.class); PayOrderDivisionRecord queryObject = getObject(PayOrderDivisionRecord.class);
JSONObject paramJSON = getReqParamJSON(); JSONObject paramJSON = getReqParamJSON();
...@@ -97,11 +116,16 @@ public class PayOrderDivisionRecordController extends CommonCtrl { ...@@ -97,11 +116,16 @@ public class PayOrderDivisionRecordController extends CommonCtrl {
condition.orderByDesc(PayOrderDivisionRecord::getCreatedAt); //时间倒序 condition.orderByDesc(PayOrderDivisionRecord::getCreatedAt); //时间倒序
IPage<PayOrderDivisionRecord> pages = payOrderDivisionRecordService.page(getIPage(true), condition); IPage<PayOrderDivisionRecord> pages = payOrderDivisionRecordService.page(getIPage(true), condition);
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
/** detail */ /** detail */
@ApiOperation("分账记录详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "分账记录ID", required = true, dataType = "Long")
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECORD_VIEW' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECORD_VIEW' )")
@RequestMapping(value="/{recordId}", method = RequestMethod.GET) @RequestMapping(value="/{recordId}", method = RequestMethod.GET)
public ApiRes detail(@PathVariable("recordId") Long recordId) { public ApiRes detail(@PathVariable("recordId") Long recordId) {
...@@ -118,6 +142,11 @@ public class PayOrderDivisionRecordController extends CommonCtrl { ...@@ -118,6 +142,11 @@ public class PayOrderDivisionRecordController extends CommonCtrl {
/** 分账接口重试 */ /** 分账接口重试 */
@ApiOperation("分账接口重试")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "分账记录ID", required = true, dataType = "Long")
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECORD_RESEND' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECORD_RESEND' )")
@RequestMapping(value="/resend/{recordId}", method = RequestMethod.POST) @RequestMapping(value="/resend/{recordId}", method = RequestMethod.POST)
public ApiRes resend(@PathVariable("recordId") Long recordId) { public ApiRes resend(@PathVariable("recordId") Long recordId) {
......
...@@ -24,6 +24,10 @@ import com.jeequan.jeepay.mch.ctrl.CommonCtrl; ...@@ -24,6 +24,10 @@ import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.MchInfoService; import com.jeequan.jeepay.service.impl.MchInfoService;
import com.jeequan.jeepay.service.impl.PayOrderService; import com.jeequan.jeepay.service.impl.PayOrderService;
import com.jeequan.jeepay.service.impl.SysUserService; import com.jeequan.jeepay.service.impl.SysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -42,6 +46,7 @@ import java.util.Map; ...@@ -42,6 +46,7 @@ import java.util.Map;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "主页统计")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("api/mainChart") @RequestMapping("api/mainChart")
...@@ -55,6 +60,10 @@ public class MainChartController extends CommonCtrl { ...@@ -55,6 +60,10 @@ public class MainChartController extends CommonCtrl {
/** 周交易总金额 */ /** 周交易总金额 */
@ApiOperation("周交易总金额")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@PreAuthorize("hasAuthority('ENT_MCH_MAIN_PAY_AMOUNT_WEEK')") @PreAuthorize("hasAuthority('ENT_MCH_MAIN_PAY_AMOUNT_WEEK')")
@RequestMapping(value="/payAmountWeek", method = RequestMethod.GET) @RequestMapping(value="/payAmountWeek", method = RequestMethod.GET)
public ApiRes payAmountWeek() { public ApiRes payAmountWeek() {
...@@ -65,6 +74,10 @@ public class MainChartController extends CommonCtrl { ...@@ -65,6 +74,10 @@ public class MainChartController extends CommonCtrl {
* 商户总数量、服务商总数量、总交易金额、总交易笔数 * 商户总数量、服务商总数量、总交易金额、总交易笔数
* @return * @return
*/ */
@ApiOperation("商户总数量、服务商总数量、总交易金额、总交易笔数")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@PreAuthorize("hasAuthority('ENT_MCH_MAIN_NUMBER_COUNT')") @PreAuthorize("hasAuthority('ENT_MCH_MAIN_NUMBER_COUNT')")
@RequestMapping(value="/numCount", method = RequestMethod.GET) @RequestMapping(value="/numCount", method = RequestMethod.GET)
public ApiRes numCount() { public ApiRes numCount() {
...@@ -72,9 +85,15 @@ public class MainChartController extends CommonCtrl { ...@@ -72,9 +85,15 @@ public class MainChartController extends CommonCtrl {
} }
/** 交易统计 */ /** 交易统计 */
@ApiOperation("交易统计")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "createdStart", value = "日期格式字符串(yyyy-MM-dd),时间范围查询--开始时间,须和结束时间一起使用,否则默认查最近七天(含今天)"),
@ApiImplicitParam(name = "createdEnd", value = "日期格式字符串(yyyy-MM-dd),时间范围查询--结束时间,须和开始时间一起使用,否则默认查最近七天(含今天)")
})
@PreAuthorize("hasAuthority('ENT_MCH_MAIN_PAY_COUNT')") @PreAuthorize("hasAuthority('ENT_MCH_MAIN_PAY_COUNT')")
@RequestMapping(value="/payCount", method = RequestMethod.GET) @RequestMapping(value="/payCount", method = RequestMethod.GET)
public ApiRes payCount() { public ApiRes<List<Map>> payCount() {
// 获取传入参数 // 获取传入参数
JSONObject paramJSON = getReqParamJSON(); JSONObject paramJSON = getReqParamJSON();
String createdStart = paramJSON.getString("createdStart"); String createdStart = paramJSON.getString("createdStart");
...@@ -86,9 +105,15 @@ public class MainChartController extends CommonCtrl { ...@@ -86,9 +105,15 @@ public class MainChartController extends CommonCtrl {
} }
/** 支付方式统计 */ /** 支付方式统计 */
@ApiOperation("支付方式统计")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "createdStart", value = "日期格式字符串(yyyy-MM-dd),时间范围查询--开始时间,须和结束时间一起使用,否则默认查最近七天(含今天)"),
@ApiImplicitParam(name = "createdEnd", value = "日期格式字符串(yyyy-MM-dd),时间范围查询--结束时间,须和开始时间一起使用,否则默认查最近七天(含今天)")
})
@PreAuthorize("hasAuthority('ENT_MCH_MAIN_PAY_TYPE_COUNT')") @PreAuthorize("hasAuthority('ENT_MCH_MAIN_PAY_TYPE_COUNT')")
@RequestMapping(value="/payTypeCount", method = RequestMethod.GET) @RequestMapping(value="/payTypeCount", method = RequestMethod.GET)
public ApiRes payWayCount() { public ApiRes<ArrayList> payWayCount() {
JSONObject paramJSON = getReqParamJSON(); JSONObject paramJSON = getReqParamJSON();
// 开始、结束时间 // 开始、结束时间
String createdStart = paramJSON.getString("createdStart"); String createdStart = paramJSON.getString("createdStart");
...@@ -98,6 +123,10 @@ public class MainChartController extends CommonCtrl { ...@@ -98,6 +123,10 @@ public class MainChartController extends CommonCtrl {
} }
/** 商户基本信息、用户基本信息 **/ /** 商户基本信息、用户基本信息 **/
@ApiOperation("商户基本信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header")
})
@PreAuthorize("hasAuthority('ENT_MCH_MAIN_USER_INFO')") @PreAuthorize("hasAuthority('ENT_MCH_MAIN_USER_INFO')")
@RequestMapping(value="", method = RequestMethod.GET) @RequestMapping(value="", method = RequestMethod.GET)
public ApiRes userDetail() { public ApiRes userDetail() {
......
...@@ -16,19 +16,21 @@ ...@@ -16,19 +16,21 @@
package com.jeequan.jeepay.mch.ctrl.merchant; package com.jeequan.jeepay.mch.ctrl.merchant;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jeequan.jeepay.components.mq.model.ResetIsvMchAppInfoConfigMQ; import com.jeequan.jeepay.components.mq.model.ResetIsvMchAppInfoConfigMQ;
import com.jeequan.jeepay.components.mq.vender.IMQSender; import com.jeequan.jeepay.components.mq.vender.IMQSender;
import com.jeequan.jeepay.core.aop.MethodLog; import com.jeequan.jeepay.core.aop.MethodLog;
import com.jeequan.jeepay.core.constants.ApiCodeEnum; import com.jeequan.jeepay.core.constants.ApiCodeEnum;
import com.jeequan.jeepay.core.constants.CS;
import com.jeequan.jeepay.core.entity.MchApp; import com.jeequan.jeepay.core.entity.MchApp;
import com.jeequan.jeepay.core.exception.BizException; import com.jeequan.jeepay.core.exception.BizException;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.core.utils.JsonKit;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.MchAppService; import com.jeequan.jeepay.service.impl.MchAppService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -40,6 +42,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -40,6 +42,7 @@ import org.springframework.web.bind.annotation.*;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-06-16 09:15 * @date 2021-06-16 09:15
*/ */
@Api(tags = "商户应用管理")
@RestController @RestController
@RequestMapping("/api/mchApps") @RequestMapping("/api/mchApps")
public class MchAppController extends CommonCtrl { public class MchAppController extends CommonCtrl {
...@@ -52,14 +55,23 @@ public class MchAppController extends CommonCtrl { ...@@ -52,14 +55,23 @@ public class MchAppController extends CommonCtrl {
* @Description: 应用列表 * @Description: 应用列表
* @Date: 9:59 2021/6/16 * @Date: 9:59 2021/6/16
*/ */
@ApiOperation("查询应用列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "appId", value = "应用ID"),
@ApiImplicitParam(name = "appName", value = "应用名称"),
@ApiImplicitParam(name = "state", value = "状态: 0-停用, 1-启用", dataType = "Byte")
})
@PreAuthorize("hasAuthority('ENT_MCH_APP_LIST')") @PreAuthorize("hasAuthority('ENT_MCH_APP_LIST')")
@GetMapping @GetMapping
public ApiRes list() { public ApiPageRes<MchApp> list() {
MchApp mchApp = getObject(MchApp.class); MchApp mchApp = getObject(MchApp.class);
mchApp.setMchNo(getCurrentMchNo()); mchApp.setMchNo(getCurrentMchNo());
IPage<MchApp> pages = mchAppService.selectPage(getIPage(true), mchApp); IPage<MchApp> pages = mchAppService.selectPage(getIPage(true), mchApp);
return ApiRes.ok(pages); return ApiPageRes.pages(pages);
} }
/** /**
...@@ -67,6 +79,14 @@ public class MchAppController extends CommonCtrl { ...@@ -67,6 +79,14 @@ public class MchAppController extends CommonCtrl {
* @Description: 新建应用 * @Description: 新建应用
* @Date: 10:05 2021/6/16 * @Date: 10:05 2021/6/16
*/ */
@ApiOperation("新建应用")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appName", value = "应用名称", required = true),
@ApiImplicitParam(name = "appSecret", value = "应用私钥", required = true),
@ApiImplicitParam(name = "remark", value = "备注"),
@ApiImplicitParam(name = "state", value = "状态: 0-停用, 1-启用", dataType = "Byte")
})
@PreAuthorize("hasAuthority('ENT_MCH_APP_ADD')") @PreAuthorize("hasAuthority('ENT_MCH_APP_ADD')")
@MethodLog(remark = "新建应用") @MethodLog(remark = "新建应用")
@PostMapping @PostMapping
...@@ -87,6 +107,11 @@ public class MchAppController extends CommonCtrl { ...@@ -87,6 +107,11 @@ public class MchAppController extends CommonCtrl {
* @Description: 应用详情 * @Description: 应用详情
* @Date: 10:13 2021/6/16 * @Date: 10:13 2021/6/16
*/ */
@ApiOperation("应用详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true)
})
@PreAuthorize("hasAnyAuthority('ENT_MCH_APP_VIEW', 'ENT_MCH_APP_EDIT')") @PreAuthorize("hasAnyAuthority('ENT_MCH_APP_VIEW', 'ENT_MCH_APP_EDIT')")
@GetMapping("/{appId}") @GetMapping("/{appId}")
public ApiRes detail(@PathVariable("appId") String appId) { public ApiRes detail(@PathVariable("appId") String appId) {
...@@ -104,6 +129,15 @@ public class MchAppController extends CommonCtrl { ...@@ -104,6 +129,15 @@ public class MchAppController extends CommonCtrl {
* @Description: 更新应用信息 * @Description: 更新应用信息
* @Date: 10:11 2021/6/16 * @Date: 10:11 2021/6/16
*/ */
@ApiOperation("更新应用信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "appName", value = "应用名称", required = true),
@ApiImplicitParam(name = "appSecret", value = "应用私钥", required = true),
@ApiImplicitParam(name = "remark", value = "备注"),
@ApiImplicitParam(name = "state", value = "状态: 0-停用, 1-启用", dataType = "Byte")
})
@PreAuthorize("hasAuthority('ENT_MCH_APP_EDIT')") @PreAuthorize("hasAuthority('ENT_MCH_APP_EDIT')")
@MethodLog(remark = "更新应用信息") @MethodLog(remark = "更新应用信息")
@PutMapping("/{appId}") @PutMapping("/{appId}")
...@@ -130,6 +164,11 @@ public class MchAppController extends CommonCtrl { ...@@ -130,6 +164,11 @@ public class MchAppController extends CommonCtrl {
* @Description: 删除应用 * @Description: 删除应用
* @Date: 10:14 2021/6/16 * @Date: 10:14 2021/6/16
*/ */
@ApiOperation("删除应用")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_APP_DEL')") @PreAuthorize("hasAuthority('ENT_MCH_APP_DEL')")
@MethodLog(remark = "删除应用") @MethodLog(remark = "删除应用")
@DeleteMapping("/{appId}") @DeleteMapping("/{appId}")
......
...@@ -29,6 +29,10 @@ import com.jeequan.jeepay.core.model.params.NormalMchParams; ...@@ -29,6 +29,10 @@ import com.jeequan.jeepay.core.model.params.NormalMchParams;
import com.jeequan.jeepay.core.utils.StringKit; import com.jeequan.jeepay.core.utils.StringKit;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.*; import com.jeequan.jeepay.service.impl.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -46,6 +50,7 @@ import java.util.Set; ...@@ -46,6 +50,7 @@ import java.util.Set;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "商户支付接口管理")
@RestController @RestController
@RequestMapping("/api/mch/payConfigs") @RequestMapping("/api/mch/payConfigs")
public class MchPayInterfaceConfigController extends CommonCtrl { public class MchPayInterfaceConfigController extends CommonCtrl {
...@@ -61,9 +66,14 @@ public class MchPayInterfaceConfigController extends CommonCtrl { ...@@ -61,9 +66,14 @@ public class MchPayInterfaceConfigController extends CommonCtrl {
* @Description: 查询商户支付接口配置列表 * @Description: 查询商户支付接口配置列表
* @Date: 10:51 2021/5/13 * @Date: 10:51 2021/5/13
*/ */
@ApiOperation("查询应用支付接口配置列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_LIST')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_LIST')")
@GetMapping @GetMapping
public ApiRes list() { public ApiRes<List<PayInterfaceDefine>> list() {
MchInfo mchInfo = mchInfoService.getById(getCurrentUser().getSysUser().getBelongInfoId()); MchInfo mchInfo = mchInfoService.getById(getCurrentUser().getSysUser().getBelongInfoId());
List<PayInterfaceDefine> list = payInterfaceConfigService.selectAllPayIfConfigListByAppId(getValStringRequired("appId")); List<PayInterfaceDefine> list = payInterfaceConfigService.selectAllPayIfConfigListByAppId(getValStringRequired("appId"));
...@@ -80,6 +90,12 @@ public class MchPayInterfaceConfigController extends CommonCtrl { ...@@ -80,6 +90,12 @@ public class MchPayInterfaceConfigController extends CommonCtrl {
* @Description: 根据 商户号、接口类型 获取商户参数配置 * @Description: 根据 商户号、接口类型 获取商户参数配置
* @Date: 10:54 2021/5/13 * @Date: 10:54 2021/5/13
*/ */
@ApiOperation("根据应用ID、接口类型 获取应用参数配置")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "ifCode", value = "接口类型代码", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_VIEW')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_VIEW')")
@GetMapping("/{appId}/{ifCode}") @GetMapping("/{appId}/{ifCode}")
public ApiRes getByMchNo(@PathVariable(value = "appId") String appId, @PathVariable(value = "ifCode") String ifCode) { public ApiRes getByMchNo(@PathVariable(value = "appId") String appId, @PathVariable(value = "ifCode") String ifCode) {
...@@ -111,6 +127,12 @@ public class MchPayInterfaceConfigController extends CommonCtrl { ...@@ -111,6 +127,12 @@ public class MchPayInterfaceConfigController extends CommonCtrl {
* @Description: 更新商户支付参数 * @Description: 更新商户支付参数
* @Date: 10:56 2021/5/13 * @Date: 10:56 2021/5/13
*/ */
@ApiOperation("更新商户支付参数")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "infoId", value = "应用AppId", required = true),
@ApiImplicitParam(name = "ifCode", value = "接口类型代码", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_ADD')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_CONFIG_ADD')")
@PostMapping @PostMapping
@MethodLog(remark = "更新商户支付参数") @MethodLog(remark = "更新商户支付参数")
...@@ -157,6 +179,11 @@ public class MchPayInterfaceConfigController extends CommonCtrl { ...@@ -157,6 +179,11 @@ public class MchPayInterfaceConfigController extends CommonCtrl {
} }
/** 查询支付宝商户授权URL **/ /** 查询支付宝商户授权URL **/
@ApiOperation("查询支付宝商户授权URL")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "mchAppId", value = "应用ID", required = true)
})
@GetMapping("/alipayIsvsubMchAuthUrls/{mchAppId}") @GetMapping("/alipayIsvsubMchAuthUrls/{mchAppId}")
public ApiRes queryAlipayIsvsubMchAuthUrl(@PathVariable String mchAppId) { public ApiRes queryAlipayIsvsubMchAuthUrl(@PathVariable String mchAppId) {
...@@ -179,9 +206,14 @@ public class MchPayInterfaceConfigController extends CommonCtrl { ...@@ -179,9 +206,14 @@ public class MchPayInterfaceConfigController extends CommonCtrl {
/** 查询当前应用支持的支付接口 */ /** 查询当前应用支持的支付接口 */
@ApiOperation("查询当前应用支持的支付接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true)
})
@PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_ADD' )") @PreAuthorize("hasAuthority( 'ENT_DIVISION_RECEIVER_ADD' )")
@RequestMapping(value="ifCodes/{appId}", method = RequestMethod.GET) @RequestMapping(value="ifCodes/{appId}", method = RequestMethod.GET)
public ApiRes getIfCodeByAppId(@PathVariable("appId") String appId) { public ApiRes<Set<String>> getIfCodeByAppId(@PathVariable("appId") String appId) {
if(mchAppService.count(MchApp.gw().eq(MchApp::getMchNo, getCurrentMchNo()).eq(MchApp::getAppId, appId)) <= 0){ if(mchAppService.count(MchApp.gw().eq(MchApp::getMchNo, getCurrentMchNo()).eq(MchApp::getAppId, appId)) <= 0){
throw new BizException("商户应用不存在"); throw new BizException("商户应用不存在");
......
...@@ -26,11 +26,16 @@ import com.jeequan.jeepay.core.constants.CS; ...@@ -26,11 +26,16 @@ import com.jeequan.jeepay.core.constants.CS;
import com.jeequan.jeepay.core.entity.MchInfo; import com.jeequan.jeepay.core.entity.MchInfo;
import com.jeequan.jeepay.core.entity.MchPayPassage; import com.jeequan.jeepay.core.entity.MchPayPassage;
import com.jeequan.jeepay.core.entity.PayWay; import com.jeequan.jeepay.core.entity.PayWay;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.MchInfoService; import com.jeequan.jeepay.service.impl.MchInfoService;
import com.jeequan.jeepay.service.impl.MchPayPassageService; import com.jeequan.jeepay.service.impl.MchPayPassageService;
import com.jeequan.jeepay.service.impl.PayWayService; import com.jeequan.jeepay.service.impl.PayWayService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -47,6 +52,7 @@ import java.util.List; ...@@ -47,6 +52,7 @@ import java.util.List;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "商户支付通道管理")
@RestController @RestController
@RequestMapping("/api/mch/payPassages") @RequestMapping("/api/mch/payPassages")
public class MchPayPassageConfigController extends CommonCtrl { public class MchPayPassageConfigController extends CommonCtrl {
...@@ -60,9 +66,18 @@ public class MchPayPassageConfigController extends CommonCtrl { ...@@ -60,9 +66,18 @@ public class MchPayPassageConfigController extends CommonCtrl {
* @Description: 查询支付方式列表,并添加是否配置支付通道状态 * @Description: 查询支付方式列表,并添加是否配置支付通道状态
* @Date: 10:58 2021/5/13 * @Date: 10:58 2021/5/13
*/ */
@ApiOperation("查询支付方式列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "wayCode", value = "支付方式代码"),
@ApiImplicitParam(name = "wayName", value = "支付方式名称")
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_PASSAGE_LIST')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_PASSAGE_LIST')")
@GetMapping @GetMapping
public ApiRes list() { public ApiPageRes<PayWay> list() {
String appId = getValStringRequired("appId"); String appId = getValStringRequired("appId");
String wayCode = getValString("wayCode"); String wayCode = getValString("wayCode");
...@@ -103,14 +118,21 @@ public class MchPayPassageConfigController extends CommonCtrl { ...@@ -103,14 +118,21 @@ public class MchPayPassageConfigController extends CommonCtrl {
} }
} }
return ApiRes.page(payWayPage); return ApiPageRes.pages(payWayPage);
} }
/** /**
* @Author: ZhuXiao * @Author: ZhuXiao
* @Description: 根据appId、支付方式查询可用的支付接口列表 * @Description: 根据appId、支付方式查询可用的支付接口列表
* @Date: 11:05 2021/5/13 * @Date: 11:05 2021/5/13
* @return
*/ */
@ApiOperation("根据[应用ID]、[支付方式代码]查询可用的支付接口列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "wayCode", value = "支付方式代码", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_PASSAGE_CONFIG')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_PASSAGE_CONFIG')")
@GetMapping("/availablePayInterface/{appId}/{wayCode}") @GetMapping("/availablePayInterface/{appId}/{wayCode}")
public ApiRes availablePayInterface(@PathVariable("appId") String appId, @PathVariable("wayCode") String wayCode) { public ApiRes availablePayInterface(@PathVariable("appId") String appId, @PathVariable("wayCode") String wayCode) {
...@@ -132,6 +154,11 @@ public class MchPayPassageConfigController extends CommonCtrl { ...@@ -132,6 +154,11 @@ public class MchPayPassageConfigController extends CommonCtrl {
* @Description: * @Description:
* @Date: 11:05 2021/5/13 * @Date: 11:05 2021/5/13
*/ */
@ApiOperation("商户支付通道详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "id", value = "支付通道ID", required = true)
})
@GetMapping("/{id}") @GetMapping("/{id}")
public ApiRes detail(@PathVariable("id") Long id) { public ApiRes detail(@PathVariable("id") Long id) {
MchPayPassage payPassage = mchPayPassageService.getById(id); MchPayPassage payPassage = mchPayPassageService.getById(id);
...@@ -150,6 +177,11 @@ public class MchPayPassageConfigController extends CommonCtrl { ...@@ -150,6 +177,11 @@ public class MchPayPassageConfigController extends CommonCtrl {
* @Description: 应用支付通道配置 * @Description: 应用支付通道配置
* @Date: 11:05 2021/5/13 * @Date: 11:05 2021/5/13
*/ */
@ApiOperation("更新商户支付通道")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "reqParams", value = "商户支付通道配置信息", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_PASSAGE_ADD')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_PASSAGE_ADD')")
@PostMapping @PostMapping
@MethodLog(remark = "更新应用支付通道") @MethodLog(remark = "更新应用支付通道")
......
...@@ -25,6 +25,7 @@ import com.jeequan.jeepay.core.entity.MchApp; ...@@ -25,6 +25,7 @@ import com.jeequan.jeepay.core.entity.MchApp;
import com.jeequan.jeepay.core.entity.PayOrder; import com.jeequan.jeepay.core.entity.PayOrder;
import com.jeequan.jeepay.core.entity.PayWay; import com.jeequan.jeepay.core.entity.PayWay;
import com.jeequan.jeepay.core.exception.BizException; import com.jeequan.jeepay.core.exception.BizException;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.core.utils.SeqKit; import com.jeequan.jeepay.core.utils.SeqKit;
import com.jeequan.jeepay.exception.JeepayException; import com.jeequan.jeepay.exception.JeepayException;
...@@ -36,6 +37,10 @@ import com.jeequan.jeepay.service.impl.MchAppService; ...@@ -36,6 +37,10 @@ import com.jeequan.jeepay.service.impl.MchAppService;
import com.jeequan.jeepay.service.impl.PayOrderService; import com.jeequan.jeepay.service.impl.PayOrderService;
import com.jeequan.jeepay.service.impl.PayWayService; import com.jeequan.jeepay.service.impl.PayWayService;
import com.jeequan.jeepay.service.impl.SysConfigService; import com.jeequan.jeepay.service.impl.SysConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -53,6 +58,7 @@ import java.util.Map; ...@@ -53,6 +58,7 @@ import java.util.Map;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "订单管理(支付类)")
@RestController @RestController
@RequestMapping("/api/payOrder") @RequestMapping("/api/payOrder")
public class PayOrderController extends CommonCtrl { public class PayOrderController extends CommonCtrl {
...@@ -67,9 +73,23 @@ public class PayOrderController extends CommonCtrl { ...@@ -67,9 +73,23 @@ public class PayOrderController extends CommonCtrl {
* @Description: 订单信息列表 * @Description: 订单信息列表
* @Date: 10:43 2021/5/13 * @Date: 10:43 2021/5/13
*/ */
@ApiOperation("支付订单信息列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "createdStart", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--开始时间,查询范围:大于等于此时间"),
@ApiImplicitParam(name = "createdEnd", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--结束时间,查询范围:小于等于此时间"),
@ApiImplicitParam(name = "unionOrderId", value = "支付/商户/渠道订单号"),
@ApiImplicitParam(name = "appId", value = "应用ID"),
@ApiImplicitParam(name = "wayCode", value = "支付方式代码"),
@ApiImplicitParam(name = "state", value = "支付状态: 0-订单生成, 1-支付中, 2-支付成功, 3-支付失败, 4-已撤销, 5-已退款, 6-订单关闭", dataType = "Byte"),
@ApiImplicitParam(name = "notifyState", value = "向下游回调状态, 0-未发送, 1-已发送"),
@ApiImplicitParam(name = "divisionState", value = "0-未发生分账, 1-等待分账任务处理, 2-分账处理中, 3-分账任务已结束(不体现状态)")
})
@PreAuthorize("hasAuthority('ENT_ORDER_LIST')") @PreAuthorize("hasAuthority('ENT_ORDER_LIST')")
@GetMapping @GetMapping
public ApiRes list() { public ApiPageRes<PayOrder> list() {
PayOrder payOrder = getObject(PayOrder.class); PayOrder payOrder = getObject(PayOrder.class);
JSONObject paramJSON = getReqParamJSON(); JSONObject paramJSON = getReqParamJSON();
...@@ -96,7 +116,7 @@ public class PayOrderController extends CommonCtrl { ...@@ -96,7 +116,7 @@ public class PayOrderController extends CommonCtrl {
} }
} }
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
/** /**
...@@ -104,6 +124,11 @@ public class PayOrderController extends CommonCtrl { ...@@ -104,6 +124,11 @@ public class PayOrderController extends CommonCtrl {
* @Description: 支付订单信息 * @Description: 支付订单信息
* @Date: 10:43 2021/5/13 * @Date: 10:43 2021/5/13
*/ */
@ApiOperation("支付订单信息详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "payOrderId", value = "支付订单号", required = true)
})
@PreAuthorize("hasAuthority('ENT_PAY_ORDER_VIEW')") @PreAuthorize("hasAuthority('ENT_PAY_ORDER_VIEW')")
@GetMapping("/{payOrderId}") @GetMapping("/{payOrderId}")
public ApiRes detail(@PathVariable("payOrderId") String payOrderId) { public ApiRes detail(@PathVariable("payOrderId") String payOrderId) {
...@@ -124,6 +149,12 @@ public class PayOrderController extends CommonCtrl { ...@@ -124,6 +149,12 @@ public class PayOrderController extends CommonCtrl {
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021/6/17 16:38 * @date 2021/6/17 16:38
*/ */
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "payOrderId", value = "支付订单号", required = true),
@ApiImplicitParam(name = "refundAmount", value = "退款金额", required = true),
@ApiImplicitParam(name = "refundReason", value = "退款原因", required = true)
})
@MethodLog(remark = "发起订单退款") @MethodLog(remark = "发起订单退款")
@PreAuthorize("hasAuthority('ENT_PAY_ORDER_REFUND')") @PreAuthorize("hasAuthority('ENT_PAY_ORDER_REFUND')")
@PostMapping("/refunds/{payOrderId}") @PostMapping("/refunds/{payOrderId}")
......
...@@ -20,10 +20,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -20,10 +20,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jeequan.jeepay.core.constants.ApiCodeEnum; import com.jeequan.jeepay.core.constants.ApiCodeEnum;
import com.jeequan.jeepay.core.entity.RefundOrder; import com.jeequan.jeepay.core.entity.RefundOrder;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.RefundOrderService; import com.jeequan.jeepay.service.impl.RefundOrderService;
import org.apache.commons.lang3.StringUtils; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -38,6 +42,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -38,6 +42,7 @@ import org.springframework.web.bind.annotation.RestController;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "订单管理(退款类)")
@RestController @RestController
@RequestMapping("/api/refundOrder") @RequestMapping("/api/refundOrder")
public class RefundOrderController extends CommonCtrl { public class RefundOrderController extends CommonCtrl {
...@@ -49,9 +54,21 @@ public class RefundOrderController extends CommonCtrl { ...@@ -49,9 +54,21 @@ public class RefundOrderController extends CommonCtrl {
* @Description: 退款订单信息列表 * @Description: 退款订单信息列表
* @Date: 10:44 2021/5/13 * @Date: 10:44 2021/5/13
*/ */
@ApiOperation("退款订单信息列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "createdStart", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--开始时间,查询范围:大于等于此时间"),
@ApiImplicitParam(name = "createdEnd", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--结束时间,查询范围:小于等于此时间"),
@ApiImplicitParam(name = "unionOrderId", value = "支付/退款订单号"),
@ApiImplicitParam(name = "appId", value = "应用ID"),
@ApiImplicitParam(name = "state", value = "退款状态:0-订单生成,1-退款中,2-退款成功,3-退款失败,4-退款任务关闭", dataType = "Byte"),
@ApiImplicitParam(name = "mchType", value = "类型: 1-普通商户, 2-特约商户(服务商模式)")
})
@PreAuthorize("hasAuthority('ENT_REFUND_LIST')") @PreAuthorize("hasAuthority('ENT_REFUND_LIST')")
@GetMapping @GetMapping
public ApiRes list() { public ApiPageRes<RefundOrder> list() {
RefundOrder refundOrder = getObject(RefundOrder.class); RefundOrder refundOrder = getObject(RefundOrder.class);
JSONObject paramJSON = getReqParamJSON(); JSONObject paramJSON = getReqParamJSON();
...@@ -59,7 +76,7 @@ public class RefundOrderController extends CommonCtrl { ...@@ -59,7 +76,7 @@ public class RefundOrderController extends CommonCtrl {
wrapper.eq(RefundOrder::getMchNo, getCurrentMchNo()); wrapper.eq(RefundOrder::getMchNo, getCurrentMchNo());
IPage<RefundOrder> pages = refundOrderService.pageList(getIPage(), wrapper, refundOrder, paramJSON); IPage<RefundOrder> pages = refundOrderService.pageList(getIPage(), wrapper, refundOrder, paramJSON);
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
/** /**
...@@ -67,6 +84,11 @@ public class RefundOrderController extends CommonCtrl { ...@@ -67,6 +84,11 @@ public class RefundOrderController extends CommonCtrl {
* @Description: 退款订单信息 * @Description: 退款订单信息
* @Date: 10:44 2021/5/13 * @Date: 10:44 2021/5/13
*/ */
@ApiOperation("退款订单信息详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "refundOrderId", value = "退款订单号", required = true)
})
@PreAuthorize("hasAuthority('ENT_REFUND_ORDER_VIEW')") @PreAuthorize("hasAuthority('ENT_REFUND_ORDER_VIEW')")
@GetMapping("/{refundOrderId}") @GetMapping("/{refundOrderId}")
public ApiRes detail(@PathVariable("refundOrderId") String refundOrderId) { public ApiRes detail(@PathVariable("refundOrderId") String refundOrderId) {
......
...@@ -20,9 +20,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -20,9 +20,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jeequan.jeepay.core.constants.ApiCodeEnum; import com.jeequan.jeepay.core.constants.ApiCodeEnum;
import com.jeequan.jeepay.core.entity.TransferOrder; import com.jeequan.jeepay.core.entity.TransferOrder;
import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.TransferOrderService; import com.jeequan.jeepay.service.impl.TransferOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -38,6 +43,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -38,6 +43,7 @@ import org.springframework.web.bind.annotation.RestController;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021/8/13 10:52 * @date 2021/8/13 10:52
*/ */
@Api(tags = "订单管理(转账类)")
@RestController @RestController
@RequestMapping("/api/transferOrders") @RequestMapping("/api/transferOrders")
public class TransferOrderController extends CommonCtrl { public class TransferOrderController extends CommonCtrl {
...@@ -45,9 +51,20 @@ public class TransferOrderController extends CommonCtrl { ...@@ -45,9 +51,20 @@ public class TransferOrderController extends CommonCtrl {
@Autowired private TransferOrderService transferOrderService; @Autowired private TransferOrderService transferOrderService;
/** list **/ /** list **/
@ApiOperation("转账订单信息列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "createdStart", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--开始时间,查询范围:大于等于此时间"),
@ApiImplicitParam(name = "createdEnd", value = "日期格式字符串(yyyy-MM-dd HH:mm:ss),时间范围查询--结束时间,查询范围:小于等于此时间"),
@ApiImplicitParam(name = "unionOrderId", value = "转账/商户/渠道订单号"),
@ApiImplicitParam(name = "appId", value = "应用ID"),
@ApiImplicitParam(name = "state", value = "支付状态: 0-订单生成, 1-转账中, 2-转账成功, 3-转账失败, 4-订单关闭", dataType = "Byte")
})
@PreAuthorize("hasAuthority('ENT_TRANSFER_ORDER_LIST')") @PreAuthorize("hasAuthority('ENT_TRANSFER_ORDER_LIST')")
@RequestMapping(value="", method = RequestMethod.GET) @RequestMapping(value="", method = RequestMethod.GET)
public ApiRes list() { public ApiPageRes<TransferOrder> list() {
TransferOrder transferOrder = getObject(TransferOrder.class); TransferOrder transferOrder = getObject(TransferOrder.class);
JSONObject paramJSON = getReqParamJSON(); JSONObject paramJSON = getReqParamJSON();
...@@ -55,10 +72,15 @@ public class TransferOrderController extends CommonCtrl { ...@@ -55,10 +72,15 @@ public class TransferOrderController extends CommonCtrl {
wrapper.eq(TransferOrder::getMchNo, getCurrentMchNo()); wrapper.eq(TransferOrder::getMchNo, getCurrentMchNo());
IPage<TransferOrder> pages = transferOrderService.pageList(getIPage(), wrapper, transferOrder, paramJSON); IPage<TransferOrder> pages = transferOrderService.pageList(getIPage(), wrapper, transferOrder, paramJSON);
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
/** detail **/ /** detail **/
@ApiOperation("转账订单信息详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "recordId", value = "转账订单号", required = true)
})
@PreAuthorize("hasAuthority('ENT_TRANSFER_ORDER_VIEW')") @PreAuthorize("hasAuthority('ENT_TRANSFER_ORDER_VIEW')")
@RequestMapping(value="/{recordId}", method = RequestMethod.GET) @RequestMapping(value="/{recordId}", method = RequestMethod.GET)
public ApiRes detail(@PathVariable("recordId") String transferId) { public ApiRes detail(@PathVariable("recordId") String transferId) {
......
...@@ -18,11 +18,15 @@ package com.jeequan.jeepay.mch.ctrl.payconfig; ...@@ -18,11 +18,15 @@ package com.jeequan.jeepay.mch.ctrl.payconfig;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jeequan.jeepay.core.entity.PayWay; import com.jeequan.jeepay.core.entity.PayWay;
import com.jeequan.jeepay.core.model.ApiRes; import com.jeequan.jeepay.core.model.ApiPageRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.service.impl.MchPayPassageService; import com.jeequan.jeepay.service.impl.MchPayPassageService;
import com.jeequan.jeepay.service.impl.PayOrderService; import com.jeequan.jeepay.service.impl.PayOrderService;
import com.jeequan.jeepay.service.impl.PayWayService; import com.jeequan.jeepay.service.impl.PayWayService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -37,6 +41,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -37,6 +41,7 @@ import org.springframework.web.bind.annotation.RestController;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021-04-27 15:50 * @date 2021-04-27 15:50
*/ */
@Api(tags = "支付方式配置")
@RestController @RestController
@RequestMapping("api/payWays") @RequestMapping("api/payWays")
public class PayWayController extends CommonCtrl { public class PayWayController extends CommonCtrl {
...@@ -50,9 +55,17 @@ public class PayWayController extends CommonCtrl { ...@@ -50,9 +55,17 @@ public class PayWayController extends CommonCtrl {
* @Description: list * @Description: list
* @Date: 15:52 2021/4/27 * @Date: 15:52 2021/4/27
*/ */
@ApiOperation("支付方式列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "pageNumber", value = "分页页码", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "pageSize", value = "分页条数(-1时查全部数据)", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "wayCode", value = "支付方式代码"),
@ApiImplicitParam(name = "wayName", value = "支付方式名称")
})
@PreAuthorize("hasAuthority('ENT_PAY_ORDER_SEARCH_PAY_WAY')") @PreAuthorize("hasAuthority('ENT_PAY_ORDER_SEARCH_PAY_WAY')")
@GetMapping @GetMapping
public ApiRes list() { public ApiPageRes<PayWay> list() {
PayWay queryObject = getObject(PayWay.class); PayWay queryObject = getObject(PayWay.class);
...@@ -67,7 +80,7 @@ public class PayWayController extends CommonCtrl { ...@@ -67,7 +80,7 @@ public class PayWayController extends CommonCtrl {
IPage<PayWay> pages = payWayService.page(getIPage(true), condition); IPage<PayWay> pages = payWayService.page(getIPage(true), condition);
return ApiRes.page(pages); return ApiPageRes.pages(pages);
} }
} }
...@@ -31,6 +31,10 @@ import com.jeequan.jeepay.response.PayOrderCreateResponse; ...@@ -31,6 +31,10 @@ import com.jeequan.jeepay.response.PayOrderCreateResponse;
import com.jeequan.jeepay.service.impl.MchAppService; import com.jeequan.jeepay.service.impl.MchAppService;
import com.jeequan.jeepay.service.impl.MchPayPassageService; import com.jeequan.jeepay.service.impl.MchPayPassageService;
import com.jeequan.jeepay.service.impl.SysConfigService; import com.jeequan.jeepay.service.impl.SysConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -46,6 +50,7 @@ import java.util.Set; ...@@ -46,6 +50,7 @@ import java.util.Set;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021/6/22 9:43 * @date 2021/6/22 9:43
*/ */
@Api(tags = "支付测试")
@RestController @RestController
@RequestMapping("/api/paytest") @RequestMapping("/api/paytest")
public class PaytestController extends CommonCtrl { public class PaytestController extends CommonCtrl {
...@@ -55,9 +60,14 @@ public class PaytestController extends CommonCtrl { ...@@ -55,9 +60,14 @@ public class PaytestController extends CommonCtrl {
@Autowired private SysConfigService sysConfigService; @Autowired private SysConfigService sysConfigService;
/** 查询商户对应应用下支持的支付方式 **/ /** 查询商户对应应用下支持的支付方式 **/
@ApiOperation("查询商户对应应用下支持的支付方式")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true)
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_TEST_PAYWAY_LIST')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_TEST_PAYWAY_LIST')")
@GetMapping("/payways/{appId}") @GetMapping("/payways/{appId}")
public ApiRes payWayList(@PathVariable("appId") String appId) { public ApiRes<Set<String>> payWayList(@PathVariable("appId") String appId) {
Set<String> payWaySet = new HashSet<>(); Set<String> payWaySet = new HashSet<>();
mchPayPassageService.list( mchPayPassageService.list(
...@@ -72,6 +82,24 @@ public class PaytestController extends CommonCtrl { ...@@ -72,6 +82,24 @@ public class PaytestController extends CommonCtrl {
/** 调起下单接口 **/ /** 调起下单接口 **/
@ApiOperation("调起下单接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "iToken", value = "用户身份凭证", required = true, paramType = "header"),
@ApiImplicitParam(name = "mchOrderNo", value = "商户订单号", required = true),
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "wayCode", value = "支付方式代码", required = true),
@ApiImplicitParam(name = "amount", value = "转账金额,单位元", required = true),
@ApiImplicitParam(name = "returnUrl", value = "页面跳转地址", required = true),
@ApiImplicitParam(name = "divisionMode", value = "订单分账模式:0-该笔订单不允许分账, 1-支付成功按配置自动完成分账, 2-商户手动分账(解冻商户金额)", required = true),
@ApiImplicitParam(name = "orderTitle", value = "订单标题", required = true),
@ApiImplicitParam(name = "expiredTime", value = "过期时间"),
@ApiImplicitParam(name = "clientIp", value = "客户端IP"),
@ApiImplicitParam(name = "notifyUrl", value = "通知地址"),
@ApiImplicitParam(name = "channelExtra", value = "特定渠道发起时额外参数"),
@ApiImplicitParam(name = "payDataType", value = "支付数据包 类型,eg:form--表单提交,wxapp--微信app参数,aliapp--支付宝app参数,ysfapp--云闪付app参数,codeUrl--二维码URL,codeImgUrl--二维码图片显示URL,none--无参数"),
@ApiImplicitParam(name = "authCode", value = "支付条码"),
@ApiImplicitParam(name = "extParam", value = "扩展参数")
})
@PreAuthorize("hasAuthority('ENT_MCH_PAY_TEST_DO')") @PreAuthorize("hasAuthority('ENT_MCH_PAY_TEST_DO')")
@PostMapping("/payOrders") @PostMapping("/payOrders")
public ApiRes doPay() { public ApiRes doPay() {
......
...@@ -17,15 +17,15 @@ package com.jeequan.jeepay.mch.ctrl.paytest; ...@@ -17,15 +17,15 @@ package com.jeequan.jeepay.mch.ctrl.paytest;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.jeequan.jeepay.core.entity.MchApp; import com.jeequan.jeepay.core.entity.MchApp;
import com.jeequan.jeepay.core.model.OriginalRes;
import com.jeequan.jeepay.mch.ctrl.CommonCtrl; import com.jeequan.jeepay.mch.ctrl.CommonCtrl;
import com.jeequan.jeepay.mch.websocket.server.WsPayOrderServer; import com.jeequan.jeepay.mch.websocket.server.WsPayOrderServer;
import com.jeequan.jeepay.service.impl.MchAppService; import com.jeequan.jeepay.service.impl.MchAppService;
import com.jeequan.jeepay.service.impl.MchPayPassageService;
import com.jeequan.jeepay.service.impl.SysConfigService;
import com.jeequan.jeepay.util.JeepayKit; import com.jeequan.jeepay.util.JeepayKit;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -38,12 +38,19 @@ import java.io.IOException; ...@@ -38,12 +38,19 @@ import java.io.IOException;
* @site https://www.jeequan.com * @site https://www.jeequan.com
* @date 2021/6/22 14:22 * @date 2021/6/22 14:22
*/ */
@Api(tags = "支付测试")
@RestController @RestController
@RequestMapping("/api/anon/paytestNotify") @RequestMapping("/api/anon/paytestNotify")
public class PaytestNotifyController extends CommonCtrl { public class PaytestNotifyController extends CommonCtrl {
@Autowired private MchAppService mchAppService; @Autowired private MchAppService mchAppService;
@ApiOperation("支付回调信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "appId", value = "应用ID", required = true),
@ApiImplicitParam(name = "mchNo", value = "商户号", required = true),
@ApiImplicitParam(name = "sign", value = "签名值", required = true)
})
@RequestMapping("/payOrder") @RequestMapping("/payOrder")
public void payOrderNotify() throws IOException { public void payOrderNotify() throws IOException {
......
Supports Markdown
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