Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.controller;
|
package com.chaozhanggui.system.cashierservice.controller;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alipay.api.AlipayApiException;
|
import com.alipay.api.AlipayApiException;
|
||||||
import com.alipay.api.AlipayClient;
|
import com.alipay.api.AlipayClient;
|
||||||
@@ -11,11 +12,14 @@ import com.alipay.api.request.AlipayUserInfoShareRequest;
|
|||||||
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
|
import com.alipay.api.response.AlipaySystemOauthTokenResponse;
|
||||||
import com.alipay.api.response.AlipayUserInfoShareResponse;
|
import com.alipay.api.response.AlipayUserInfoShareResponse;
|
||||||
import com.chaozhanggui.system.cashierservice.annotation.LimitSubmit;
|
import com.chaozhanggui.system.cashierservice.annotation.LimitSubmit;
|
||||||
|
import com.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.TbOrderDetail;
|
import com.chaozhanggui.system.cashierservice.entity.TbOrderDetail;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopInfo;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.ReturnGroupOrderDto;
|
import com.chaozhanggui.system.cashierservice.entity.dto.ReturnGroupOrderDto;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.dto.VipPayDTO;
|
import com.chaozhanggui.system.cashierservice.entity.dto.VipPayDTO;
|
||||||
import com.chaozhanggui.system.cashierservice.model.PaymentReq;
|
import com.chaozhanggui.system.cashierservice.model.PaymentReq;
|
||||||
import com.chaozhanggui.system.cashierservice.service.PayService;
|
import com.chaozhanggui.system.cashierservice.service.PayService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.ShopInfoService;
|
||||||
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
||||||
import com.chaozhanggui.system.cashierservice.sign.Result;
|
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||||
import com.chaozhanggui.system.cashierservice.util.IpUtil;
|
import com.chaozhanggui.system.cashierservice.util.IpUtil;
|
||||||
@@ -32,7 +36,9 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@CrossOrigin(origins = "*")
|
@CrossOrigin(origins = "*")
|
||||||
@@ -40,26 +46,26 @@ import java.util.Objects;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@RequestMapping("pay")
|
@RequestMapping("pay")
|
||||||
public class PayController {
|
public class PayController {
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
PayService payService;
|
PayService payService;
|
||||||
|
@Autowired
|
||||||
|
private ShopInfoService shopInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
TbShopInfoMapper tbShopInfoMapper;
|
||||||
|
|
||||||
@RequestMapping("queryPayType")
|
@RequestMapping("queryPayType")
|
||||||
public Result queryPayType( @RequestHeader("token") String token,
|
public Result queryPayType(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("shopId") String shopId
|
@RequestParam("shopId") String shopId) {
|
||||||
|
|
||||||
){
|
|
||||||
return payService.queryPayType(shopId);
|
return payService.queryPayType(shopId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扫码支付
|
* 扫码支付
|
||||||
|
*
|
||||||
* @param request
|
* @param request
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
@@ -72,56 +78,55 @@ public class PayController {
|
|||||||
@RequestHeader("token") String token,
|
@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody PaymentReq paymentReq
|
@RequestBody PaymentReq paymentReq) {
|
||||||
) {
|
return payService.scanPay(paymentReq.getOrderId(), paymentReq.getAuthCode(), IpUtil.getIpAddr(request), token, paymentReq.getPayAmount(), paymentReq.getDiscountAmount());
|
||||||
return payService.scanPay(paymentReq.getOrderId(),paymentReq.getAuthCode(), IpUtil.getIpAddr(request),token,paymentReq.getPayAmount(),paymentReq.getDiscountAmount());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 储值卡支付
|
* 储值卡支付
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@RequestMapping("accountPay")
|
@RequestMapping("accountPay")
|
||||||
@LimitSubmit(key = "accountPay:%s")
|
@LimitSubmit(key = "accountPay:%s")
|
||||||
public Result accountPay(@RequestHeader("token") String token,
|
public Result accountPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody PaymentReq paymentReq
|
@RequestBody PaymentReq paymentReq) {
|
||||||
){
|
return payService.accountPay(paymentReq.getOrderId(), paymentReq.getMemberId(), token, paymentReq.getMemberAccount(), paymentReq.getPayAmount(), paymentReq.getDiscountAmount());
|
||||||
return payService.accountPay(paymentReq.getOrderId(),paymentReq.getMemberId(),token,paymentReq.getMemberAccount(),paymentReq.getPayAmount(),paymentReq.getDiscountAmount());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 快捷收款
|
* 快捷收款
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
* @param amount
|
* @param amount
|
||||||
* @param authCode
|
* @param authCode
|
||||||
* @param payType cash 现金 scanpay 扫码
|
* @param payType cash 现金 scanpay 扫码
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("quickPay")
|
@GetMapping("quickPay")
|
||||||
@LimitSubmit(key = "quickPay:%s")
|
@LimitSubmit(key = "quickPay:%s")
|
||||||
public Result quickPay(@RequestHeader("token") String token,
|
public Result quickPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("amount") String amount,
|
@RequestParam("amount") String amount,
|
||||||
@RequestParam("authCode") String authCode,
|
@RequestParam("authCode") String authCode,
|
||||||
@RequestParam("payType") String payType
|
@RequestParam("payType") String payType) {
|
||||||
){
|
return payService.quickPay(token, amount, authCode, payType);
|
||||||
return payService.quickPay(token,amount,authCode,payType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询快捷订单状态
|
* 查询快捷订单状态
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
@@ -129,16 +134,16 @@ public class PayController {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("queryQuickPayStatus")
|
@GetMapping("queryQuickPayStatus")
|
||||||
public Result queryQuickPayStatus(@RequestHeader("token") String token,
|
public Result queryQuickPayStatus(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("orderId") String orderId
|
@RequestParam("orderId") String orderId) {
|
||||||
){
|
|
||||||
return payService.queryQuickPayStatus(orderId);
|
return payService.queryQuickPayStatus(orderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取快捷收款信息
|
* 获取快捷收款信息
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
@@ -148,21 +153,16 @@ public class PayController {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("queryQuickPay")
|
@GetMapping("queryQuickPay")
|
||||||
public Result queryQuickPay(@RequestHeader("token") String token,
|
public Result queryQuickPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("page") Integer page,
|
@RequestParam("page") Integer page,
|
||||||
@RequestParam("pageSize") Integer pageSize
|
@RequestParam("pageSize") Integer pageSize) {
|
||||||
){
|
return payService.queryQuickPay(token, page, pageSize);
|
||||||
return payService.queryQuickPay(token,page,pageSize);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员扫码支付
|
* 会员扫码支付
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
@@ -171,17 +171,16 @@ public class PayController {
|
|||||||
@RequestMapping("memberScanPay")
|
@RequestMapping("memberScanPay")
|
||||||
@LimitSubmit(key = "memberScanPay:%s")
|
@LimitSubmit(key = "memberScanPay:%s")
|
||||||
public Result memberScanPay(@RequestHeader("token") String token,
|
public Result memberScanPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody PaymentReq paymentReq
|
@RequestBody PaymentReq paymentReq) {
|
||||||
){
|
return payService.memberScanPay(paymentReq.getOrderId(), paymentReq.getMemberCode(), token, paymentReq.getPayAmount(), paymentReq.getDiscountAmount());
|
||||||
return payService.memberScanPay(paymentReq.getOrderId(),paymentReq.getMemberCode(),token,paymentReq.getPayAmount(),paymentReq.getDiscountAmount());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 现金支付
|
* 现金支付
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
@@ -192,14 +191,14 @@ public class PayController {
|
|||||||
public Result cashPay(@RequestHeader("token") String token,
|
public Result cashPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody PaymentReq paymentReq){
|
@RequestBody PaymentReq paymentReq) {
|
||||||
Result result = payService.cashPay(paymentReq.getOrderId(), token, paymentReq.getPayAmount(), paymentReq.getDiscountAmount());
|
Result result = payService.cashPay(paymentReq.getOrderId(), token, paymentReq.getPayAmount(), paymentReq.getDiscountAmount());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员支付
|
* 会员支付
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
@@ -208,29 +207,23 @@ public class PayController {
|
|||||||
@PostMapping("vipPay")
|
@PostMapping("vipPay")
|
||||||
@LimitSubmit(key = "vipPay:%s")
|
@LimitSubmit(key = "vipPay:%s")
|
||||||
public Result vipPay(@RequestHeader("token") String token,
|
public Result vipPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody VipPayDTO vipPayDTO
|
@RequestBody VipPayDTO vipPayDTO) {
|
||||||
){
|
|
||||||
if (vipPayDTO.getOrderId() == null || vipPayDTO.getVipUserId() == null) {
|
if (vipPayDTO.getOrderId() == null || vipPayDTO.getVipUserId() == null) {
|
||||||
return Result.fail("参数缺失");
|
return Result.fail("参数缺失");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if ((vipPayDTO.getPayAmount() != null && vipPayDTO.getPayAmount().compareTo(BigDecimal.ZERO) <= 0) ||
|
||||||
(vipPayDTO.getPayAmount() != null && vipPayDTO.getPayAmount().compareTo(BigDecimal.ZERO) <= 0) ||
|
(vipPayDTO.getDiscountAmount() != null && vipPayDTO.getDiscountAmount().compareTo(BigDecimal.ZERO) <= 0)) {
|
||||||
(vipPayDTO.getDiscountAmount() != null && vipPayDTO.getDiscountAmount().compareTo(BigDecimal.ZERO) <= 0)
|
|
||||||
) {
|
|
||||||
return Result.fail("折扣金额必须大于0");
|
return Result.fail("折扣金额必须大于0");
|
||||||
}
|
}
|
||||||
return payService.vipPay(vipPayDTO.getOrderId(),token, vipPayDTO.getVipUserId(), vipPayDTO.getPayAmount(), vipPayDTO.getDiscountAmount());
|
return payService.vipPay(vipPayDTO.getOrderId(), token, vipPayDTO.getVipUserId(), vipPayDTO.getPayAmount(), vipPayDTO.getDiscountAmount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 银行卡支付
|
* 银行卡支付
|
||||||
|
*
|
||||||
* @param token
|
* @param token
|
||||||
* @param loginName
|
* @param loginName
|
||||||
* @param clientType
|
* @param clientType
|
||||||
@@ -241,12 +234,10 @@ public class PayController {
|
|||||||
public Result bankPay(@RequestHeader("token") String token,
|
public Result bankPay(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody PaymentReq paymentReq){
|
@RequestBody PaymentReq paymentReq) {
|
||||||
return payService.bankPay(paymentReq.getOrderId(),token,paymentReq.getPayAmount(),paymentReq.getDiscountAmount());
|
return payService.bankPay(paymentReq.getOrderId(), token, paymentReq.getPayAmount(), paymentReq.getDiscountAmount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("returnOrder")
|
@RequestMapping("returnOrder")
|
||||||
@LimitSubmit(key = "returnOrder:%s", limit = 10)
|
@LimitSubmit(key = "returnOrder:%s", limit = 10)
|
||||||
public Result returnOrder(@RequestHeader("token") String token,
|
public Result returnOrder(@RequestHeader("token") String token,
|
||||||
@@ -254,12 +245,8 @@ public class PayController {
|
|||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestBody List<TbOrderDetail> list,
|
@RequestBody List<TbOrderDetail> list,
|
||||||
@RequestParam("pwd") String pwd,
|
@RequestParam("pwd") String pwd,
|
||||||
@RequestParam(defaultValue = "true") boolean isOnline
|
@RequestParam(defaultValue = "true") boolean isOnline) {
|
||||||
){
|
return payService.returnOrder(list, token, pwd, isOnline);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return payService.returnOrder(list,token,pwd, isOnline);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -267,55 +254,46 @@ public class PayController {
|
|||||||
public Result queryOrder(@RequestHeader("token") String token,
|
public Result queryOrder(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("orderId") String orderId){
|
@RequestParam("orderId") String orderId) {
|
||||||
return payService.queryOrder(orderId,token);
|
return payService.queryOrder(orderId, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("returnGpOrder")
|
@RequestMapping("returnGpOrder")
|
||||||
public Result returnOrder(@RequestBody ReturnGroupOrderDto param){
|
public Result returnOrder(@RequestBody ReturnGroupOrderDto param) {
|
||||||
return payService.returnGroupOrder(param);
|
return payService.returnGroupOrder(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("test")
|
@RequestMapping("test")
|
||||||
@LimitSubmit(key = "testOrder:%s")
|
@LimitSubmit(key = "testOrder:%s")
|
||||||
public Result testOrder( @RequestParam("orderId") String orderId){
|
public Result testOrder(@RequestParam("orderId") String orderId) {
|
||||||
return Result.success(CodeEnum.SUCCESS);
|
return Result.success(CodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("getOrderDiscount")
|
@RequestMapping("getOrderDiscount")
|
||||||
public Result getOrderDiscount(@RequestHeader("token") String token,
|
public Result getOrderDiscount(@RequestHeader("token") String token,
|
||||||
@RequestHeader("loginName") String loginName,
|
@RequestHeader("loginName") String loginName,
|
||||||
@RequestHeader("clientType") String clientType,
|
@RequestHeader("clientType") String clientType,
|
||||||
@RequestParam("orderId") String orderId,
|
@RequestParam("orderId") String orderId,
|
||||||
@RequestParam("staffId") String staffId
|
@RequestParam("staffId") String staffId) {
|
||||||
){
|
|
||||||
return payService.getOrderDiscount(staffId, orderId, token);
|
return payService.getOrderDiscount(staffId, orderId, token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("pcscanpay")
|
@RequestMapping("pcscanpay")
|
||||||
@LimitSubmit(key = "pcscanpay:%s")
|
@LimitSubmit(key = "pcscanpay:%s")
|
||||||
public Result pcscanpay(HttpServletRequest request,@RequestBody PaymentReq paymentReq){
|
public Result pcscanpay(HttpServletRequest request, @RequestBody PaymentReq paymentReq) {
|
||||||
try {
|
try {
|
||||||
return payService.pcscanpay(paymentReq.getOrderId(),IpUtil.getIpAddr(request),paymentReq.getUserId(),paymentReq.getPayType());
|
return payService.pcscanpay(paymentReq.getOrderId(), IpUtil.getIpAddr(request), paymentReq.getUserId(), paymentReq.getPayType());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return Result.fail(CodeEnum.FAIL);
|
return Result.fail(CodeEnum.FAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("createOrder")
|
@RequestMapping("createOrder")
|
||||||
public Result createOrder(HttpServletRequest request,@RequestBody PaymentReq paymentReq){
|
public Result createOrder(HttpServletRequest request, @RequestBody PaymentReq paymentReq) {
|
||||||
try {
|
try {
|
||||||
return payService.createOrder(IpUtil.getIpAddr(request),paymentReq.getUserId(),paymentReq.getPayType(),paymentReq.getShopId(),paymentReq.getPayAmount());
|
return payService.createOrder(IpUtil.getIpAddr(request), paymentReq.getUserId(), paymentReq.getPayType(),
|
||||||
|
paymentReq.getShopId(), paymentReq.getOrderId(), paymentReq.getPayAmount(), paymentReq.getRemark());
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JsonProcessingException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -324,24 +302,16 @@ public class PayController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("queryOrderPay")
|
@GetMapping("queryOrderPay")
|
||||||
public Result queryOrderPay(String orderId){
|
public Result queryOrderPay(String orderId) {
|
||||||
return payService.queryOrderPay(orderId);
|
return payService.queryOrderPay(orderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Value("${wx.ysk.appId}")
|
@Value("${wx.ysk.appId}")
|
||||||
private String appId;
|
private String appId;
|
||||||
|
|
||||||
@Value("${wx.ysk.secrete}")
|
@Value("${wx.ysk.secrete}")
|
||||||
private String secrete;
|
private String secrete;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Value("${ali.appId}")
|
@Value("${ali.appId}")
|
||||||
private String aliAppId;
|
private String aliAppId;
|
||||||
|
|
||||||
@@ -352,39 +322,45 @@ public class PayController {
|
|||||||
private String publicKey;
|
private String publicKey;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取支付宝或微信openId
|
* 获取支付宝或微信openId
|
||||||
|
*
|
||||||
* @param code
|
* @param code
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/openId")
|
@GetMapping("/openId")
|
||||||
public Result getOpenId(
|
public Result getOpenId(@RequestParam String code, @RequestParam String payType,
|
||||||
@RequestParam String code,
|
@RequestParam String shopId) throws AlipayApiException {
|
||||||
@RequestParam String payType
|
if (StrUtil.isBlank(shopId)) {
|
||||||
) throws AlipayApiException {
|
return Result.fail("店铺ID不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
if("WECHAT".equals(payType)){
|
// 查询店铺信息
|
||||||
|
TbShopInfo shopInfo = tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(shopId));
|
||||||
|
if (Objects.isNull(shopInfo)) {
|
||||||
|
return Result.fail("店铺不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, Object> data = new HashMap<>(4);
|
||||||
|
data.put("shopId", shopInfo.getId());
|
||||||
|
data.put("shopName", shopInfo.getShopName());
|
||||||
|
data.put("shopImage", shopInfo.getCoverImg());
|
||||||
|
|
||||||
|
if ("WECHAT".equals(payType)) {
|
||||||
JSONObject SessionKeyOpenId = WechatUtil.getSessionKeyOrOpenId(code, appId, secrete);
|
JSONObject SessionKeyOpenId = WechatUtil.getSessionKeyOrOpenId(code, appId, secrete);
|
||||||
log.info("SessionKeyOpenId:{}",SessionKeyOpenId.toString());
|
log.info("SessionKeyOpenId:{}", SessionKeyOpenId.toString());
|
||||||
String openid = SessionKeyOpenId.getString("openid");
|
String openid = SessionKeyOpenId.getString("openid");
|
||||||
if(Objects.isNull(openid)){
|
if (Objects.isNull(openid)) {
|
||||||
return Result.fail("获取微信id失败");
|
return Result.fail("获取微信id失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS,openid);
|
data.put("openId", openid);
|
||||||
}else if("ALIPAY".equals(payType)){
|
return Result.success(CodeEnum.SUCCESS, data);
|
||||||
|
} else if ("ALIPAY".equals(payType)) {
|
||||||
|
|
||||||
// 初始化SDK
|
// 初始化SDK
|
||||||
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||||
|
|
||||||
// 构造请求参数以调用接口
|
// 构造请求参数以调用接口
|
||||||
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
|
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
|
||||||
|
|
||||||
// 设置刷新令牌
|
|
||||||
// request.setRefreshToken("201208134b203fe6c11548bcabd8da5bb087a83b");
|
|
||||||
|
|
||||||
// 设置授权码
|
// 设置授权码
|
||||||
request.setCode(code);
|
request.setCode(code);
|
||||||
|
|
||||||
@@ -400,15 +376,17 @@ public class PayController {
|
|||||||
return Result.fail("获取支付宝userId失败");
|
return Result.fail("获取支付宝userId失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS, ObjectUtil.isNull(response.getUserId())?response.getOpenId():response.getUserId());
|
String openid = ObjectUtil.isNull(response.getUserId()) ? response.getOpenId() : response.getUserId();
|
||||||
|
data.put("openId", openid);
|
||||||
|
|
||||||
|
return Result.success(CodeEnum.SUCCESS, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.fail(CodeEnum.FAIL);
|
return Result.fail(CodeEnum.FAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private AlipayConfig getAlipayConfig() {
|
||||||
private AlipayConfig getAlipayConfig() {
|
|
||||||
AlipayConfig alipayConfig = new AlipayConfig();
|
AlipayConfig alipayConfig = new AlipayConfig();
|
||||||
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
|
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
|
||||||
alipayConfig.setAppId(aliAppId);
|
alipayConfig.setAppId(aliAppId);
|
||||||
@@ -421,16 +399,12 @@ public class PayController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
public static void main(String[] args) {
|
||||||
LocalDate date=LocalDate.now();
|
LocalDate date = LocalDate.now();
|
||||||
if(date.isLeapYear()){
|
if (date.isLeapYear()) {
|
||||||
System.out.println();
|
System.out.println();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.controller;
|
||||||
|
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbShopPermissionService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbShopStaffPermissionService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@Slf4j
|
||||||
|
@RequestMapping("staffPermission")
|
||||||
|
public class StaffPermissionController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TbShopPermissionService permissionService;
|
||||||
|
|
||||||
|
@GetMapping
|
||||||
|
public Result getStaffPermission(String staffId, String code) {
|
||||||
|
return permissionService.getStaffPermission(staffId, code);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopPermission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (TbShopPermission)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:08:48
|
||||||
|
*/
|
||||||
|
public interface TbShopPermissionDao extends BaseMapper<TbShopPermission> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺员工权限关联表(TbShopStaffPermission)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:07:33
|
||||||
|
*/
|
||||||
|
public interface TbShopStaffPermissionDao extends BaseMapper<TbShopStaffPermission> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.entity;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (TbShopPermission)表实体类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:08:48
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class TbShopPermission extends Model<TbShopPermission> {
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
//权限类型:staff 员工,
|
||||||
|
private String type;
|
||||||
|
//权限名称
|
||||||
|
private String label;
|
||||||
|
//权限code,为了区分采用汉语拼音
|
||||||
|
private String code;
|
||||||
|
//层级
|
||||||
|
private Integer level;
|
||||||
|
//上级ID
|
||||||
|
private Integer parentId;
|
||||||
|
//是否重要: 重要对应页面红色
|
||||||
|
private Integer isImportant;
|
||||||
|
//排序
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getLevel() {
|
||||||
|
return level;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLevel(Integer level) {
|
||||||
|
this.level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getParentId() {
|
||||||
|
return parentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentId(Integer parentId) {
|
||||||
|
this.parentId = parentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIsImportant() {
|
||||||
|
return isImportant;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsImportant(Integer isImportant) {
|
||||||
|
this.isImportant = isImportant;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSort() {
|
||||||
|
return sort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSort(Integer sort) {
|
||||||
|
this.sort = sort;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) {
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取主键值
|
||||||
|
*
|
||||||
|
* @return 主键值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected Serializable pkVal() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺员工权限关联表(TbShopStaffPermission)表实体类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:07:33
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class TbShopStaffPermission extends Model<TbShopStaffPermission> {
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
//权限ID
|
||||||
|
private Integer permissionId;
|
||||||
|
//员工ID
|
||||||
|
private Integer staffId;
|
||||||
|
//店铺ID
|
||||||
|
private Integer shopId;
|
||||||
|
//用户ID
|
||||||
|
private Integer userId;
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPermissionId() {
|
||||||
|
return permissionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPermissionId(Integer permissionId) {
|
||||||
|
this.permissionId = permissionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getStaffId() {
|
||||||
|
return staffId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStaffId(Integer staffId) {
|
||||||
|
this.staffId = staffId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getShopId() {
|
||||||
|
return shopId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShopId(Integer shopId) {
|
||||||
|
this.shopId = shopId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(Integer userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取主键值
|
||||||
|
*
|
||||||
|
* @return 主键值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected Serializable pkVal() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -28,6 +28,5 @@ public class PaymentReq implements Serializable {
|
|||||||
|
|
||||||
private String shopId;
|
private String shopId;
|
||||||
|
|
||||||
|
private String remark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,8 +66,8 @@ public class ConsService {
|
|||||||
List<TbConsInfoFlow> consInfoFlows=new ArrayList<>();
|
List<TbConsInfoFlow> consInfoFlows=new ArrayList<>();
|
||||||
|
|
||||||
for (TbOrderDetail orderDetail : orderDetails) {
|
for (TbOrderDetail orderDetail : orderDetails) {
|
||||||
// List<TbProskuCon> proskuCons= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
List<TbProskuCon> proskuCons= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
||||||
List<TbProskuCon> proskuCons= tbProskuConMapper.selectByShopIdAndSkuIdAndProductIdAndCheck(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
// List<TbProskuCon> proskuCons= tbProskuConMapper.selectByShopIdAndSkuIdAndProductIdAndCheck(orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
||||||
if(Objects.isNull(proskuCons)||proskuCons.size()<=0){
|
if(Objects.isNull(proskuCons)||proskuCons.size()<=0){
|
||||||
log.info("耗材信息未配置或未开启校验:orderId:{},skuId:{},shopId:{},productId:{}",orderDetail.getOrderId(),orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
log.info("耗材信息未配置或未开启校验:orderId:{},skuId:{},shopId:{},productId:{}",orderDetail.getOrderId(),orderDetail.getProductSkuId(),orderDetail.getShopId(),orderDetail.getProductId());
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -1545,17 +1545,13 @@ public class PayService {
|
|||||||
if (ObjectUtil.isNotNull(orderstatus) && ObjectUtil.isNotEmpty(orderstatus)) {
|
if (ObjectUtil.isNotNull(orderstatus) && ObjectUtil.isNotEmpty(orderstatus)) {
|
||||||
if ("000000".equals(orderstatus.getCode())) {
|
if ("000000".equals(orderstatus.getCode())) {
|
||||||
if ("TRADE_SUCCESS".equals(orderstatus.getObjData().getState())) {
|
if ("TRADE_SUCCESS".equals(orderstatus.getObjData().getState())) {
|
||||||
|
|
||||||
tbQuickPay.setStatus("0");
|
tbQuickPay.setStatus("0");
|
||||||
tbQuickPay.setUpdateTime(new Date());
|
tbQuickPay.setUpdateTime(new Date());
|
||||||
tbQuickPayMapper.updateByPrimaryKeySelective(tbQuickPay);
|
tbQuickPayMapper.updateByPrimaryKeySelective(tbQuickPay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS, tbQuickPay);
|
return Result.success(CodeEnum.SUCCESS, tbQuickPay);
|
||||||
@@ -1858,12 +1854,12 @@ public class PayService {
|
|||||||
return "QR" + date + randomNum;
|
return "QR" + date + randomNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result createOrder(String ip, String userId, String payType, String shopId, BigDecimal amount) throws JsonProcessingException {
|
public Result createOrder(String ip, String userId, String payType, String shopId, String orderId,
|
||||||
|
BigDecimal amount, String remark) throws JsonProcessingException {
|
||||||
|
|
||||||
if (ObjectUtil.isNull(userId) || ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(payType) || ObjectUtil.isNull(payType)
|
if (ObjectUtil.isNull(userId) || ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(payType) ||
|
||||||
|
ObjectUtil.isNull(payType) || ObjectUtil.isNull(shopId) || ObjectUtil.isEmpty(shopId) ||
|
||||||
|| ObjectUtil.isNull(shopId) || ObjectUtil.isEmpty(shopId) || ObjectUtil.isNull(shopId) || ObjectUtil.isNull(amount) || ObjectUtil.isEmpty(amount)
|
ObjectUtil.isNull(shopId) || ObjectUtil.isNull(amount) || ObjectUtil.isEmpty(amount)) {
|
||||||
) {
|
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1873,32 +1869,44 @@ public class PayService {
|
|||||||
return Result.fail(CodeEnum.SHOPINFONOEXIST);
|
return Result.fail(CodeEnum.SHOPINFONOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TbOrderInfo orderInfo;
|
||||||
|
|
||||||
TbOrderInfo orderInfo = new TbOrderInfo();
|
if (StrUtil.isNotBlank(orderId)) {
|
||||||
|
orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
||||||
|
if (ObjectUtil.isNull(orderInfo)) {
|
||||||
|
return Result.fail(CodeEnum.ORDERNOEXIST);
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(remark)) {
|
||||||
|
orderInfo.setRemark(remark);
|
||||||
|
tbOrderInfoMapper.updateByPrimaryKey(orderInfo);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
orderInfo = new TbOrderInfo();
|
||||||
|
|
||||||
String orderNo = generateOrderNumber();
|
String orderNo = generateOrderNumber();
|
||||||
orderInfo.setOrderNo(orderNo);
|
orderInfo.setOrderNo(orderNo);
|
||||||
orderInfo.setSettlementAmount(amount);
|
orderInfo.setSettlementAmount(amount);
|
||||||
orderInfo.setPackFee(BigDecimal.ZERO);
|
orderInfo.setPackFee(BigDecimal.ZERO);
|
||||||
orderInfo.setOriginAmount(amount);
|
orderInfo.setOriginAmount(amount);
|
||||||
orderInfo.setPayAmount(amount);
|
orderInfo.setPayAmount(amount);
|
||||||
orderInfo.setAmount(amount);
|
orderInfo.setAmount(amount);
|
||||||
orderInfo.setRefundAmount(BigDecimal.ZERO);
|
orderInfo.setRefundAmount(BigDecimal.ZERO);
|
||||||
orderInfo.setPayType(payType);
|
orderInfo.setPayType(payType);
|
||||||
orderInfo.setPayAmount(amount);
|
orderInfo.setPayAmount(amount);
|
||||||
orderInfo.setOrderAmount(amount);
|
orderInfo.setOrderAmount(amount);
|
||||||
orderInfo.setSendType("QR");
|
orderInfo.setSendType("QR");
|
||||||
orderInfo.setStatus("WAIT_PAY");
|
orderInfo.setStatus("WAIT_PAY");
|
||||||
orderInfo.setMerchantId(shopInfo.getMerchantId());
|
orderInfo.setMerchantId(shopInfo.getMerchantId());
|
||||||
orderInfo.setShopId(shopId);
|
orderInfo.setShopId(shopId);
|
||||||
orderInfo.setRefundAble(Byte.valueOf("1"));
|
orderInfo.setRefundAble(Byte.valueOf("1"));
|
||||||
orderInfo.setSystemTime(System.currentTimeMillis());
|
orderInfo.setSystemTime(System.currentTimeMillis());
|
||||||
orderInfo.setCreatedAt(System.currentTimeMillis());
|
orderInfo.setCreatedAt(System.currentTimeMillis());
|
||||||
orderInfo.setIsAccepted(Byte.valueOf("1"));
|
orderInfo.setIsAccepted(Byte.valueOf("1"));
|
||||||
orderInfo.setTradeDay(DateUtils.getDay());
|
orderInfo.setTradeDay(DateUtils.getDay());
|
||||||
|
orderInfo.setRemark(remark);
|
||||||
tbOrderInfoMapper.insert(orderInfo);
|
|
||||||
|
|
||||||
|
tbOrderInfoMapper.insert(orderInfo);
|
||||||
|
}
|
||||||
|
|
||||||
TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(orderInfo.getId().toString());
|
TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(orderInfo.getId().toString());
|
||||||
if (ObjectUtil.isEmpty(payment) || payment == null) {
|
if (ObjectUtil.isEmpty(payment) || payment == null) {
|
||||||
@@ -1928,111 +1936,59 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String reqbody = "店铺收款码";
|
String reqbody = "店铺收款码";
|
||||||
|
PublicResp<JspayResp> publicResp = thirdPayService.jspay(url, thirdApply.getAppId(), thirdApply.getAppToken(),
|
||||||
|
reqbody, reqbody, orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(),
|
||||||
|
payType, thirdApply.getSmallAppid(), userId, ip,
|
||||||
|
DateUtils.getSsdfTimes(), thirdApply.getStoreId(), backUrl, backUrl);
|
||||||
|
|
||||||
if("WECHAT".equals(payType)){
|
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
||||||
PublicResp<JspayResp> publicResp = thirdPayService.jspay(url, thirdApply.getAppId(), thirdApply.getAppToken(), reqbody, reqbody, orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(), payType, "WECHAT".equals(payType) ? thirdApply.getSmallAppid() : null, userId, ip, DateUtils.getSsdfTimes(), thirdApply.getStoreId(), backUrl, backUrl);
|
if ("000000".equals(publicResp.getCode())) {
|
||||||
|
JspayResp scanpayResp = publicResp.getObjData();
|
||||||
|
if ("TRADE_SUCCESS".equals(scanpayResp.getState())) {
|
||||||
|
|
||||||
|
payment.setTradeNumber(scanpayResp.getPayOrderId());
|
||||||
|
payment.setUpdatedAt(System.currentTimeMillis());
|
||||||
|
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
||||||
|
|
||||||
|
//处理支付成功的订单
|
||||||
|
orderInfo.setStatus("closed");
|
||||||
|
orderInfo.setPayOrderNo(scanpayResp.getPayOrderId());
|
||||||
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
|
|
||||||
|
|
||||||
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
if ("000000".equals(publicResp.getCode())) {
|
return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo()));
|
||||||
JspayResp scanpayResp = publicResp.getObjData();
|
|
||||||
if ("TRADE_SUCCESS".equals(scanpayResp.getState())) {
|
|
||||||
|
|
||||||
payment.setTradeNumber(scanpayResp.getPayOrderId());
|
} else if ("TRADE_AWAIT".equals(scanpayResp.getState())) {
|
||||||
payment.setUpdatedAt(System.currentTimeMillis());
|
orderInfo.setStatus("paying");
|
||||||
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
orderInfo.setPayOrderNo(payment.getTradeNumber());
|
||||||
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
|
|
||||||
//处理支付成功的订单
|
payment.setTradeNumber(scanpayResp.getPayOrderId());
|
||||||
orderInfo.setStatus("closed");
|
payment.setUpdatedAt(System.currentTimeMillis());
|
||||||
orderInfo.setPayOrderNo(scanpayResp.getPayOrderId());
|
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
|
||||||
|
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
if ("WECHAT".equals(scanpayResp.getPayType())) {
|
||||||
return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo()));
|
orderInfo.setPayType("WECHAT");
|
||||||
|
} else if ("ALIPAY".equals(scanpayResp.getPayType())) {
|
||||||
} else if ("TRADE_AWAIT".equals(scanpayResp.getState())) {
|
orderInfo.setPayType("ALIPAY");
|
||||||
orderInfo.setStatus("paying");
|
} else if ("UNIONPAY".equals(scanpayResp.getPayType())) {
|
||||||
orderInfo.setPayOrderNo(payment.getTradeNumber());
|
orderInfo.setPayType("UNIONPAY");
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
|
||||||
|
|
||||||
payment.setTradeNumber(scanpayResp.getPayOrderId());
|
|
||||||
payment.setUpdatedAt(System.currentTimeMillis());
|
|
||||||
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
|
||||||
|
|
||||||
|
|
||||||
if ("WECHAT".equals(scanpayResp.getPayType())) {
|
|
||||||
orderInfo.setPayType("WECHAT");
|
|
||||||
} else if ("ALIPAY".equals(scanpayResp.getPayType())) {
|
|
||||||
orderInfo.setPayType("ALIPAY");
|
|
||||||
} else if ("UNIONPAY".equals(scanpayResp.getPayType())) {
|
|
||||||
orderInfo.setPayType("UNIONPAY");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
|
||||||
|
|
||||||
Map<String,Object> map=new HashMap<>();
|
|
||||||
|
|
||||||
map.put("orderInfo",orderInfo);
|
|
||||||
map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo()));
|
|
||||||
return Result.success(CodeEnum.PAYING, map);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}else if("ALIPAY".equals(payType)){
|
|
||||||
PublicResp<ApppayResp> publicResp= thirdPayService.apppay(url,thirdApply.getAppId(),thirdApply.getAppToken(),reqbody,reqbody,orderInfo.getOrderAmount().multiply(new BigDecimal(100)).longValue(),payType,ip,DateUtils.getSsdfTimes(),thirdApply.getStoreId(),backUrl,backUrl);
|
|
||||||
|
|
||||||
if (ObjectUtil.isNotNull(publicResp) && ObjectUtil.isNotEmpty(publicResp)) {
|
|
||||||
if ("000000".equals(publicResp.getCode())) {
|
|
||||||
ApppayResp scanpayResp = publicResp.getObjData();
|
|
||||||
if ("TRADE_SUCCESS".equals(scanpayResp.getState())) {
|
|
||||||
|
|
||||||
payment.setTradeNumber(scanpayResp.getPayOrderId());
|
|
||||||
payment.setUpdatedAt(System.currentTimeMillis());
|
|
||||||
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
|
||||||
|
|
||||||
//处理支付成功的订单
|
|
||||||
orderInfo.setStatus("closed");
|
|
||||||
orderInfo.setPayOrderNo(scanpayResp.getPayOrderId());
|
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
|
||||||
|
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
return Result.success(CodeEnum.SUCCESS, mapper.readTree(scanpayResp.getPayInfo()));
|
|
||||||
|
|
||||||
} else if ("TRADE_AWAIT".equals(scanpayResp.getState())) {
|
Map<String,Object> map=new HashMap<>();
|
||||||
orderInfo.setStatus("paying");
|
|
||||||
orderInfo.setPayOrderNo(payment.getTradeNumber());
|
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
|
||||||
|
|
||||||
payment.setTradeNumber(scanpayResp.getPayOrderId());
|
map.put("orderInfo",orderInfo);
|
||||||
payment.setUpdatedAt(System.currentTimeMillis());
|
map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo()));
|
||||||
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
return Result.success(CodeEnum.PAYING, map);
|
||||||
|
|
||||||
|
|
||||||
if ("WECHAT".equals(scanpayResp.getPayType())) {
|
|
||||||
orderInfo.setPayType("WECHAT");
|
|
||||||
} else if ("ALIPAY".equals(scanpayResp.getPayType())) {
|
|
||||||
orderInfo.setPayType("ALIPAY");
|
|
||||||
} else if ("UNIONPAY".equals(scanpayResp.getPayType())) {
|
|
||||||
orderInfo.setPayType("UNIONPAY");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
|
||||||
|
|
||||||
Map<String,Object> map=new HashMap<>();
|
|
||||||
|
|
||||||
map.put("orderInfo",orderInfo);
|
|
||||||
map.put("payInfo",mapper.readTree(scanpayResp.getPayInfo()));
|
|
||||||
return Result.success(CodeEnum.PAYING, map);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return Result.fail(CodeEnum.FAIL);
|
return Result.fail(CodeEnum.FAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopPermission;
|
||||||
|
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (TbShopPermission)表服务接口
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:08:48
|
||||||
|
*/
|
||||||
|
public interface TbShopPermissionService extends IService<TbShopPermission> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询员工是否拥有某个权限
|
||||||
|
*/
|
||||||
|
Result getStaffPermission(String staffId, String code);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺员工权限关联表(TbShopStaffPermission)表服务接口
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:07:33
|
||||||
|
*/
|
||||||
|
public interface TbShopStaffPermissionService extends IService<TbShopStaffPermission> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.chaozhanggui.system.cashierservice.dao.TbShopPermissionDao;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopPermission;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbShopPermissionService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbShopStaffPermissionService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
||||||
|
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (TbShopPermission)表服务实现类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:08:49
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Primary
|
||||||
|
public class TbShopPermissionServiceImpl extends ServiceImpl<TbShopPermissionDao, TbShopPermission> implements TbShopPermissionService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private TbShopStaffPermissionService shopStaffPermissionService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result getStaffPermission(String staffId, String code) {
|
||||||
|
QueryWrapper<TbShopPermission> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("code", code);
|
||||||
|
TbShopPermission permission = this.getOne(queryWrapper);
|
||||||
|
if (permission == null) {
|
||||||
|
return Result.fail("权限不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<TbShopStaffPermission> staffPermissionQueryWrapper = new QueryWrapper<>();
|
||||||
|
staffPermissionQueryWrapper.eq("staff_id", staffId);
|
||||||
|
staffPermissionQueryWrapper.eq("permission_id", permission.getId());
|
||||||
|
TbShopStaffPermission staffPermission = shopStaffPermissionService.getOne(staffPermissionQueryWrapper);
|
||||||
|
|
||||||
|
return Result.success(CodeEnum.SUCCESS, staffPermission != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.chaozhanggui.system.cashierservice.dao.TbShopStaffPermissionDao;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbShopStaffPermissionService;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺员工权限关联表(TbShopStaffPermission)表服务实现类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-09-14 17:07:33
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Primary
|
||||||
|
public class TbShopStaffPermissionServiceImpl extends ServiceImpl<TbShopStaffPermissionDao, TbShopStaffPermission> implements TbShopStaffPermissionService {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -197,9 +197,13 @@ public class ThirdPayService {
|
|||||||
* @param key
|
* @param key
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public PublicResp<OrderReturnResp> returnOrder(String url,String appId, String mchRefundNo, String payOrderId, String mchOrderNo, String refundReason, Long refundAmount, String notifyUrl, String extParam,String key){
|
public PublicResp<OrderReturnResp> returnOrder(String url,String appId, String mchRefundNo, String payOrderId,
|
||||||
OrderRefundReq req=new OrderRefundReq(mchRefundNo, payOrderId, mchOrderNo, refundReason, refundAmount, notifyUrl, extParam);
|
String mchOrderNo, String refundReason, Long refundAmount,
|
||||||
PublicParam param=new PublicParam(appId,null,SignTypeEnum.MD5.getValue(), null,DateUtils.getSdfTimes(), "1.0", String.valueOf(System.currentTimeMillis()));
|
String notifyUrl, String extParam,String key){
|
||||||
|
OrderRefundReq req=new OrderRefundReq(mchRefundNo, payOrderId, mchOrderNo, refundReason, refundAmount,
|
||||||
|
notifyUrl, extParam);
|
||||||
|
PublicParam param=new PublicParam(appId,null,SignTypeEnum.MD5.getValue(), null,DateUtils.getSdfTimes(),
|
||||||
|
"1.0", String.valueOf(System.currentTimeMillis()));
|
||||||
try {
|
try {
|
||||||
String str = JSONUtil.toJSONString(sortFields(req));
|
String str = JSONUtil.toJSONString(sortFields(req));
|
||||||
param.setBizData(str);
|
param.setBizData(str);
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice;
|
||||||
|
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbShopPermissionService;
|
||||||
|
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.test.context.ActiveProfiles;
|
||||||
|
|
||||||
|
@ActiveProfiles("dev")
|
||||||
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
|
public class StaffPermissionTest {
|
||||||
|
@Autowired
|
||||||
|
private TbShopPermissionService tbShopPermissionService;
|
||||||
|
@Test
|
||||||
|
public void testStaffPermission() {
|
||||||
|
|
||||||
|
Result yunXuTuiKuan = tbShopPermissionService.getStaffPermission("128", "yun_xu_tui_kuan2");
|
||||||
|
System.out.println(yunXuTuiKuan);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user