Commit a3a6ce42 authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev' into dev

parents 7a8caa8b 56c610b1
......@@ -50,12 +50,12 @@ weixinHost=chwtest.upyuns.com
APICLIENT_CERT=D:\\cert\\1514583081_20181017_cert.p12
#\u652F\u4ED8\u5B9D\u914D\u7F6E
ALIPAY_APPID=2021002105612008
ALIPAY_APPID=2021002119660082
ALIPAY_PID=2088231782582000
#\u652F\u4ED8\u5B9D\u516C\u94A5
ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsNKvomBS4ZfJXY/cO03z7ocy86/L3dR7YMftKOiVlQXZQc3gBLVCYtcI6T3+haom+xx1UMEz1p3FtFZiZuq+wxbok9XsYPpjoMH+R4QHe8wjyIbR5m73veJWtSe+WGTWrIkOnbuOc+n+ZD8Fv4A5XDRvnTLV1dm+Ax2d7pkAUyNc3lvAs8pkYMszQ3pqxacL66x1EjG7AM0lNW2QuRPPoJKUwrCCgdBQA3Gpyp1led4WYpy4RGnJAtSyzKU1elPXeGqGtwAfS+DnetOKOMVndWfSqZuEwzEP0ZdT8FgEcLqn+1xgMVIPMJ2GuLEekOuPQeq2wAsuYC5DpQ8CJqRXKQIDAQAB
ALIPAY_ACOUNT=hjingyou@upyuns.com
ALIPAY_PRIVATE_KEY=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCMAEco0Ev98cCPxPtsSIEVrPa9828K112l4hG2Nk+G2CnFgku9EuIQUTP2wf6YJKAR1F5mfXnEcX2LURjhuvaudhIq8Eh4veiaKvGhVOdOc2w5GIhYptaV4VKopJNgOVmn7EMl0TGIkAP31sBJpXph7maS/lk+q86uE+tW5CfnQG3s2Znt8sNA/3vaArSbndENgDsWxNAwDERBxxaQ0A4MLTF4dNJ5ignfJ+dPCf9hl/dH2rNofrorLBNrCxuuzZUa2hx5Iq+Btbrfimx/RpT7L4Dqo8Fymo7uh5tZTpKYlpNfjuVoPR0buGGmW18wzCbFKYtieW5JimgUOvHdgCDbAgMBAAECggEAVhotqYpB0lKGbWVmg/gre5s+vSAkYPSHYeghoIDSdEoplpFF52jfo81tOguhewy7bXvA+yOcahaqca5UsS99W1q+Xa4dxDR4A6j5ppFDGNqf6pWN9YfWXaOQZKujAAEFhOMngPChmC2KYziuVhzxoZ0vdKP9Wy/rEuCpUm1LpUrstOxwhxDcwFviPXeinWYq8OU4K7xCcNU5P6tBTwhagA44rdZfJr9uP4/gXC4lDzY/vHD14H0qgAKm/mWW+2E3MqUnbOMAzig8cVK3rIWA0lwcRtqELpDczMGE1dXKhhU1u7iDFhnse/vGVwPErJmUs41gKGQjG2d7ZjFj8XAhcQKBgQDfpYPldV4JwgVJKt9HJXXRYaf+ppVAvObglcKiV61PD3HYOxrGYiMW+g9r1E0aZjl4cp05CEsVFufrOH8xnLD8Z6axvDam0HI15Am6nOWhulXBb7FSNyWKMl0rE+Fzzv6+GRKby2thfq1YCNhlr7rqm03tyMgUGM8eDaH/P4/D3wKBgQCgQQ1kKrquidWPKjEBoidjBqf4pl+QLfs3J9QgUbfEDZV6EDmCTzo0ANZ6nYPWlLwVdWsXg2HGdGgWQSAsRY6QAxyw7vsqO7SIXTsaOujwJ5qpZYmnsH6JdOAhMAFcJJXKA8TKRoxIZkESxN1BbNsC11b//3dHNxrL7UnVa6xihQKBgQCKJxCHGi1xEa16OUWcCYPyR8UjBXyFdSuZ6GlHJ6ojgILu8/PiQJU0iFwmXAsVF7jAsux0Yq8e4/t3znqkBws9oDnU6VNJUNJ8f9WStYEUmqqGx5xeETrbV6k+BxXqGCA9Bff8zXgTzdD+5NfoWNm6Ox20mace4wRuqDU+G+GPOQKBgHDigiFeLBSIyWPIz66b3+zUonv4DncMvNp0duuxRKaY/wN17FzLnG9Ha84BqP391aO0C5ULmlNmam/KvnQRJ0RwvMQyA8ETP6+TJO/sMWwCKeNLwDTckbYYG02leD/FEbK1BumJ2oWhahNjk4vjtz8AG6vG8+m5emnOI+VvrIXVAoGAZk4TT1aKYr+I949Txot19x4cum9BLJnVIst7BqY3xFRcR35TS/x3mvZ0Ui75QwgeeU9I6Ns65y0g/MRz8VjJ5XQeI5PAK575sy2UTMClt3ep1X6vgLdl12g9qkiljN7mWUv4su+X+k+8zYDUcWm17KsGVNg+WrUAdRoWbkZUGW8=
ALIPAY_PRIVATE_KEY=MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCy1owC/v4u30RbHsKQ0mbYzSb2nIxNg4Ne7DMveXCblbM/NnuDQSR8WBXFqLfIBeqDA6w7W0YchEmnNn6LLg1FKN1GnIg5VGPDWZ0qDzr1FHpfMuloZ6iCOD4cAXTYw6mJZCNu0Bvjmwz6LHPIn1lkQkqIlrK1GnKUKeTtO4XeOhAaS3gtwjNs000vVe9QtX3BqLM+PnvO1xRKlRWDtcMuCyJeHLFyHKILCqQRXKnupNCDGKag/n+oM66jFKomSA1Mykddg0A4Jhre29HkUnIiqGmLzbS/AQH4vzpwvnmlvz2pHyJdrTGpE7aA71ptic9LaYsvS11SHrYLgG5R+4bnAgMBAAECggEBAJT+OdelKY9TY1em4OJW6GhnQrbi5eEOWDyU/G/o9PAqYBOiCHTpqMQPftQWJEb45tAQF0W8XUUU0WgF9pdt3pBn4zIY50UcEaGG33FTDwNv9COr/tmEwtb6lIQwknClUnGsg/imWRXe74jdz/itCYSF1iLFqk1Ho33dCWS72mOxAiaVt/P0VdEKy3Ty+eAvxClz81bhwcUwbbEmrYU5ty8TamMxfuZI0YWyzpUirM3T9PGVn9WwrEbNGPRnKPhbqN7dJSyU3sBjh+cTMCjGv7yHPqfU+iDmkfPOVzLPW6ELKu5MPN7RCGPfx2nQw3p4UYUXG12b44FRw0BmNif3oEECgYEA/mv+b35KaVZBOQuPD0kiMxD6gqr7LndemmVYoOh/CbBw4tHv0NIIDAod3mbpjCDIQq+Xex7MeJAdp7tUalb2RqNCSJlK8d73r1uYUIBxARHYvpYPUvG6dxbPEGZw7W7o/3+NkN2FhbjUKOnpX7sE3xWwap+ZvMgCHAsXzbTk7BUCgYEAs/KH2uqZihKESq3kln8vMmqAEYq5c/GMRHmaFab+xxpNuQI8ZXvZD1Cvwx2PM6HSfRI1NQ7Qm3H9MnJFkbHQxrm0/Lue6lyfGJr0eit404MIB3Y7p0ddVa72OgOFQZGwkKNdYNY/kZWDR3pT+TgliKjCw9EJzlBSqxh7k4gOWgsCgYAJXRgkKlW6wr3rx40gVuS3VGyj2n8cGrCUph447dWfGatN7cQRv2kkaErpIIh/68TzD1tX4K5N0aAFyFM3BrRRrTiHS30Cod4jyg81B0UhcPK1MPinaNYgA+rjA6IsWuSgYqVnK3/6h+7nApTgPRXU0AuKIQ2bcRECzzW1EG9McQKBgFwmUg34X4JGczqvDEVJgkjmIwlYqhnG05bpUs/NweECBlU84OLzZjeikS9w/rlpIBpubZLrMEa6O/hObnPqxEhQJ2/ZQMsxfUOjbpj1lB10l3MCyA+kyxYqz+rrjJ0EV4/qKNKDRPBvyVecPE5+wzHVgk+2x7fAiGUX14i4fuj7AoGAYTg8f+6qQMLTzyPGvekJLsew7P9QgGDAXF0A2DiP9JBIo7J+uoovCBzaMSTAzOkai7KDyebPEe1vZPf6z16AeivIT46HeLRkQCzKEx9DGOoXsBHbY43NLzXwS5cQtYulYn3Ex05tK909wvgyg0AKF7NkdvYNEuuLw8UpikkmSg4=
#ALIPAY_APPID=2016100100641990
#ALIPAY_PID=2088102178153042
#ALIPAY_PUBLIC_KEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA47AID6hZLPRBUZ9sZT6PYuif6ii+W6OptEMhDCWaDNZsknK8eW2w3I3b57+/vtV8WMulBopvjIpOgIVooDLxZCiiDtymauNvGu7WkqTu1TSJ/brPphMjU0sWl5XyE4NcMpLZoQALCXd3b7AQP3K4vco8wcxBwdjj9Es6LB19iLnUPXK5LPPTvPR+nVihtnP6Bw2gFQZWCAALti6q9HT7c77agsPO6CGyx6dLoO9IFLFME+E2BvVVKbrdzHBl2yhLLTeT7wWFs35tAlFfX9vj7cFH/cozMJUdw0PyxtpDuBJGwu4XhYWD5O5YcuNGxbuPRMTAPwqCjvQ0q474gi9R6QIDAQAB
......
......@@ -123,6 +123,20 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
sellerAccount = SystemConfig.ALIPAY_PID;
orderPayVo.setPayType(2);
jsParam = generateAliPayment(orderPayVo, notifyUrl);
if (StringUtils.isNotBlank(jsParam)) {
JSONObject jsonObject = JSONObject.parseObject(jsParam);
JSONObject response = jsonObject.getJSONObject("alipay_trade_precreate_response");
if (response != null) {
String qrCode = response.getString("qr_code");
if (StringUtils.isNotBlank(qrCode)) {
jsParam = qrCode;
} else {
return JsonResultUtil.createDefaultFail();
}
} else {
return JsonResultUtil.createDefaultFail();
}
}
} else if (payWay == 1) { //微信支付
sellerAccount = SystemConfig.APP_PARTNER;
jsParam = WXPay.getH5PayParam(amount + "", orderPayVo.getBuyerIp(), trade_no, orderPayVo.getBody(), orderPayVo.getBody(), orderPayVo.getBody(), notify_url);
......@@ -165,8 +179,11 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
orderPay.setFinishTime(System.currentTimeMillis());
orderPay.setStatus(1);
orderPay.setSerialNumber(serialNumber);
OrderPay old = mapper.selectOneByExample(example);
log.info("回调处理查询支付订单信息: {}", old);
int num = mapper.updateByExampleSelective(orderPay, example);
websiteFeign.updateOrderStatus(new OrderInfo(){{setOrderNo(orderPay.getOrderNo());setPayStatus(2);}});
ObjectRestResponse objectRestResponse = websiteFeign.updateOrderStatus(new OrderInfo(){{setOrderNo(old.getOrderNo());setPayStatus(2);}});
log.info("================{}, {}", objectRestResponse.getMessage(), objectRestResponse.getStatus());
}
/**
......@@ -237,7 +254,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
AlipayClient alipayClient = getAlipayClient();
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
try {
return pagePay(alipayClient, orderPayVo, notifyUrl);
return preCreate(alipayClient, orderPayVo, notifyUrl);
} catch (Exception e) {
log.error(e.getMessage(), e);
;
......@@ -307,6 +324,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
"\"total_amount\":\"" + realAmount + "\"," +
"\"subject\":\"" + orderPayVo.getSubject() + "\"," +
"\"timeout_express\":\"30m\"}"); //订单允许的最晚付款时间
request.setNotifyUrl(notifyUrl);
try {
log.info("{}", JSONObject.toJSONString(request));
AlipayTradePrecreateResponse response = alipayClient.execute(request);
......@@ -776,21 +794,23 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
public static void main(String[] args) throws AlipayApiException {
OrderPayBiz orderPayBiz = new OrderPayBiz();
OrderPayVo orderPayVo = new OrderPayVo();
orderPayVo.setOrderNo("20191024153859000003");
orderPayVo.setTradeNo("2019102410002001530572359246");
orderPayVo.setSerialNumber("2019102410002001530572351411");
orderPayVo.setAmount(3);
orderPayVo.setBody("扣除租车订单费用");
orderPayVo.setSubject("租车订单交易费用");
//orderPayBiz.testTradeRefund("222522054304468992", 180000, "退还违约金1800元", "222522054304461800");
//orderPayBiz.fundAuthOrderUnFreeze(orderPayVo, "");
//orderPayBiz.alipayOrderRefund("20191024153859000003","2019102422001421530513773694", 2, "xxxx", "");
//orderPayBiz.tradePay(orderPayVo, "");
//orderPayBiz.fundAuthCancel(orderPayVo, "");
//orderPayBiz.tradePay("20191114182254000019", "2019111410002001530505959461", 1,"扣除违约金", "扣除违约金");
//orderPayBiz.fundAuthQuery("20191031172653000026");
AlipayClient alipayClient = new DefaultAlipayClient(SystemConfig.ALIPAY_PAY_BASE_URL + "/gateway.do",
SystemConfig.ALIPAY_APPID, SystemConfig.ALIPAY_PRIVATE_KEY, AlipayConstants.FORMAT_JSON,
"utf-8", SystemConfig.ALIPAY_PUBLIC_KEY, AlipayConstants.SIGN_TYPE_RSA2);
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizContent("{" +
"\"out_trade_no\":\"20150320010101001\"," +
"\"total_amount\":88.88," +
"\"subject\":\"Iphone6 16G\"," +
"\"body\":\"Iphone6 16G\"" +
" }");
AlipayTradePrecreateResponse response = alipayClient.execute(request);
System.out.println(response.getBody());
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
}
......
......@@ -98,6 +98,11 @@ public class OrderPayController extends BaseController<OrderPayBiz,OrderPay> {
}
}
@GetMapping(value = "app/unauth/test")
public ObjectRestResponse test(String orderNo, String serialNumber) {
baseBiz.notice(orderNo, serialNumber);
return ObjectRestResponse.succ();
}
@PostMapping(value = "/app/unauth/notify/alipay")
@IgnoreUserToken
......
......@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(value = "rs-website", contextId = "website-base")
public interface WebsiteFeign {
@PostMapping(value = "orderInfo/web/updateOrderStatus")
@PostMapping(value = "orderInfo/web/app/unauth/updateOrderStatus")
public ObjectRestResponse updateOrderStatus(@RequestBody OrderInfo orderInfo);
}
......@@ -44,6 +44,7 @@ public class NoticeInfoBiz extends BaseBiz<NoticeInfoMapper,NoticeInfo> {
criteria.andEqualTo("isRead", noticeInfoDto.getRead());
}
criteria.andEqualTo("userId", noticeInfoDto.getUserId());
criteria.andEqualTo("isDel", 0);
example.orderBy("isRead");
Query query = new Query(noticeInfoDto);
PageDataVO<NoticeInfo> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByExample(example));
......
......@@ -26,6 +26,7 @@ import com.upyuns.platform.rs.website.entity.*;
import com.upyuns.platform.rs.website.mapper.OrderItemMapper;
import com.upyuns.platform.rs.website.type.*;
import com.upyuns.platform.rs.website.vo.ItemInfoVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.regexp.RE;
import org.joda.time.DateTime;
......@@ -50,6 +51,7 @@ import java.util.stream.Collectors;
* @date 2020-12-03 13:29:23
*/
@Service
@Slf4j
public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
@Autowired
......@@ -1004,6 +1006,7 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
* @return
*/
public ObjectRestResponse updateOrderStatus(OrderInfo orderInfo) {
log.info("回调修改订单状态:{}", orderInfo);
if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo())) {
return ObjectRestResponse.createFailedResult(ResultCode.PARAM_ILLEGAL_CODE, ResultCode.getMsg(ResultCode.PARAM_ILLEGAL_CODE));
}
......@@ -1027,18 +1030,18 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
* @return
*/
public ObjectRestResponse payByCompanyBank(OrderInfo orderInfo) {
if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo()) || orderInfo.getAuditStatus() == null) {
if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo())) {
return ObjectRestResponse.createFailedResult(ResultCode.PARAM_ILLEGAL_CODE, ResultCode.getMsg(ResultCode.PARAM_ILLEGAL_CODE));
}
OrderInfo old = getOneByOrderNo(orderInfo.getOrderNo());
if (old == null) {
return ObjectRestResponse.createFailedResult(ResultCode.ORDER_NOT_EXIST, ResultCode.getMsg(ResultCode.ORDER_NOT_EXIST));
}
old.setPayImg(orderInfo.getPayImg());
old.setPayCode(orderInfo.getPayCode());
old.setPayType(3);
old.setPayTime(new Date());
updateSelectiveByIdRe(old);
old.setPayImg(orderInfo.getPayImg());
old.setPayCode(orderInfo.getPayCode());
old.setPayType(3);
old.setPayTime(new Date());
updateSelectiveByIdRe(old);
return ObjectRestResponse.succ();
}
......@@ -1049,7 +1052,7 @@ public class OrderInfoBiz extends BaseBiz<OrderInfoMapper, OrderInfo> {
* @return
*/
public ObjectRestResponse updatePayStatus(OrderInfo orderInfo) {
if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo())) {
if (orderInfo == null || StringUtils.isBlank(orderInfo.getOrderNo()) || orderInfo.getAuditStatus() == null) {
return ObjectRestResponse.createFailedResult(ResultCode.PARAM_ILLEGAL_CODE, ResultCode.getMsg(ResultCode.PARAM_ILLEGAL_CODE));
}
OrderInfo old = getOneByOrderNo(orderInfo.getOrderNo());
......
......@@ -132,7 +132,7 @@ public class ShoppingCartInfoBiz extends BaseBiz<ShoppingCartInfoMapper, Shoppin
ShoppingCartInfo shoppingCartInfo = new ShoppingCartInfo();
shoppingCartInfo.setDetailId(Long.valueOf(imageDataVO.getId()));
shoppingCartInfo.setDetailJson(JSONObject.toJSONString(imageDataVO));
shoppingCartInfo.setPrice(orderInfoDto.getPrice());
shoppingCartInfo.setPrice(imageDataVO.getPrice());
shoppingCartInfo.setFilePath(orderInfoDto.getFilePath());
shoppingCartInfo.setNumber(orderInfoDto.getNumber());
shoppingCartInfo.setTotalAmount(orderInfoDto.getPrice().multiply(new BigDecimal(orderInfoDto.getNumber())));
......
......@@ -34,7 +34,7 @@ public class NoticeInfoWebController extends BaseController<NoticeInfoBiz,Notice
}
@PostMapping(value = "updateRead")
public ObjectRestResponse updateRead(NoticeInfo noticeInfo) {
public ObjectRestResponse updateRead(@RequestBody NoticeInfo noticeInfo) {
return baseBiz.updateRead(noticeInfo.getId());
}
......
......@@ -3,6 +3,7 @@ package com.upyuns.platform.rs.website.controller.web;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.upyuns.platform.rs.universal.vo.OrderPayVo;
......@@ -75,7 +76,8 @@ public class OrderInfoWebController extends BaseController<OrderInfoBiz,OrderInf
return baseBiz.pay(orderPayVo);
}
@PostMapping(value = "updateOrderStatus")
@PostMapping(value = "/app/unauth/updateOrderStatus")
@IgnoreUserToken
public ObjectRestResponse updateOrderStatus(@RequestBody OrderInfo orderInfo) {
return baseBiz.updateOrderStatus(orderInfo);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment