更新全选打包
This commit is contained in:
@@ -7,11 +7,26 @@ import javax.servlet.*;
|
|||||||
import javax.servlet.annotation.WebFilter;
|
import javax.servlet.annotation.WebFilter;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@WebFilter(urlPatterns = {"/order-service/order/*"},filterName = "customFilter")
|
@WebFilter(urlPatterns = {"/order-service/order/*"},filterName = "customFilter")
|
||||||
public class CustomFilter implements Filter {
|
public class CustomFilter implements Filter {
|
||||||
|
|
||||||
|
private static final List<String> unFilterUrlList= Arrays.asList("/order-service/pay/returnOrder");
|
||||||
|
|
||||||
|
|
||||||
|
private boolean isfilter(String url){
|
||||||
|
for (String s : unFilterUrlList) {
|
||||||
|
if(s.equals(url)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(FilterConfig filterConfig) throws ServletException {
|
public void init(FilterConfig filterConfig) throws ServletException {
|
||||||
log.info(">>>> customFilter init <<<<");
|
log.info(">>>> customFilter init <<<<");
|
||||||
@@ -20,14 +35,30 @@ public class CustomFilter implements Filter {
|
|||||||
@Override
|
@Override
|
||||||
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
||||||
log.info(">>>> customFilter doFilter start <<<<");
|
log.info(">>>> customFilter doFilter start <<<<");
|
||||||
RequestWrapper requestWapper = null;
|
// RequestWrapper requestWapper = null;
|
||||||
if (servletRequest instanceof HttpServletRequest) {
|
//// if (servletRequest instanceof HttpServletRequest) {
|
||||||
requestWapper = new RequestWrapper((HttpServletRequest) servletRequest);
|
//// requestWapper = new RequestWrapper((HttpServletRequest) servletRequest);
|
||||||
}
|
//// }
|
||||||
|
//// if (requestWapper != null) {
|
||||||
|
//// filterChain.doFilter(requestWapper,servletResponse);
|
||||||
|
//// } else {
|
||||||
|
//// filterChain.doFilter(servletRequest,servletResponse);
|
||||||
|
//// }
|
||||||
|
HttpServletRequest request=(HttpServletRequest) servletRequest;
|
||||||
|
if(isfilter(request.getRequestURI().toString())){
|
||||||
|
RequestWrapper requestWapper = null;
|
||||||
|
if (servletRequest instanceof HttpServletRequest) {
|
||||||
|
requestWapper = new RequestWrapper((HttpServletRequest) servletRequest);
|
||||||
|
}
|
||||||
|
|
||||||
if (requestWapper != null) {
|
if (requestWapper != null) {
|
||||||
filterChain.doFilter(requestWapper,servletResponse);
|
servletResponse.setContentType("text/plain;charset=UTF-8");
|
||||||
} else {
|
filterChain.doFilter(requestWapper,servletResponse);
|
||||||
|
} else {
|
||||||
|
servletResponse.setContentType("text/plain;charset=UTF-8");
|
||||||
|
filterChain.doFilter(servletRequest,servletResponse);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
filterChain.doFilter(servletRequest,servletResponse);
|
filterChain.doFilter(servletRequest,servletResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,66 +74,65 @@ public class PayService {
|
|||||||
private String backUrl;
|
private String backUrl;
|
||||||
|
|
||||||
|
|
||||||
|
public Result queryPayType(String shopId) {
|
||||||
public Result queryPayType(String shopId){
|
return Result.success(CodeEnum.SUCCESS, tbShopPayTypeMapper.selectByShopId(shopId));
|
||||||
return Result.success(CodeEnum.SUCCESS,tbShopPayTypeMapper.selectByShopId(shopId));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Result scanPay(String orderId,String authCode,String ip,String token){
|
public Result scanPay(String orderId, String authCode, String ip, String token) {
|
||||||
if(ObjectUtil.isEmpty(orderId)||ObjectUtil.isEmpty(authCode)||ObjectUtil.isEmpty(ip)){
|
if (ObjectUtil.isEmpty(orderId) || ObjectUtil.isEmpty(authCode) || ObjectUtil.isEmpty(ip)) {
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
||||||
|
|
||||||
if(ObjectUtil.isEmpty(orderInfo)){
|
if (ObjectUtil.isEmpty(orderInfo)) {
|
||||||
return Result.fail(CodeEnum.ORDERNOEXIST);
|
return Result.fail(CodeEnum.ORDERNOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!"unpaid".equals(orderInfo.getStatus())&&!"paying".equals(orderInfo.getStatus())){
|
if (!"unpaid".equals(orderInfo.getStatus()) && !"paying".equals(orderInfo.getStatus())) {
|
||||||
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ObjectUtil.isNull(orderInfo.getMerchantId())||ObjectUtil.isEmpty(orderInfo.getMerchantId())){
|
if (ObjectUtil.isNull(orderInfo.getMerchantId()) || ObjectUtil.isEmpty(orderInfo.getMerchantId())) {
|
||||||
return Result.fail(CodeEnum.NOCUSTOMER);
|
return Result.fail(CodeEnum.NOCUSTOMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TbMerchantThirdApply thirdApply= tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId()));
|
TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId()));
|
||||||
if(ObjectUtil.isEmpty(thirdApply)||ObjectUtil.isNull(thirdApply)){
|
if (ObjectUtil.isEmpty(thirdApply) || ObjectUtil.isNull(thirdApply)) {
|
||||||
return Result.fail(CodeEnum.NOCUSTOMER);
|
return Result.fail(CodeEnum.NOCUSTOMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
String payType=null;
|
String payType = null;
|
||||||
String payName=null;
|
String payName = null;
|
||||||
String qpay=null;
|
String qpay = null;
|
||||||
|
|
||||||
String payTypeCode = authCode.substring(0, 1);// 判断收款码
|
String payTypeCode = authCode.substring(0, 1);// 判断收款码
|
||||||
|
|
||||||
switch (payTypeCode){
|
switch (payTypeCode) {
|
||||||
case "1":
|
case "1":
|
||||||
payType="wechatPay";
|
payType = "wechatPay";
|
||||||
payName="微信支付";
|
payName = "微信支付";
|
||||||
qpay="scanCode";
|
qpay = "scanCode";
|
||||||
break;
|
break;
|
||||||
case "2":
|
case "2":
|
||||||
payType="aliPay";
|
payType = "aliPay";
|
||||||
payName="支付宝支付";
|
payName = "支付宝支付";
|
||||||
qpay="scanCode";
|
qpay = "scanCode";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
int count= tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(),qpay);
|
int count = tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(), qpay);
|
||||||
if(count<1){
|
if (count < 1) {
|
||||||
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderPayment payment=tbOrderPaymentMapper.selectByOrderId(orderId);
|
TbOrderPayment payment = tbOrderPaymentMapper.selectByOrderId(orderId);
|
||||||
if(ObjectUtil.isEmpty(payment)||payment==null){
|
if (ObjectUtil.isEmpty(payment) || payment == null) {
|
||||||
payment=new TbOrderPayment();
|
payment = new TbOrderPayment();
|
||||||
payment.setPayTypeId("ysk");
|
payment.setPayTypeId("ysk");
|
||||||
payment.setAmount(orderInfo.getOrderAmount());
|
payment.setAmount(orderInfo.getOrderAmount());
|
||||||
payment.setPaidAmount(orderInfo.getPayAmount());
|
payment.setPaidAmount(orderInfo.getPayAmount());
|
||||||
@@ -148,37 +147,34 @@ public class PayService {
|
|||||||
payment.setCreatedAt(System.currentTimeMillis());
|
payment.setCreatedAt(System.currentTimeMillis());
|
||||||
payment.setAuthCode(authCode);
|
payment.setAuthCode(authCode);
|
||||||
tbOrderPaymentMapper.insert(payment);
|
tbOrderPaymentMapper.insert(payment);
|
||||||
}else {
|
} else {
|
||||||
payment.setAuthCode(authCode);
|
payment.setAuthCode(authCode);
|
||||||
payment.setUpdatedAt(System.currentTimeMillis());
|
payment.setUpdatedAt(System.currentTimeMillis());
|
||||||
tbOrderPaymentMapper.updateByPrimaryKey(payment);
|
tbOrderPaymentMapper.updateByPrimaryKey(payment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
orderInfo.setPayAmount(orderInfo.getOrderAmount());
|
orderInfo.setPayAmount(orderInfo.getOrderAmount());
|
||||||
orderInfo.setPayType(qpay);
|
orderInfo.setPayType(qpay);
|
||||||
orderInfo.setUpdatedAt(System.currentTimeMillis());
|
orderInfo.setUpdatedAt(System.currentTimeMillis());
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
|
|
||||||
|
|
||||||
|
ScanPayReq scanPayReq = new ScanPayReq();
|
||||||
ScanPayReq scanPayReq=new ScanPayReq();
|
|
||||||
scanPayReq.setAppId(thirdApply.getAppId());
|
scanPayReq.setAppId(thirdApply.getAppId());
|
||||||
scanPayReq.setTimestamp(System.currentTimeMillis());
|
scanPayReq.setTimestamp(System.currentTimeMillis());
|
||||||
scanPayReq.setAuthCode(authCode);
|
scanPayReq.setAuthCode(authCode);
|
||||||
scanPayReq.setNotifyUrl(backUrl);
|
scanPayReq.setNotifyUrl(backUrl);
|
||||||
scanPayReq.setConsumeFee(payment.getAmount().setScale(2,BigDecimal.ROUND_DOWN).toPlainString());
|
scanPayReq.setConsumeFee(payment.getAmount().setScale(2, BigDecimal.ROUND_DOWN).toPlainString());
|
||||||
|
|
||||||
Map<String,Object> map= BeanUtil.transBean2Map(scanPayReq);
|
Map<String, Object> map = BeanUtil.transBean2Map(scanPayReq);
|
||||||
scanPayReq.setSign(MD5Util.encrypt(map,thirdApply.getAppToken(),true));
|
scanPayReq.setSign(MD5Util.encrypt(map, thirdApply.getAppToken(), true));
|
||||||
|
|
||||||
|
|
||||||
ResponseEntity<String> response= restTemplate.postForEntity(gateWayUrl.concat("merchantOrder/scanPay"),scanPayReq,String.class);
|
ResponseEntity<String> response = restTemplate.postForEntity(gateWayUrl.concat("merchantOrder/scanPay"), scanPayReq, String.class);
|
||||||
if(response.getStatusCodeValue()==200&&ObjectUtil.isNotEmpty(response.getBody())){
|
if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) {
|
||||||
JSONObject object=JSONObject.parseObject(response.getBody());
|
JSONObject object = JSONObject.parseObject(response.getBody());
|
||||||
if(object.get("code").equals("0")){
|
if (object.get("code").equals("0")) {
|
||||||
payment.setTradeNumber(object.getJSONObject("data").get("orderNumber").toString());
|
payment.setTradeNumber(object.getJSONObject("data").get("orderNumber").toString());
|
||||||
payment.setUpdatedAt(System.currentTimeMillis());
|
payment.setUpdatedAt(System.currentTimeMillis());
|
||||||
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
tbOrderPaymentMapper.updateByPrimaryKeySelective(payment);
|
||||||
@@ -189,25 +185,25 @@ public class PayService {
|
|||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
|
|
||||||
//更新购物车状态
|
//更新购物车状态
|
||||||
int cartCount= tbCashierCartMapper.updateByOrderId(orderId,"final");
|
int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final");
|
||||||
log.info("更新购物车:{}",cartCount);
|
log.info("更新购物车:{}", cartCount);
|
||||||
|
|
||||||
//更新子单状态
|
//更新子单状态
|
||||||
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed");
|
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed");
|
||||||
|
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("token",token);
|
jsonObject.put("token", token);
|
||||||
jsonObject.put("type","create");
|
jsonObject.put("type", "create");
|
||||||
jsonObject.put("orderId",orderId);
|
jsonObject.put("orderId", orderId);
|
||||||
|
|
||||||
producer.putOrderCollect(jsonObject.toJSONString());
|
producer.putOrderCollect(jsonObject.toJSONString());
|
||||||
|
|
||||||
producer.printMechine(orderId);
|
producer.printMechine(orderId);
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS,object.getJSONObject("data"));
|
return Result.success(CodeEnum.SUCCESS, object.getJSONObject("data"));
|
||||||
}else {
|
} else {
|
||||||
String status=ObjectUtil.isNotEmpty(object.getJSONObject("data"))?object.getJSONObject("data").getString("status"):null;
|
String status = ObjectUtil.isNotEmpty(object.getJSONObject("data")) ? object.getJSONObject("data").getString("status") : null;
|
||||||
if(ObjectUtil.isNotNull(status)&&"7".equals(status)){
|
if (ObjectUtil.isNotNull(status) && "7".equals(status)) {
|
||||||
|
|
||||||
orderInfo.setStatus("paying");
|
orderInfo.setStatus("paying");
|
||||||
orderInfo.setPayOrderNo(payment.getTradeNumber());
|
orderInfo.setPayOrderNo(payment.getTradeNumber());
|
||||||
@@ -229,53 +225,53 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Result queryOrder(String orderId,String token){
|
public Result queryOrder(String orderId, String token) {
|
||||||
if(ObjectUtil.isEmpty(orderId)){
|
if (ObjectUtil.isEmpty(orderId)) {
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
||||||
|
|
||||||
if(ObjectUtil.isEmpty(orderInfo)){
|
if (ObjectUtil.isEmpty(orderInfo)) {
|
||||||
return Result.fail(CodeEnum.ORDERNOEXIST);
|
return Result.fail(CodeEnum.ORDERNOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if("unpaid".equals(orderInfo.getStatus())||"paying".equals(orderInfo.getStatus())){
|
if ("unpaid".equals(orderInfo.getStatus()) || "paying".equals(orderInfo.getStatus())) {
|
||||||
TbMerchantThirdApply thirdApply= tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId()));
|
TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getMerchantId()));
|
||||||
if(ObjectUtil.isEmpty(thirdApply)||ObjectUtil.isNull(thirdApply)){
|
if (ObjectUtil.isEmpty(thirdApply) || ObjectUtil.isNull(thirdApply)) {
|
||||||
return Result.fail(CodeEnum.NOCUSTOMER);
|
return Result.fail(CodeEnum.NOCUSTOMER);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderPayment tbOrderPayment=tbOrderPaymentMapper.selectByOrderId(orderId);
|
TbOrderPayment tbOrderPayment = tbOrderPaymentMapper.selectByOrderId(orderId);
|
||||||
if(ObjectUtil.isNotEmpty(tbOrderPayment)){
|
if (ObjectUtil.isNotEmpty(tbOrderPayment)) {
|
||||||
TradeQueryReq tradeQueryReq=new TradeQueryReq();
|
TradeQueryReq tradeQueryReq = new TradeQueryReq();
|
||||||
tradeQueryReq.setAppId(thirdApply.getAppId());
|
tradeQueryReq.setAppId(thirdApply.getAppId());
|
||||||
tradeQueryReq.setTimestamp(System.currentTimeMillis());
|
tradeQueryReq.setTimestamp(System.currentTimeMillis());
|
||||||
tradeQueryReq.setOrderNumber(tbOrderPayment.getTradeNumber());
|
tradeQueryReq.setOrderNumber(tbOrderPayment.getTradeNumber());
|
||||||
|
|
||||||
Map<String,Object> map= BeanUtil.transBean2Map(tradeQueryReq);
|
Map<String, Object> map = BeanUtil.transBean2Map(tradeQueryReq);
|
||||||
tradeQueryReq.setSign(MD5Util.encrypt(map,thirdApply.getAppToken(),true));
|
tradeQueryReq.setSign(MD5Util.encrypt(map, thirdApply.getAppToken(), true));
|
||||||
ResponseEntity<String> response= restTemplate.postForEntity(gateWayUrl.concat("merchantOrder/tradeQuery"),tradeQueryReq,String.class);
|
ResponseEntity<String> response = restTemplate.postForEntity(gateWayUrl.concat("merchantOrder/tradeQuery"), tradeQueryReq, String.class);
|
||||||
if(response.getStatusCodeValue()==200&&ObjectUtil.isNotEmpty(response.getBody())){
|
if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) {
|
||||||
JSONObject object=JSONObject.parseObject(response.getBody());
|
JSONObject object = JSONObject.parseObject(response.getBody());
|
||||||
if(object.get("code").equals("0")){
|
if (object.get("code").equals("0")) {
|
||||||
JSONObject data=object.getJSONObject("data");
|
JSONObject data = object.getJSONObject("data");
|
||||||
if("1".equals(data.getString("status"))){
|
if ("1".equals(data.getString("status"))) {
|
||||||
orderInfo.setStatus("closed");
|
orderInfo.setStatus("closed");
|
||||||
orderInfo.setPayOrderNo(tbOrderPayment.getTradeNumber());
|
orderInfo.setPayOrderNo(tbOrderPayment.getTradeNumber());
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
|
|
||||||
//更新购物车状态
|
//更新购物车状态
|
||||||
int cartCount= tbCashierCartMapper.updateByOrderId(orderId,"final");
|
int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final");
|
||||||
log.info("更新购物车:{}",cartCount);
|
log.info("更新购物车:{}", cartCount);
|
||||||
|
|
||||||
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed");
|
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed");
|
||||||
|
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("token",token);
|
jsonObject.put("token", token);
|
||||||
jsonObject.put("type","create");
|
jsonObject.put("type", "create");
|
||||||
jsonObject.put("orderId",orderId);
|
jsonObject.put("orderId", orderId);
|
||||||
|
|
||||||
producer.putOrderCollect(jsonObject.toJSONString());
|
producer.putOrderCollect(jsonObject.toJSONString());
|
||||||
|
|
||||||
@@ -286,51 +282,51 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS,orderInfo);
|
return Result.success(CodeEnum.SUCCESS, orderInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Result accountPay(String orderId,String memberId,String token){
|
public Result accountPay(String orderId, String memberId, String token) {
|
||||||
if(ObjectUtil.isEmpty(orderId)||ObjectUtil.isEmpty(memberId)){
|
if (ObjectUtil.isEmpty(orderId) || ObjectUtil.isEmpty(memberId)) {
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
||||||
if(ObjectUtil.isEmpty(orderInfo)){
|
if (ObjectUtil.isEmpty(orderInfo)) {
|
||||||
return Result.fail(CodeEnum.ORDERNOEXIST);
|
return Result.fail(CodeEnum.ORDERNOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!"unpaid".equals(orderInfo.getStatus())){
|
if (!"unpaid".equals(orderInfo.getStatus())) {
|
||||||
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int count= tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(),"deposit");
|
int count = tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(), "deposit");
|
||||||
if(count<1){
|
if (count < 1) {
|
||||||
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TbShopUser user= tbShopUserMapper.selectByPrimaryKey(Integer.valueOf(memberId));
|
TbShopUser user = tbShopUserMapper.selectByPrimaryKey(Integer.valueOf(memberId));
|
||||||
if(ObjectUtil.isEmpty(user)||!"1".equals(user.getIsVip().toString())){
|
if (ObjectUtil.isEmpty(user) || !"1".equals(user.getIsVip().toString())) {
|
||||||
return Result.fail(CodeEnum.MEMBERNOEXIST);
|
return Result.fail(CodeEnum.MEMBERNOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(N.gt(orderInfo.getPayAmount(),user.getAmount())){
|
if (N.gt(orderInfo.getPayAmount(), user.getAmount())) {
|
||||||
return Result.fail(CodeEnum.MEMBERINSUFFICIENTFUNDS);
|
return Result.fail(CodeEnum.MEMBERINSUFFICIENTFUNDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount()));
|
user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount()));
|
||||||
user.setConsumeAmount(user.getConsumeAmount().add(orderInfo.getPayAmount()));
|
user.setConsumeAmount(user.getConsumeAmount().add(orderInfo.getPayAmount()));
|
||||||
user.setConsumeNumber(user.getConsumeNumber()+1);
|
user.setConsumeNumber(user.getConsumeNumber() + 1);
|
||||||
user.setUpdatedAt(System.currentTimeMillis());
|
user.setUpdatedAt(System.currentTimeMillis());
|
||||||
tbShopUserMapper.updateByPrimaryKeySelective(user);
|
tbShopUserMapper.updateByPrimaryKeySelective(user);
|
||||||
|
|
||||||
|
|
||||||
TbShopUserFlow flow=new TbShopUserFlow();
|
TbShopUserFlow flow = new TbShopUserFlow();
|
||||||
flow.setShopUserId(user.getId());
|
flow.setShopUserId(user.getId());
|
||||||
flow.setBizCode("accountPay");
|
flow.setBizCode("accountPay");
|
||||||
flow.setBizName("会员储值卡支付");
|
flow.setBizName("会员储值卡支付");
|
||||||
@@ -347,19 +343,19 @@ public class PayService {
|
|||||||
orderInfo.setPayOrderNo("deposit".concat(SnowFlakeUtil.generateOrderNo()));
|
orderInfo.setPayOrderNo("deposit".concat(SnowFlakeUtil.generateOrderNo()));
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
//更新购物车状态
|
//更新购物车状态
|
||||||
int cartCount= tbCashierCartMapper.updateByOrderId(orderId,"final");
|
int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final");
|
||||||
|
|
||||||
|
|
||||||
tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId),"closed");
|
tbOrderDetailMapper.updateStatusByOrderId(Integer.valueOf(orderId), "closed");
|
||||||
|
|
||||||
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed");
|
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed");
|
||||||
|
|
||||||
log.info("更新购物车:{}",cartCount);
|
log.info("更新购物车:{}", cartCount);
|
||||||
|
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("token",token);
|
jsonObject.put("token", token);
|
||||||
jsonObject.put("type","create");
|
jsonObject.put("type", "create");
|
||||||
jsonObject.put("orderId",orderId);
|
jsonObject.put("orderId", orderId);
|
||||||
|
|
||||||
producer.putOrderCollect(jsonObject.toJSONString());
|
producer.putOrderCollect(jsonObject.toJSONString());
|
||||||
|
|
||||||
@@ -369,30 +365,26 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Result cashPay(String orderId,String token){
|
public Result cashPay(String orderId, String token) {
|
||||||
if(ObjectUtil.isEmpty(orderId)){
|
if (ObjectUtil.isEmpty(orderId)) {
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
||||||
|
|
||||||
if(ObjectUtil.isEmpty(orderInfo)){
|
if (ObjectUtil.isEmpty(orderInfo)) {
|
||||||
return Result.fail(CodeEnum.ORDERNOEXIST);
|
return Result.fail(CodeEnum.ORDERNOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!"unpaid".equals(orderInfo.getStatus())){
|
if (!"unpaid".equals(orderInfo.getStatus())) {
|
||||||
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int count= tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(),"cash");
|
int count = tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(), "cash");
|
||||||
if(count<1){
|
if (count < 1) {
|
||||||
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,15 +395,15 @@ public class PayService {
|
|||||||
orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo()));
|
orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo()));
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
//更新购物车状态
|
//更新购物车状态
|
||||||
int cartCount= tbCashierCartMapper.updateByOrderId(orderId,"final");
|
int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final");
|
||||||
|
|
||||||
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed");
|
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed");
|
||||||
log.info("更新购物车:{}",cartCount);
|
log.info("更新购物车:{}", cartCount);
|
||||||
|
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("token",token);
|
jsonObject.put("token", token);
|
||||||
jsonObject.put("type","create");
|
jsonObject.put("type", "create");
|
||||||
jsonObject.put("orderId",orderId);
|
jsonObject.put("orderId", orderId);
|
||||||
|
|
||||||
producer.putOrderCollect(jsonObject.toJSONString());
|
producer.putOrderCollect(jsonObject.toJSONString());
|
||||||
|
|
||||||
@@ -422,28 +414,26 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Result bankPay(String orderId,String token){
|
public Result bankPay(String orderId, String token) {
|
||||||
if(ObjectUtil.isEmpty(orderId)){
|
if (ObjectUtil.isEmpty(orderId)) {
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(Integer.valueOf(orderId));
|
||||||
|
|
||||||
if(ObjectUtil.isEmpty(orderInfo)){
|
if (ObjectUtil.isEmpty(orderInfo)) {
|
||||||
return Result.fail(CodeEnum.ORDERNOEXIST);
|
return Result.fail(CodeEnum.ORDERNOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(!"unpaid".equals(orderInfo.getStatus())){
|
if (!"unpaid".equals(orderInfo.getStatus())) {
|
||||||
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int count= tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(),"bank");
|
int count = tbShopPayTypeMapper.countSelectByShopIdAndPayType(orderInfo.getShopId(), "bank");
|
||||||
if(count<1){
|
if (count < 1) {
|
||||||
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
return Result.fail(CodeEnum.PAYTYPENOEXIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -454,15 +444,15 @@ public class PayService {
|
|||||||
orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo()));
|
orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo()));
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
//更新购物车状态
|
//更新购物车状态
|
||||||
int cartCount= tbCashierCartMapper.updateByOrderId(orderId,"final");
|
int cartCount = tbCashierCartMapper.updateByOrderId(orderId, "final");
|
||||||
|
|
||||||
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId),"closed");
|
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(Integer.valueOf(orderId), "closed");
|
||||||
log.info("更新购物车:{}",cartCount);
|
log.info("更新购物车:{}", cartCount);
|
||||||
|
|
||||||
JSONObject jsonObject=new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("token",token);
|
jsonObject.put("token", token);
|
||||||
jsonObject.put("type","create");
|
jsonObject.put("type", "create");
|
||||||
jsonObject.put("orderId",orderId);
|
jsonObject.put("orderId", orderId);
|
||||||
|
|
||||||
producer.putOrderCollect(jsonObject.toJSONString());
|
producer.putOrderCollect(jsonObject.toJSONString());
|
||||||
|
|
||||||
@@ -472,41 +462,40 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Result returnOrder(List<TbOrderDetail> list,String token){
|
public Result returnOrder(List<TbOrderDetail> list, String token) {
|
||||||
if(ObjectUtil.isEmpty(list)||list.size()<=0){
|
if (ObjectUtil.isEmpty(list) || list.size() <= 0) {
|
||||||
return Result.fail(CodeEnum.PARAM);
|
return Result.fail(CodeEnum.PARAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer orderId= list.get(0).getOrderId();
|
Integer orderId = list.get(0).getOrderId();
|
||||||
|
|
||||||
String remark=list.get(0).getRemark();
|
String remark = list.get(0).getRemark();
|
||||||
|
|
||||||
TbOrderInfo orderInfo= tbOrderInfoMapper.selectByPrimaryKey(orderId);
|
TbOrderInfo orderInfo = tbOrderInfoMapper.selectByPrimaryKey(orderId);
|
||||||
if(ObjectUtil.isEmpty(orderInfo)||orderInfo.getStatus().equals("refund")){
|
if (ObjectUtil.isEmpty(orderInfo) || orderInfo.getStatus().equals("refund")) {
|
||||||
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
return Result.fail(CodeEnum.ORDERSTATUSERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<TbOrderDetail> orderDetails= tbOrderDetailMapper.selectAllByOrderIdAndStatus(list,orderId.toString());
|
List<TbOrderDetail> orderDetails = tbOrderDetailMapper.selectAllByOrderIdAndStatus(list, orderId.toString());
|
||||||
|
|
||||||
|
|
||||||
String merchantId=orderInfo.getMerchantId();
|
String merchantId = orderInfo.getMerchantId();
|
||||||
String shopId=orderInfo.getShopId();
|
String shopId = orderInfo.getShopId();
|
||||||
String day = DateUtils.getDay();
|
String day = DateUtils.getDay();
|
||||||
String masterId=orderInfo.getMasterId();
|
String masterId = orderInfo.getMasterId();
|
||||||
String payType=orderInfo.getPayType();
|
String payType = orderInfo.getPayType();
|
||||||
String orderNo= generateReturnOrderNumber();
|
String orderNo = generateReturnOrderNumber();
|
||||||
BigDecimal orderAmount=orderInfo.getPayAmount();
|
BigDecimal orderAmount = orderInfo.getPayAmount();
|
||||||
|
|
||||||
|
|
||||||
BigDecimal totalAmount=BigDecimal.ZERO;
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
||||||
BigDecimal packAMount=BigDecimal.ZERO;
|
BigDecimal packAMount = BigDecimal.ZERO;
|
||||||
BigDecimal saleAmount=BigDecimal.ZERO;
|
BigDecimal saleAmount = BigDecimal.ZERO;
|
||||||
BigDecimal feeAmount=BigDecimal.ZERO;
|
BigDecimal feeAmount = BigDecimal.ZERO;
|
||||||
BigDecimal payAmount=BigDecimal.ZERO;
|
BigDecimal payAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
List<OrderDetailPo> detailPos=new ArrayList<>();
|
List<OrderDetailPo> detailPos = new ArrayList<>();
|
||||||
// //判断是否全量退款
|
// //判断是否全量退款
|
||||||
// if(list.size()==orderDetails.size()){
|
// if(list.size()==orderDetails.size()){
|
||||||
// //修改主单状态
|
// //修改主单状态
|
||||||
@@ -515,49 +504,51 @@ public class PayService {
|
|||||||
// tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
// tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
List<TbOrderDetail> returnDetail=new ArrayList<>();
|
List<TbOrderDetail> returnDetail = new ArrayList<>();
|
||||||
|
|
||||||
// List<ReturnWTZInfo.ReturnDetail> details=new ArrayList<>();
|
// List<ReturnWTZInfo.ReturnDetail> details=new ArrayList<>();
|
||||||
|
|
||||||
Map<Integer,Integer> map1 = new HashMap<>();
|
Map<Integer, Integer> map1 = new HashMap<>();
|
||||||
for (TbOrderDetail orderDetail:list){
|
for (TbOrderDetail orderDetail : list) {
|
||||||
if (Objects.isNull(orderDetail.getNum())){
|
if (Objects.isNull(orderDetail.getNum())) {
|
||||||
map1.put(orderDetail.getId(),0);
|
map1.put(orderDetail.getId(), 0);
|
||||||
}else {
|
} else {
|
||||||
map1.put(orderDetail.getId(),orderDetail.getNum());
|
map1.put(orderDetail.getId(), orderDetail.getNum());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (TbOrderDetail it : orderDetails) {
|
for (TbOrderDetail it : orderDetails) {
|
||||||
it=tbOrderDetailMapper.selectByPrimaryKey(it.getId());
|
it = tbOrderDetailMapper.selectByPrimaryKey(it.getId());
|
||||||
if (it.getStatus().equals("closed")) {
|
if (it.getStatus().equals("closed")) {
|
||||||
if (it.getStatus().equals("refund")) {
|
if (it.getStatus().equals("refund")) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (map1.get(it.getId()) > it.getNum()-it.getReturnNum()){
|
if (map1.get(it.getId()) > it.getNum() - it.getReturnNum()) {
|
||||||
throw new MsgException("可退数量:"+ (it.getNum()-it.getReturnNum()));
|
MsgException.checkNull(null,"可退数量:" + (it.getNum() - it.getReturnNum()));
|
||||||
}
|
}
|
||||||
if (map1.get(it.getId()) == 0){
|
if (map1.get(it.getId()) == 0) {
|
||||||
map1.put(it.getId(),it.getNum());
|
map1.put(it.getId(), it.getNum());
|
||||||
}
|
}
|
||||||
OrderDetailPo detailPo = new OrderDetailPo();
|
OrderDetailPo detailPo = new OrderDetailPo();
|
||||||
// totalAmount = totalAmount.add(it.getPriceAmount());
|
// totalAmount = totalAmount.add(it.getPriceAmount());
|
||||||
totalAmount = totalAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()))));
|
totalAmount = totalAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()))));
|
||||||
saleAmount = saleAmount.add(it.getPrice());
|
saleAmount = saleAmount.add(it.getPrice());
|
||||||
payAmount=payAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()))));
|
payAmount = payAmount.add(it.getPriceAmount().divide(new BigDecimal(it.getNum()), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()))));
|
||||||
// payAmount=payAmount.add(it.getPriceAmount());
|
// payAmount=payAmount.add(it.getPriceAmount());
|
||||||
packAMount = packAMount.add(it.getPackAmount().divide(new BigDecimal(it.getNum()),2,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()))));
|
packAMount = packAMount.add(it.getPackAmount().divide(new BigDecimal(it.getNum()), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId()))));
|
||||||
|
|
||||||
detailPo.setId(it.getId());
|
detailPo.setId(it.getId());
|
||||||
if (map1.get(it.getId())+it.getReturnNum() >= it.getNum()){
|
if (map1.get(it.getId()) + it.getReturnNum() >= it.getNum()) {
|
||||||
detailPo.setStatus("refund");
|
detailPo.setStatus("refund");
|
||||||
}else {
|
} else {
|
||||||
detailPo.setStatus("closed");
|
detailPo.setStatus("closed");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
BigDecimal returnAmount = it.getPriceAmount().divide(new BigDecimal(it.getNum()), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(map1.get(it.getId())));
|
||||||
detailPo.setReturnNum(map1.get(it.getId()));
|
detailPo.setReturnNum(map1.get(it.getId()));
|
||||||
detailPos.add(detailPo);
|
detailPos.add(detailPo);
|
||||||
it.setNum(map1.get(it.getId()));
|
it.setNum(map1.get(it.getId()));
|
||||||
it.setReturnNum(0);
|
it.setReturnNum(0);
|
||||||
|
it.setPriceAmount(returnAmount);
|
||||||
it.setStatus("closed");
|
it.setStatus("closed");
|
||||||
it.setCreateTime(new Date());
|
it.setCreateTime(new Date());
|
||||||
it.setUpdateTime(null);
|
it.setUpdateTime(null);
|
||||||
@@ -568,30 +559,30 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TbOrderInfo newOrderInfo = new TbOrderInfo(orderNo, totalAmount, packAMount, totalAmount, saleAmount, totalAmount, feeAmount, orderInfo.getTableId(),
|
TbOrderInfo newOrderInfo = new TbOrderInfo(orderNo, totalAmount, packAMount, totalAmount, saleAmount, totalAmount, feeAmount, orderInfo.getTableId(),
|
||||||
"table", "return",merchantId, shopId,
|
"table", "return", merchantId, shopId,
|
||||||
"", (byte) 1,day,masterId,"refund",payAmount,orderInfo.getPayType(),orderInfo.getTableName());
|
"", (byte) 1, day, masterId, "refund", payAmount, orderInfo.getPayType(), orderInfo.getTableName());
|
||||||
|
|
||||||
if("scanCode".equals(payType) || "wx_lite".equals(payType)){
|
if ("scanCode".equals(payType) || "wx_lite".equals(payType)) {
|
||||||
TbMerchantThirdApply thirdApply= tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(merchantId));
|
TbMerchantThirdApply thirdApply = tbMerchantThirdApplyMapper.selectByPrimaryKey(Integer.valueOf(merchantId));
|
||||||
MsgException.checkNull(thirdApply,"支付参数配置错误");
|
MsgException.checkNull(thirdApply, "支付参数配置错误");
|
||||||
ReturnOrderReq req=new ReturnOrderReq();
|
ReturnOrderReq req = new ReturnOrderReq();
|
||||||
req.setAppId(thirdApply.getAppId());
|
req.setAppId(thirdApply.getAppId());
|
||||||
req.setTimestamp(System.currentTimeMillis());
|
req.setTimestamp(System.currentTimeMillis());
|
||||||
req.setOrderNumber(orderInfo.getPayOrderNo());
|
req.setOrderNumber(orderInfo.getPayOrderNo());
|
||||||
req.setAmount(String.format("%.2f",newOrderInfo.getPayAmount().setScale(2,BigDecimal.ROUND_DOWN)));
|
req.setAmount(String.format("%.2f", newOrderInfo.getPayAmount().setScale(2, BigDecimal.ROUND_DOWN)));
|
||||||
req.setMercRefundNo(orderInfo.getOrderNo());
|
req.setMercRefundNo(orderInfo.getOrderNo());
|
||||||
req.setRefundReason("退货");
|
req.setRefundReason("退货");
|
||||||
req.setPayPassword(thirdApply.getPayPassword());
|
req.setPayPassword(thirdApply.getPayPassword());
|
||||||
Map<String,Object> map= BeanUtil.transBean2Map(req);
|
Map<String, Object> map = BeanUtil.transBean2Map(req);
|
||||||
req.setSign(MD5Util.encrypt(map,thirdApply.getAppToken(),true));
|
req.setSign(MD5Util.encrypt(map, thirdApply.getAppToken(), true));
|
||||||
log.info("merchantOrderReturn req:{}", JSONUtil.toJsonStr(req));
|
log.info("merchantOrderReturn req:{}", JSONUtil.toJsonStr(req));
|
||||||
ResponseEntity<String> response= restTemplate.postForEntity(gateWayUrl.concat("merchantOrder/returnOrder"),req,String.class);
|
ResponseEntity<String> response = restTemplate.postForEntity(gateWayUrl.concat("merchantOrder/returnOrder"), req, String.class);
|
||||||
log.info("merchantOrderReturn:{}",response.getBody());
|
log.info("merchantOrderReturn:{}", response.getBody());
|
||||||
if(response.getStatusCodeValue()==200&&ObjectUtil.isNotEmpty(response.getBody())){
|
if (response.getStatusCodeValue() == 200 && ObjectUtil.isNotEmpty(response.getBody())) {
|
||||||
JSONObject object=JSONObject.parseObject(response.getBody());
|
JSONObject object = JSONObject.parseObject(response.getBody());
|
||||||
if(!object.get("code").equals("0")){
|
if (!object.get("code").equals("0")) {
|
||||||
MsgException.check(true,"退款渠道调用失败");
|
MsgException.check(true, "退款渠道调用失败");
|
||||||
}
|
}
|
||||||
// newOrderInfo.setPayOrderNo(object.getJSONObject("data").getString("refundOrderNumber"));
|
// newOrderInfo.setPayOrderNo(object.getJSONObject("data").getString("refundOrderNumber"));
|
||||||
}
|
}
|
||||||
@@ -599,8 +590,8 @@ public class PayService {
|
|||||||
|
|
||||||
|
|
||||||
//判断是否修改主单状态
|
//判断是否修改主单状态
|
||||||
BigDecimal returnAmount= tbOrderDetailMapper.selectByOrderId(orderId.toString());
|
BigDecimal returnAmount = tbOrderDetailMapper.selectByOrderId(orderId.toString());
|
||||||
if(N.egt(returnAmount.add(payAmount),orderAmount)){
|
if (N.egt(returnAmount.add(payAmount), orderAmount)) {
|
||||||
orderInfo.setStatus("refund");
|
orderInfo.setStatus("refund");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -614,35 +605,31 @@ public class PayService {
|
|||||||
tbOrderInfoMapper.insert(newOrderInfo);
|
tbOrderInfoMapper.insert(newOrderInfo);
|
||||||
|
|
||||||
//更新子单表
|
//更新子单表
|
||||||
if(ObjectUtil.isNotEmpty(detailPos)&&detailPos.size()>0){
|
if (ObjectUtil.isNotEmpty(detailPos) && detailPos.size() > 0) {
|
||||||
tbOrderDetailMapper.updateBatchOrderDetail(detailPos);
|
tbOrderDetailMapper.updateBatchOrderDetail(detailPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
//添加子表信息
|
//添加子表信息
|
||||||
if(ObjectUtil.isNotEmpty(returnDetail)&&returnDetail.size()>0){
|
if (ObjectUtil.isNotEmpty(returnDetail) && returnDetail.size() > 0) {
|
||||||
tbOrderDetailMapper.batchInsert(returnDetail,newOrderInfo.getId().toString());
|
tbOrderDetailMapper.batchInsert(returnDetail, newOrderInfo.getId().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
JSONObject jsonObject=new JSONObject();
|
jsonObject.put("token", token);
|
||||||
jsonObject.put("token",token);
|
jsonObject.put("type", "return");
|
||||||
jsonObject.put("type","return");
|
jsonObject.put("orderId", 0);
|
||||||
jsonObject.put("orderId",0);
|
jsonObject.put("amount", newOrderInfo.getPayAmount());
|
||||||
jsonObject.put("amount",newOrderInfo.getPayAmount());
|
|
||||||
// jsonObject.put("data",new ReturnWTZInfo(orderId+"",newOrderInfo.getPayAmount(),details));
|
// jsonObject.put("data",new ReturnWTZInfo(orderId+"",newOrderInfo.getPayAmount(),details));
|
||||||
producer.putOrderCollect(jsonObject.toJSONString());
|
producer.putOrderCollect(jsonObject.toJSONString());
|
||||||
|
|
||||||
|
|
||||||
|
producer.printMechine(newOrderInfo.getId() + "");
|
||||||
producer.printMechine(newOrderInfo.getId()+"");
|
|
||||||
|
|
||||||
return Result.success(CodeEnum.SUCCESS);
|
return Result.success(CodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public String generateReturnOrderNumber() {
|
public String generateReturnOrderNumber() {
|
||||||
String date = DateUtils.getSdfTimes();
|
String date = DateUtils.getSdfTimes();
|
||||||
Random random = new Random();
|
Random random = new Random();
|
||||||
@@ -651,9 +638,9 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
public static void main(String[] args) {
|
||||||
|
|
||||||
System.out.println(String.format("%.2f",new BigDecimal(1).setScale(2,BigDecimal.ROUND_DOWN)));
|
System.out.println(String.format("%.2f", new BigDecimal(1).setScale(2, BigDecimal.ROUND_DOWN)));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -382,7 +382,7 @@
|
|||||||
select * from tb_cashier_cart where order_id=#{orderId} and `status`=#{status}
|
select * from tb_cashier_cart where order_id=#{orderId} and `status`=#{status}
|
||||||
</select>
|
</select>
|
||||||
<select id="selectAllByMarketId" resultType="com.chaozhanggui.system.cashierservice.entity.TbCashierCart">
|
<select id="selectAllByMarketId" resultType="com.chaozhanggui.system.cashierservice.entity.TbCashierCart">
|
||||||
select * from tb_cashier_cart where master_id = #{maskerId} and trade_day = #{day} and shop_id = #{shopId} and status = 'create'
|
select * from tb_cashier_cart where master_id = #{masterId} and trade_day = #{day} and shop_id = #{shopId} and status = 'create'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user