袁野 4 months ago
parent 01e942350f
commit 1480226af5
  1. 64
      bweb/src/main/java/com/bweb/controller/TestController.java
  2. BIN
      order/lib/open-api-sdk-2.0-jd.jar
  3. 7
      order/pom.xml
  4. 1
      order/src/main/java/com/order/config/AuthConfig.java
  5. 24
      order/src/main/java/com/order/controller/business/OrderSettlementController.java
  6. 69
      order/src/main/java/com/order/controller/notify/JdNotify.java
  7. 4
      order/src/main/java/com/order/controller/notify/MeiTuanController.java
  8. 22
      order/src/main/resources/dev/logback.xml
  9. BIN
      service/lib/open-api-sdk-2.0-jd.jar
  10. 7
      service/pom.xml
  11. 113
      service/src/main/java/com/hfkj/common/utils/RsaCoderUtils.java
  12. 7
      service/src/main/java/com/hfkj/config/CommonSysConfig.java
  13. 63
      service/src/main/java/com/hfkj/jd/JdService.java
  14. 4
      service/src/main/java/com/hfkj/service/goods/impl/BsOrderCinemaServiceImpl.java
  15. 4
      service/src/main/java/com/hfkj/service/goods/impl/BsOrderGoodsServiceImpl.java
  16. 4
      service/src/main/java/com/hfkj/service/goods/impl/BsOrderStarbucksServiceImpl.java
  17. 2
      service/src/main/java/com/hfkj/service/order/OrderRefundSuccessService.java
  18. 25
      service/src/main/java/com/hfkj/service/order/impl/BsOrderChildServiceImpl.java
  19. 5
      service/src/main/java/com/hfkj/service/order/impl/BsOrderRefundServiceImpl.java
  20. 10
      service/src/main/java/com/hfkj/service/order/impl/OrderSettlementServiceImpl.java
  21. 5
      service/src/main/resources/dev/commonConfig.properties
  22. 4
      service/src/main/resources/prod/commonConfig.properties
  23. 2
      user/src/main/java/com/user/controller/BsUserController.java

@ -6,9 +6,21 @@ import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.*;
import com.hfkj.config.CommonSysConst;
import com.hfkj.entity.BsMerPayConfig;
import com.hfkj.entity.BsOrder;
import com.hfkj.entity.BsUserCard;
import com.hfkj.jd.JdService;
import com.hfkj.mer.BsMerPayConfigService;
import com.hfkj.model.ResponseData;
import com.hfkj.model.order.OrderModel;
import com.hfkj.qianzhu.CinemaService;
import com.hfkj.service.card.BsUserCardService;
import com.hfkj.service.hlt.HuiLianTongUnionCardService;
import com.hfkj.service.order.BsOrderService;
import com.hfkj.service.order.OrderPayService;
import com.hfkj.service.pay.huift.TradeService;
import com.hfkj.sysenum.mer.PayPlatformEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@ -19,6 +31,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
@ -29,7 +42,14 @@ public class TestController {
private static Logger log = LoggerFactory.getLogger(TestController.class);
@Resource
private TradeService huiftTradeService;
@Resource
private BsOrderService orderService;
@Resource
private BsMerPayConfigService merPayConfigService;
@Resource
private OrderPayService orderPayService;
@Resource
private BsUserCardService userCardService;
@RequestMapping(value="/thirdPayResult",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询V家园订单交易状态")
@ -70,4 +90,46 @@ public class TestController {
}
}
@RequestMapping(value="/refundMovieOrder",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "refundMovieOrder")
public ResponseData refundMovieOrder(@RequestParam(value = "orderNo" , required = true) String orderNo,
@RequestParam(value = "payRealPrice" , required = true) BigDecimal payRealPrice,
@RequestParam(value = "cardNo" , required = true) String cardNo) {
try {
// 工会卡支付
JSONObject consumption = HuiLianTongUnionCardService.consumption(orderNo, cardNo, payRealPrice, "HiSen_phg_goods", "11101608", "", "241001130753599939订单扣款");
if (!consumption.getString("respCode").equals("0000")) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, consumption.getString("respMessage"));
}
// 响应参数
JSONObject consumptionResult = HuiLianTongUnionCardService.resolveResponse(consumption.getString("data"));
if (consumptionResult.getBoolean("success") != true) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, consumptionResult.getString("message"));
}
return ResponseMsgUtil.success(consumptionResult);
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/getAccessToken",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "getAccessToken")
public ResponseData getAccessToken() {
try {
return ResponseMsgUtil.success(JdService.getAccessToken());
} catch (Exception e) {
log.error("error!",e);
return ResponseMsgUtil.exception(e);
}
}
}

