修改 WuyouPay 为 service
This commit is contained in:
@@ -71,13 +71,12 @@ public class WuyouController {
|
||||
private final CashOutDao cashOutDao;
|
||||
private final CompletAwardService completAwardService;
|
||||
private final SysUserService sysUserService;
|
||||
private final ApplicationContext applicationContext;
|
||||
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);
|
||||
private final WuyouPay wuyouPay;
|
||||
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, UserService userService, InviteService inviteService, CashOutDao cashOutDao,
|
||||
UserMoneyService userMoneyService, UserMoneyDetailsService userMoneyDetailsService, CommonInfoService commonRepository,
|
||||
InviteDao inviteDao, CompletAwardService completAwardService, SysUserService sysUserService, ApplicationContext applicationContext) {
|
||||
InviteDao inviteDao, CompletAwardService completAwardService, SysUserService sysUserService, WuyouPay wuyouPay) {
|
||||
this.ordersService = ordersService;
|
||||
this.payDetailsDao = payDetailsDao;
|
||||
this.userService = userService;
|
||||
@@ -89,7 +88,7 @@ public class WuyouController {
|
||||
this.inviteDao = inviteDao;
|
||||
this.completAwardService = completAwardService;
|
||||
this.sysUserService = sysUserService;
|
||||
this.applicationContext = applicationContext;
|
||||
this.wuyouPay = wuyouPay;
|
||||
}
|
||||
|
||||
@Debounce(interval = 1000, value = "#orderId")
|
||||
@@ -130,7 +129,7 @@ public class WuyouController {
|
||||
return Result.success().put("data", data);
|
||||
}
|
||||
|
||||
BaseResp baseResp = WuyouPay.payOrder(payDetails.getTradeNo(), order.getPayMoney().toString(),
|
||||
BaseResp baseResp = wuyouPay.payOrder(payDetails.getTradeNo(), order.getPayMoney().toString(),
|
||||
request.getHeader("User-Agent"), String.format("%d-%d", order.getCourseId(), order.getCourseDetailsId()),
|
||||
payType);
|
||||
if (baseResp.getCode() == null) {
|
||||
@@ -160,7 +159,7 @@ public class WuyouController {
|
||||
return Result.success().put("data", 1);
|
||||
}
|
||||
|
||||
BaseResp baseResp = WuyouPay.queryOrder(payDetails.getTradeNo(), order.getPayMoney().toString(), request.getHeader("User-Agent"));
|
||||
BaseResp baseResp = wuyouPay.queryOrder(payDetails.getTradeNo(), order.getPayMoney().toString(), request.getHeader("User-Agent"));
|
||||
if (baseResp.getCode() == null || baseResp.getCode() != 200) {
|
||||
return Result.success().put("data", 0);
|
||||
}
|
||||
|
||||
@@ -100,6 +100,9 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
||||
@Autowired
|
||||
private UserDao userDao;
|
||||
|
||||
@Autowired
|
||||
private WuyouPay wuyouPay;
|
||||
|
||||
@Override
|
||||
public PageUtils selectCashOutList(Integer page, Integer limit, CashOut cashOut) {
|
||||
return new PageUtils(baseMapper.selectCashOutPage(new Page<>(page, limit), cashOut));
|
||||
@@ -503,9 +506,9 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
||||
return Result.success("可提现余额不足!");
|
||||
}
|
||||
|
||||
if (WuyouPay.checkCanCash(userId, WithdrawTypeEnum.MANUAL, new BigDecimal(money.toString()))) {
|
||||
if (wuyouPay.checkCanCash(userId, WithdrawTypeEnum.MANUAL, new BigDecimal(money.toString()))) {
|
||||
cashOut.setStatus(4);
|
||||
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
||||
BaseResp baseResp = wuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
||||
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
|
||||
userMoneyDetails.setContent("成功提现:" + money);
|
||||
cashOut.setState(1);
|
||||
@@ -590,7 +593,7 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
|
||||
entity.setOrderNumber(outOrderNo);
|
||||
}
|
||||
// 执行提现操作
|
||||
BaseResp baseResp = WuyouPay.extractOrder(entity.getOrderNumber(), entity.getMoney(), entity.getZhifubao(), entity.getZhifubaoName());
|
||||
BaseResp baseResp = wuyouPay.extractOrder(entity.getOrderNumber(), entity.getMoney(), entity.getZhifubao(), entity.getZhifubaoName());
|
||||
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
|
||||
entity.setState(1);
|
||||
} else if (StringUtils.isNotBlank(baseResp.getErrorMsg())) {
|
||||
|
||||
@@ -10,7 +10,8 @@ import com.sqx.modules.pay.dao.CashOutDao;
|
||||
import com.sqx.modules.pay.entity.WithdrawTypeEnum;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
@@ -19,48 +20,39 @@ import java.util.Map;
|
||||
/**
|
||||
* @author GYJ
|
||||
*/
|
||||
@Component
|
||||
@Service
|
||||
public class WuyouPay {
|
||||
|
||||
static String NOTIFY_URL = "";
|
||||
static String EXTRACT_NOTIFY_URL = "";
|
||||
static String H5_BASE_URL = "";
|
||||
@Value("${pay.orderNotifyUrl}")
|
||||
private String notifyUrl = "";
|
||||
@Value("${pay.extractNotifyUrl}")
|
||||
private String extractNotifyUrl = "";
|
||||
@Value("${pay.h5BaseUrl}")
|
||||
private String h5BaseUrl = "";
|
||||
|
||||
private static CashOutDao cashOutDao;
|
||||
private static CommonInfoService commonInfoService;
|
||||
private final CashOutDao cashOutDao;
|
||||
private final CommonInfoService commonInfoService;
|
||||
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(WuyouPay.class);
|
||||
|
||||
public WuyouPay(CashOutDao cashOutDao, CommonInfoService commonInfoService) {
|
||||
WuyouPay.cashOutDao = cashOutDao;
|
||||
WuyouPay.commonInfoService = commonInfoService;
|
||||
this.cashOutDao = cashOutDao;
|
||||
this.commonInfoService = commonInfoService;
|
||||
}
|
||||
|
||||
public static void setNotifyUrl(String notifyUrl) {
|
||||
NOTIFY_URL = notifyUrl;
|
||||
}
|
||||
|
||||
public static void setExtractNotifyUrl(String extractNotifyUrl) {
|
||||
EXTRACT_NOTIFY_URL = extractNotifyUrl;
|
||||
}
|
||||
|
||||
public static void setH5BaseUrl(String h5BaseUrl) {
|
||||
H5_BASE_URL = h5BaseUrl;
|
||||
}
|
||||
|
||||
public static BaseResp payOrder(String orderNo, String amount, String userAgent, String allId, String payType) {
|
||||
public BaseResp payOrder(String orderNo, String amount, String userAgent, String allId, String payType) {
|
||||
Map<String, Object> params = getBaseParams();
|
||||
params.put("type", "6001");
|
||||
params.put("is_code", "1");
|
||||
params.put("out_trade_no", orderNo);
|
||||
params.put("total", amount);
|
||||
params.put("notify_url", NOTIFY_URL);
|
||||
params.put("notify_url", notifyUrl);
|
||||
|
||||
String sign = Encrypt.getParamsSign(params);
|
||||
params.put("sign", sign);
|
||||
if ("h5".equals(payType)) {
|
||||
params.put("return_url", H5_BASE_URL + allId);
|
||||
params.put("return_url", h5BaseUrl + allId);
|
||||
}
|
||||
|
||||
// https://dj-h5.hnsiyao.cn/me/detail/detail?allId=1230-98688
|
||||
@@ -70,7 +62,7 @@ public class WuyouPay {
|
||||
return JSONObject.parseObject(body, BaseResp.class);
|
||||
}
|
||||
|
||||
public static BaseResp queryOrder(String orderNo, String amount, String userAgent) {
|
||||
public BaseResp queryOrder(String orderNo, String amount, String userAgent) {
|
||||
Map<String, Object> params = getBaseParams();
|
||||
params.put("out_trade_no", orderNo);
|
||||
params.put("total", amount);
|
||||
@@ -82,10 +74,10 @@ public class WuyouPay {
|
||||
return JSONObject.parseObject(body, BaseResp.class);
|
||||
}
|
||||
|
||||
public static boolean checkCanCash(long userId, WithdrawTypeEnum type, BigDecimal money) {
|
||||
public boolean checkCanCash(long userId, WithdrawTypeEnum type, BigDecimal money) {
|
||||
if (WithdrawTypeEnum.MANUAL.equals(type)) {
|
||||
// 查询当日体现次数
|
||||
Integer successCashCount = cashOutDao.selectTodayCashCount(userId, 1, DateUtil.today()+ " 00:00:00");
|
||||
Integer successCashCount = cashOutDao.selectTodayCashCount(userId, 1, DateUtil.today() + " 00:00:00");
|
||||
CommonInfo cashLimit = commonInfoService.findOne(922);
|
||||
if (cashLimit == null || StrUtil.isBlank(cashLimit.getValue())) {
|
||||
logger.warn("提现必要参数未配置,请联系管理员");
|
||||
@@ -102,7 +94,7 @@ public class WuyouPay {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean checkCanCashByLimit(BigDecimal money) {
|
||||
public boolean checkCanCashByLimit(BigDecimal money) {
|
||||
CommonInfo info = commonInfoService.findOne(923);
|
||||
if (info == null || StrUtil.isBlank(info.getValue())) {
|
||||
logger.warn("未配置提现限制,请联系管理员配置");
|
||||
@@ -114,11 +106,11 @@ public class WuyouPay {
|
||||
|
||||
/**
|
||||
* 提现
|
||||
* @param account 支付宝账号
|
||||
* @param userName 支付宝名称
|
||||
* @return
|
||||
*
|
||||
* @param account 支付宝账号
|
||||
* @param userName 支付宝名称
|
||||
*/
|
||||
public static BaseResp extractOrder(String outOrderNo, String amount, String account, String userName) {
|
||||
public BaseResp extractOrder(String outOrderNo, String amount, String account, String userName) {
|
||||
Map<String, Object> params = getBaseParams();
|
||||
|
||||
params.put("out_trade_no", outOrderNo);
|
||||
@@ -129,7 +121,7 @@ public class WuyouPay {
|
||||
params.put("bank_branch", "1");
|
||||
params.put("province", "1");
|
||||
params.put("city", "1");
|
||||
params.put("notify_url", EXTRACT_NOTIFY_URL);
|
||||
params.put("notify_url", extractNotifyUrl);
|
||||
|
||||
String sign = Encrypt.getParamsSign(params);
|
||||
params.put("sign", sign);
|
||||
@@ -141,7 +133,7 @@ public class WuyouPay {
|
||||
return JSONObject.parseObject(body, BaseResp.class);
|
||||
}
|
||||
|
||||
public static BaseResp queryExtractOrder(String outOrderNo, String amount) {
|
||||
public BaseResp queryExtractOrder(String outOrderNo, String amount) {
|
||||
Map<String, Object> params = getBaseParams();
|
||||
params.put("out_trade_no", outOrderNo);
|
||||
params.put("total", amount);
|
||||
@@ -153,7 +145,7 @@ public class WuyouPay {
|
||||
return JSONObject.parseObject(body, BaseResp.class);
|
||||
}
|
||||
|
||||
private static Map<String, Object> getBaseParams() {
|
||||
private Map<String, Object> getBaseParams() {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("mch_id", Constants.MERCHANT_ID);
|
||||
params.put("timestamp", System.currentTimeMillis() / 1000);
|
||||
@@ -161,7 +153,7 @@ public class WuyouPay {
|
||||
return params;
|
||||
}
|
||||
|
||||
private static String request(String url, Map<String, Object> params, String userAgent) {
|
||||
private String request(String url, Map<String, Object> params, String userAgent) {
|
||||
String body = HttpRequest.post(url)
|
||||
.header("Content-Type", "application/x-www-form-urlencoded")
|
||||
.header("User-Agent", userAgent)
|
||||
@@ -181,6 +173,6 @@ public class WuyouPay {
|
||||
// extractOrder("20221118123456793", "1", "1157756119@qq.com", "巩奕杰");
|
||||
// queryExtractOrder("20221118123456793", "1");
|
||||
|
||||
System.out.println(DateUtil.today()+ " 00:00:00");
|
||||
System.out.println(DateUtil.today() + " 00:00:00");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user