Binary file not shown.

@ -32,6 +32,13 @@
<version>1.0.21</version>
<systemPath>${basedir}/lib/open-platform-sdk-1.0.21.jar</systemPath>
</dependency>
<dependency>
<groupId>jd.skd</groupId>
<artifactId>jd-open-sdk</artifactId>
<scope>system</scope>
<version>2.0</version>
<systemPath>${basedir}/lib/open-api-sdk-2.0-jd.jar</systemPath>
</dependency>
</dependencies>
<build>

@ -87,6 +87,7 @@ public class AuthConfig implements WebMvcConfigurer {
.excludePathPatterns("/**/springfox-swagger-ui/**")
.excludePathPatterns("/**/swagger-ui.html")
.excludePathPatterns("/notify/*")
.excludePathPatterns("/jdNotify/*")
.excludePathPatterns("/cqNotify/*")
.excludePathPatterns("/meiTuan/*")
.excludePathPatterns("/orderCinema/queryOrder")

@ -198,12 +198,16 @@ public class OrderSettlementController {
@RequestParam(value = "merId" , required = false) Long merId,
@RequestParam(value = "payType" , required = false) Long payType,
@RequestParam(value = "finishTimeS" , required = false) Long finishTimeS,
@RequestParam(value = "finishTimeE" , required = false) Long finishTimeE) {
@RequestParam(value = "finishTimeE" , required = false) Long finishTimeE, HttpServletRequest request) {
try {
Map<String,Object> param = new HashMap<>();
SecUserSessionObject userSessionObject = userCenter.getSessionModel(SecUserSessionObject.class);
if (SecUserObjectTypeEnum.type2.getCode() == userSessionObject.getAccount().getObjectType()) {
param.put("merId", userSessionObject.getAccount().getObjectId());
SessionObject sessionObject = userCenter.getSessionObject(request);
SecUserSessionObject userModel = (SecUserSessionObject) sessionObject.getObject();
if (userModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) {
param.put("merId", merId);
}
if (SecUserObjectTypeEnum.type2.getCode() == userModel.getAccount().getObjectType()) {
param.put("merId", userModel.getAccount().getObjectId());
}
param.put("platform", platform);
param.put("payType", payType);
@ -325,12 +329,16 @@ public class OrderSettlementController {
@RequestParam(value = "merId" , required = false) Long merId,
@RequestParam(value = "payType" , required = false) Long payType,
@RequestParam(value = "finishTimeS" , required = false) Long finishTimeS,
@RequestParam(value = "finishTimeE" , required = false) Long finishTimeE) {
@RequestParam(value = "finishTimeE" , required = false) Long finishTimeE, HttpServletRequest request) {
try {
Map<String,Object> param = new HashMap<>();
SecUserSessionObject userSessionObject = userCenter.getSessionModel(SecUserSessionObject.class);
if (SecUserObjectTypeEnum.type2.getCode() == userSessionObject.getAccount().getObjectType()) {
param.put("merId", userSessionObject.getAccount().getObjectId());
SessionObject sessionObject = userCenter.getSessionObject(request);
SecUserSessionObject userModel = (SecUserSessionObject) sessionObject.getObject();
if (userModel.getAccount().getObjectType().equals(SecUserObjectTypeEnum.type1.getCode())) {
param.put("merId", merId);
}
if (SecUserObjectTypeEnum.type2.getCode() == userModel.getAccount().getObjectType()) {
param.put("merId", userModel.getAccount().getObjectId());
}
param.put("platform", platform);
param.put("payType", payType);

@ -0,0 +1,69 @@
package com.order.controller.notify;
import com.alibaba.fastjson.JSONObject;
import com.hfkj.common.utils.HttpsUtils;
import com.hfkj.config.CommonSysConst;
import com.hfkj.jd.JdService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
@Controller
@RequestMapping(value = "/jdNotify")
@Api(value = "京东回调")
public class JdNotify {
private static final Logger log = LoggerFactory.getLogger(JdService.class);
@RequestMapping(value = "/notify", method = RequestMethod.POST)
@ApiOperation(value = "回调")
@ResponseBody
public void notify(@RequestBody String reqBodyStr, HttpServletRequest request, HttpServletResponse response) {
try {
JSONObject dataObject = JSONObject.parseObject(reqBodyStr, JSONObject.class);
log.info("============回调任务Start=============");
log.info("尖椒订单充值-回调参数: " + dataObject);
log.info("============回调任务End=============");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter writer= response.getWriter();
writer.write("SUCCESS");
} catch (Exception e) {
log.error("WechatPayController --> wechatNotify() error!", e);
}
}
@RequestMapping(value = "/callbackToken", method = RequestMethod.GET)
@ApiOperation(value = "token回调")
@ResponseBody
public void notify(@RequestParam("code") String code) {
try {
log.info("============token回调任务Start=============");
log.info("token回调-回调参数: " + code);
JSONObject object = new JSONObject();
object.put("app_key", CommonSysConst.getSysConfig().getJDAppKey());
object.put("app_secret", CommonSysConst.getSysConfig().getJDAppSecret());
object.put("code", code);
object.put("grant_type", "authorization_code");
JSONObject jsonObject = HttpsUtils.doGet("https://open-oauth.jd.com/oauth2/authorizeForVOP", object);
log.info("token回调-回调参数: " + jsonObject);
log.info("============token回调任务End=============");
} catch (Exception e) {
log.error("WechatPayController --> wechatNotify() error!", e);
}
}
}

@ -253,7 +253,7 @@ public class MeiTuanController {
) {
try {
log.info("============回调任务Start=============");
log.info("============订单状态变更回调Start=============");
if (accessKey == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "accessKey错误");
}
@ -281,7 +281,7 @@ public class MeiTuanController {
data.put("status", 0);
data.put("msg", "成功");
data.put("data", new JSONObject());
log.info("============回调任务End=============");
log.info("============订单状态变更回调End=============");
return data;

@ -311,4 +311,26 @@
<appender-ref ref="HaiOilLog" />
</logger>
<!-- 嗨加油接口 -->
<!--京东接口 -->
<appender name="JdLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/JdLog.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/JdLog/JdLog.log.%d.%i</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 64 MB -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>
%d %p (%file:%line\)- %m%n
</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<logger name="com.hfkj.jd.JdService" level="INFO">
<appender-ref ref="JdLog" />
</logger>
<!-- 嗨加油接口 -->
</configuration>

@ -263,6 +263,13 @@
<version>1.0.21</version>
<systemPath>${basedir}/lib/open-platform-sdk-1.0.21.jar</systemPath>
</dependency>
<dependency>
<groupId>jd.skd</groupId>
<artifactId>jd-open-sdk</artifactId>
<scope>system</scope>
<version>2.0</version>
<systemPath>${basedir}/lib/open-api-sdk-2.0-jd.jar</systemPath>
</dependency>
</dependencies>
<build>
<resources>

@ -0,0 +1,113 @@
package com.hfkj.common.utils;
import javafx.util.Pair;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
public final class RsaCoderUtils {
/**
* 生成公私钥
*
* @return
* @throws NoSuchAlgorithmException
*/
public static Pair<String, String> genKeyPair() throws NoSuchAlgorithmException {
// KeyPairGenerator类用于生成公钥和私钥对,基于RSA算法生成对象
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
// 初始化密钥对生成器,密钥大小为96-1024位
keyPairGen.initialize(1024, new SecureRandom());
// 生成一个密钥对,保存在keyPair中
KeyPair keyPair = keyPairGen.generateKeyPair();
// 得到私钥
RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
// 得到公钥
RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
String publicKeyString = new String(Base64.encodeBase64(publicKey.getEncoded()));
// 得到私钥字符串
String privateKeyString = new String(Base64.encodeBase64((privateKey.getEncoded())));
return new Pair<>(publicKeyString, privateKeyString);
}
/**
* RSA私钥加密
*
* @param str 加密字符串
* @param privateKey 私钥
* @return 密文
* @throws Exception 加密过程中的异常信息
*/
public static String encryptByPrivateKey(String str, String privateKey) throws Exception {
//base64编码的公钥
byte[] decoded = Base64.decodeBase64(privateKey);
RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded));
//RSA解密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, priKey);
return Base64.encodeBase64String(cipher.doFinal(str.getBytes(StandardCharsets.UTF_8)));
}
/**
* RSA公钥加密
*
* @param str 加密字符串
* @return 密文
* @throws Exception 加密过程中的异常信息
*/
public static String encryptByPublicKey(String str, String publicKey) throws Exception {
//base64编码的公钥
byte[] decoded = Base64.decodeBase64(publicKey);
RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
//RSA加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
return Base64.encodeBase64String(cipher.doFinal(str.getBytes(StandardCharsets.UTF_8)));
}
/**
* RSA公钥解密
*
* @param str 加密字符串
* @param publicKey 公钥
* @return 铭文
* @throws Exception 解密过程中的异常信息
*/
public static String decryptByPublicKey(String str, String publicKey) throws Exception {
//64位解码加密后的字符串
byte[] inputByte = Base64.decodeBase64(str.getBytes(StandardCharsets.UTF_8));
//base64编码的私钥
byte[] decoded = Base64.decodeBase64(publicKey);
RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded));
//RSA加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, pubKey);
return new String(cipher.doFinal(inputByte));
}
/**
* RSA私钥解密
*
* @param str 加密字符串
* @return 铭文
* @throws Exception 解密过程中的异常信息
*/
public static String decryptByPrivateKey(String str, String privateKey) throws Exception {
//64位解码加密后的字符串
byte[] inputByte = Base64.decodeBase64(str.getBytes(StandardCharsets.UTF_8));
//base64编码的私钥
byte[] decoded = Base64.decodeBase64(privateKey);
RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded));
//RSA解密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, priKey);
return new String(cipher.doFinal(inputByte));
}
}

@ -153,4 +153,11 @@ public class CommonSysConfig {
private String haiOilAppid;
private String haiOilAppSecret;
/**
* 京东请求参数
*/
private String jDPostUrl;
private String jDAppKey;
private String jDAppSecret;
}

@ -0,0 +1,63 @@
package com.hfkj.jd;
import com.alibaba.fastjson.JSONObject;
import com.hfkj.common.utils.HttpsUtils;
import com.hfkj.common.utils.RsaCoderUtils;
import com.hfkj.config.CommonSysConst;
import com.hfkj.meituan.MeiTuanService;
import com.jd.open.api.sdk.DefaultJdClient;
import com.jd.open.api.sdk.JdClient;
import org.apache.commons.codec.digest.DigestUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.URLEncoder;
import java.util.Map;
/**
* @ClassName JdService
* @Author Sum1Dream
* @Description 京东服务
* @Date 2024/10/11 下午3:25
**/
public class JdService {
private static Logger log = LoggerFactory.getLogger(JdService.class);
/**
* UTF_8
*/
public static final String UTF_8 = "utf-8";
/**
* 用户名
*/
private static final String USERNAME = "惠兑重庆VOP",
/**
* 明文密码后续需要通过RSA加密
*/
PLAINTEXT_PASSWORD = "hdcs1234",
/**
* 回调地址注册应用时配置的授权回调地址
*/
REDIRECT_URI = CommonSysConst.getSysConfig().getDomainName() + "/order/jdNotify/callbackToken",
/**
* RSA私钥
*/
PRIVATE_RSA_KEY = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMEtt0kF02YBxPXzXyqzCtr1zkuj8NXLiqqSCDAfU6zWB1T1GUEpCfNukPBeZ9nXGj+jbTom8RFllNXbnOkW01Zn2VoyePh8TRWQbToXi+i/JQ162GzpF0GdPsUhJSrB5Z2QzK4UVXXkpPHhQHR8NKQhvTRkoRLfOy+oXWL8PS2hAgMBAAECgYBySo/j/jRiZ62WLlUhuCg1/7P8AJSeiPwTiq6Zeg9RdJeF5jT43kTq54GNFO2wbpkzCYe4Hg4GUulJ1dLx/PUvYquRpM4jGznxDxBA10mNyjx0O+SHcY+ZlOYWIKhEq4MeeJhtHhoFrlgcMNIyofhRDbFzrRak48GrcZDQC4/cIQJBAPwxtEwMnetPveLExR1UsygdVKwoWoGNL5Hkhcx6b2N2Qapk5aHB5haUEXeg1ShrL4C/kE1lsMAIdpVS9lWd4x0CQQDEGASnnB2oPHjvNfj88klpYTvPJRi3ORQPtlfz36kv+29QFxB9Mt1u39ttopw5G2x7QvTtL542w878brrmS8lVAkEA4k7QFjZ0N8cVBLvCjrGFG4hGhT6pCPxjJa5GCtoLvttNzdRA5EkVaklw60LeRSj6NbSxj2Kjm498qj8KYoYOWQJATJhRISMy1mcgmdeMNUlycW4gjY4g9FigRG7mNgU0MeDVnwQTVcQLiGZ6cH2m5guXOSJzRz5lX2DmteWOrawGrQJBAMKLfeTnYkVpXw9MABcR/9L9myG3FKwOHBIqD0wK+QVahi9byFk8GFXD4OlBQ1ZSxHqsUuxWqLVSa3sWBCKpLo8=";
public static JSONObject getAccessToken() throws Exception {
String encodeRedirectUri = URLEncoder.encode(REDIRECT_URI, UTF_8);
String encodeUsername = URLEncoder.encode(USERNAME, UTF_8);
String md5Password = DigestUtils.md5Hex(PLAINTEXT_PASSWORD);
String ciphertextPassword = RsaCoderUtils.encryptByPrivateKey(md5Password, PRIVATE_RSA_KEY);
String encodePassword = URLEncoder.encode(ciphertextPassword, UTF_8);
JSONObject object = new JSONObject();
object.put("app_key", CommonSysConst.getSysConfig().getJDAppKey());
object.put("redirect_uri", encodeRedirectUri);
object.put("username", encodeUsername);
object.put("password", encodePassword);
object.put("response_type", "code");
object.put("scope", "snsapi_base");
return HttpsUtils.doGet("https://open-oauth.jd.com/oauth2/authorizeForVOP", object);
}
}

@ -110,10 +110,10 @@ public class BsOrderCinemaServiceImpl implements BsOrderCinemaService {
BsOrderCinemaExample.Criteria criteria = example.createCriteria();
if (MapUtils.getLong(map, "finishTimeS") != null) {
criteria.andUpdateTimeGreaterThanOrEqualTo(new Date(MapUtils.getLong(map, "finishTimeS")));
criteria.andCreateTimeGreaterThanOrEqualTo(new Date(MapUtils.getLong(map, "finishTimeS")));
}
if (MapUtils.getLong(map, "finishTimeE") != null) {
criteria.andUpdateTimeLessThan(new Date(MapUtils.getLong(map, "finishTimeE")));
criteria.andCreateTimeLessThan(new Date(MapUtils.getLong(map, "finishTimeE")));
}
if (MapUtils.getLong(map, "merId") != null) {
criteria.andMerIdEqualTo(MapUtils.getLong(map, "merId"));

@ -326,7 +326,9 @@ public class BsOrderGoodsServiceImpl implements BsOrderGoodsService {
orderService.childOrderComplete(orderGoods.getChildOrderNo());
orderGoods.setStatus(OrderChildStatusEnum.status3.getCode());
orderGoods.setUpdateTime(new Date());
orderGoods.setFinishTime(new Date());
if (orderGoods.getFinishTime() == null) {
orderGoods.setFinishTime(new Date());
}
update(orderGoods);
// 删除缓存
orderService.cacheDelete(orderGoods.getOrderNo());

@ -102,10 +102,10 @@ public class BsOrderStarbucksServiceImpl implements BsOrderStarbucksService {
BsOrderStarbucksExample.Criteria criteria = example.createCriteria();
if (MapUtils.getLong(map, "finishTimeS") != null) {
criteria.andUpdateTimeGreaterThanOrEqualTo(new Date(MapUtils.getLong(map, "finishTimeS")));
criteria.andCreateTimeGreaterThanOrEqualTo(new Date(MapUtils.getLong(map, "finishTimeS")));
}
if (MapUtils.getLong(map, "finishTimeE") != null) {
criteria.andUpdateTimeLessThan(new Date(MapUtils.getLong(map, "finishTimeE")));
criteria.andCreateTimeLessThan(new Date(MapUtils.getLong(map, "finishTimeE")));
}
if (MapUtils.getLong(map, "merId") != null) {
criteria.andMerIdEqualTo(MapUtils.getLong(map, "merId"));

@ -108,7 +108,7 @@ public class OrderRefundSuccessService {
if (orderCinema != null) {
Map<String , Object> map = new HashMap<>();
map.put("orderNo", childOrder.getOrderNo());
map.put("orderNo", orderCinema.getChannelOrderNo());
CinemaService.refundMovieOrder(map);
orderCinema.setStatus(-5);
orderCinema.setExceptionStatus(false);

@ -97,7 +97,7 @@ public class BsOrderChildServiceImpl implements BsOrderChildService {
BeanUtils.copyProperties(orderChild, childModel);
if (childModel.getProductType().equals(OrderChildProductTypeEnum.type1.getCode())) {
BsOrderGoods orderGoods = orderGoodsService.findGoodsOrder(orderNo);
BsOrderGoods orderGoods = orderGoodsService.findGoodsOrderByChild(childModel.getChildOrderNo());
if (orderGoods != null) {
GoodsUserAddress address;
if (orderGoods.getDeliveryAddressId() != null) {
@ -118,7 +118,9 @@ public class BsOrderChildServiceImpl implements BsOrderChildService {
// 查询商品虚拟信息
GoodsJump goodsJump = goodsJumpService.queryDetailBySpecsId(orderChild.getProductSpecId());
object.put("goodsJump", goodsJump);
if (goodsJump != null && goodsJump.getJumpType() != null) {
object.put("goodsJump", goodsJump);
}
object.put("address", address);
object.put("orderGoodsId", orderGoods.getId());
childModel.setBusiness(object);
@ -128,6 +130,9 @@ public class BsOrderChildServiceImpl implements BsOrderChildService {
orderService.childOrderComplete(orderGoods.getChildOrderNo());
orderGoods.setStatus(OrderChildStatusEnum.status3.getCode());
orderGoods.setUpdateTime(new Date());
if (orderGoods.getFinishTime() == null) {
orderGoods.setFinishTime(new Date());
}
orderGoodsService.update(orderGoods);
// 删除缓存
orderService.cacheDelete(orderGoods.getOrderNo());
@ -137,14 +142,18 @@ public class BsOrderChildServiceImpl implements BsOrderChildService {
} else if (childModel.getProductType().equals(OrderChildProductTypeEnum.type2.getCode())) {
GoodsVpd goodsVpd = goodsVpdService.queryDetailBySpecsId(childModel.getProductSpecId());
if (goodsVpd.getSource() == 2) {
BsOrderMember orderMember = orderMemberService.findGoodsOrderByChildNo(childModel.getChildOrderNo());
if (orderMember != null) {
goodsVpd.setExt1(orderMember.getUserPhone());
if (!childModel.getProductSpecId().equals(999999L)) {
GoodsVpd goodsVpd = goodsVpdService.queryDetailBySpecsId(childModel.getProductSpecId());
if (goodsVpd.getSource() == 2) {
BsOrderMember orderMember = orderMemberService.findGoodsOrderByChildNo(childModel.getChildOrderNo());
if (orderMember != null) {
goodsVpd.setExt1(orderMember.getUserPhone());
}
}
childModel.setBusiness(goodsVpd);
}
childModel.setBusiness(goodsVpd);
} else if (childModel.getProductType().equals(OrderChildProductTypeEnum.type4.getCode())) {
BsProductConfig productConfig = bsProductConfigService.queryDetail(OrderChildProductTypeEnum.type4.getCode());
// 查询星巴克订单列表信息

@ -348,6 +348,11 @@ public class BsOrderRefundServiceImpl implements BsOrderRefundService {
// 资金退款
orderRefund.setRefundStatus(refundMoney(orderRefund)?OrderRefundStatusEnum.status2.getCode():OrderRefundStatusEnum.status3.getCode());
if (orderRefund.getRefundStatus() == OrderRefundStatusEnum.status2.getCode()) {
orderRefund.setFinishTime(new Date());
}
editData(orderRefund);
// 退款成功

@ -85,7 +85,6 @@ public class OrderSettlementServiceImpl implements OrderSettlementService {
List<MerOrderSettlementDetailModel> list = settlementData(map);
List<OrderSettlementSumModel> sumModels = new ArrayList<>();
OrderSettlementSumModel sumModel;
@ -234,12 +233,8 @@ public class OrderSettlementServiceImpl implements OrderSettlementService {
} else {
model.setPayType("未知");
}
if (orderCinema.getFinishTime() != null) {
model.setFinishTime(DateUtil.date2String(orderCinema.getFinishTime() , DateUtil.Y_M_D_HMS));
} else {
model.setFinishTime(DateUtil.date2String(orderCinema.getUpdateTime() , DateUtil.Y_M_D_HMS));
}
model.setFinishTime(DateUtil.date2String(orderCinema.getCreateTime() , DateUtil.Y_M_D_HMS));
list.add(model);
}
return list;
@ -270,7 +265,7 @@ public class OrderSettlementServiceImpl implements OrderSettlementService {
} else {
model.setPayType("未知");
}
model.setFinishTime(DateUtil.date2String(orderStarbucks.getUpdateTime() , DateUtil.Y_M_D_HMS));
model.setFinishTime(DateUtil.date2String(orderStarbucks.getCreateTime() , DateUtil.Y_M_D_HMS));
list.add(model);
}
return list;
@ -283,6 +278,7 @@ public class OrderSettlementServiceImpl implements OrderSettlementService {
for (BsOrderMeituan orderMeiTuan : orderMeituanList) {
model = new MerOrderSettlementDetailModel();
model.setBusinessType("美团订单");
model.setBusiness(orderMeiTuan.getSqtBizOrderId());
model.setGoodsName(orderMeiTuan.getGoodsName());
model.setMerName(findMerName(orderMeiTuan.getMerId()));
if (orderMeiTuan.getPlatformCode() != null) {

@ -85,3 +85,8 @@ yuShangPostUrl=http://mbsmemberwebapi.test.onfishes.com/
haiOilPostUrl = https://test-oil.dctpay.com
haiOilAppid = hf7356c71fb97ab0
haiOilAppSecret = 8aef995ff71485dc19b36e35f04c4016
jDPostUrl = https://test-oil.dctpay.com
jDAppKey = C4FF710550C43FE76D4114E1C9C6A0C9
jDAppSecret = 873bcbc1d8d64f36832270c2ff59c194

@ -77,6 +77,10 @@ HgApiKey=3fd74e7c16b04681a0f481c5bc0a96d3
HgMemberId=1622808562621276161
HgPostUrl=http://113.250.49.100:8088/recharge/
yuShangAppKey=211394653
yuShangAppSecret=cyQpQKMaGUG186iEZRt1uQ==
yuShangPostUrl=http://mbsmemberwebapi.test.onfishes.com/
haiOilPostUrl = https://oil.dctpay.com
haiOilAppid = hf166f4b2ed75e71

@ -207,7 +207,7 @@ public class BsUserController {
try {
Map<String, Object> other = new HashMap<>();
return ResponseMsgUtil.success(userService.login(UserLoginPlatform.H5, UserLoginType.SMS, "18090580471", "123456", other));
return ResponseMsgUtil.success(userService.login(UserLoginPlatform.H5, UserLoginType.SMS, "13985476824", "123456", other));
} catch (Exception e) {
log.error("LoginController --> phone() error!", e);

Loading…
Cancel
Save