updates 测试抖音退款回调接口
This commit is contained in:
parent
04123f2fdc
commit
3f35e7d3f3
|
|
@ -96,6 +96,7 @@ public class ShiroConfig {
|
||||||
filterChainDefinitionMap.put("/mini/user/dy/login","anon");//抖音小程序登录
|
filterChainDefinitionMap.put("/mini/user/dy/login","anon");//抖音小程序登录
|
||||||
filterChainDefinitionMap.put("/wx/pay/v1/payNotify","anon");//订单支付回调校验
|
filterChainDefinitionMap.put("/wx/pay/v1/payNotify","anon");//订单支付回调校验
|
||||||
|
|
||||||
|
filterChainDefinitionMap.put("/mini/pay/vi/dy/payNotify","anon");
|
||||||
filterChainDefinitionMap.put("/mini/pay/v1/payNotify","anon");//订单支付回调校验
|
filterChainDefinitionMap.put("/mini/pay/v1/payNotify","anon");//订单支付回调校验
|
||||||
|
|
||||||
filterChainDefinitionMap.put("/art/major/majorInfo","anon");//前台-专业页面详情
|
filterChainDefinitionMap.put("/art/major/majorInfo","anon");//前台-专业页面详情
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.exception.JeecgBootException;
|
import org.jeecg.common.exception.JeecgBootException;
|
||||||
import org.jeecg.common.system.vo.LoginUser;
|
import org.jeecg.common.system.vo.LoginUser;
|
||||||
import org.jeecg.common.util.AssertUtils;
|
import org.jeecg.common.util.AssertUtils;
|
||||||
|
import org.jeecg.common.util.RedisUtil;
|
||||||
import org.jeecg.modules.mini.douyin.model.DouYinOrderSyncModel;
|
import org.jeecg.modules.mini.douyin.model.DouYinOrderSyncModel;
|
||||||
import org.jeecg.modules.mini.douyin.model.ItemStruct;
|
import org.jeecg.modules.mini.douyin.model.ItemStruct;
|
||||||
import org.jeecg.modules.mini.douyin.util.DouWayPaymentMethod;
|
import org.jeecg.modules.mini.douyin.util.DouWayPaymentMethod;
|
||||||
|
|
@ -50,6 +51,7 @@ import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
|
|
@ -78,6 +80,8 @@ public class MiniPayApiController {
|
||||||
private IYxVipSkuService yxVipSkuService;
|
private IYxVipSkuService yxVipSkuService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MiniUserService miniUserService;
|
private MiniUserService miniUserService;
|
||||||
|
@Resource
|
||||||
|
private RedisUtil redisUtil;
|
||||||
@Value("${dy.appId}")
|
@Value("${dy.appId}")
|
||||||
String douyinAppId;
|
String douyinAppId;
|
||||||
@Value("${dy.appSecret}")
|
@Value("${dy.appSecret}")
|
||||||
|
|
@ -131,7 +135,7 @@ public class MiniPayApiController {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信支付
|
* 小程序支付
|
||||||
* https://blog.fasterinfo.top/13871.html
|
* https://blog.fasterinfo.top/13871.html
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/jsApiPay")
|
@RequestMapping("/jsApiPay")
|
||||||
|
|
@ -234,7 +238,7 @@ public class MiniPayApiController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信支付回调
|
* 抖音支付回调
|
||||||
*
|
*
|
||||||
* @param request
|
* @param request
|
||||||
* @param response
|
* @param response
|
||||||
|
|
@ -355,6 +359,22 @@ public class MiniPayApiController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 抖音支付回调
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/dy/payNotify", method = {RequestMethod.POST, RequestMethod.GET})
|
||||||
|
public void dyPayNotify(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
Map<String, String> map = new HashMap<>(12);
|
||||||
|
System.out.println("/dy/payNotify:");
|
||||||
|
String result = HttpKit.readData(request);
|
||||||
|
System.out.println(result);
|
||||||
|
redisUtil.set(new Date().getTime()+"_dy_payNotify",request);
|
||||||
|
}
|
||||||
|
|
||||||
private String getSerialNumber() {
|
private String getSerialNumber() {
|
||||||
// 获取证书序列号
|
// 获取证书序列号
|
||||||
X509Certificate certificate = PayKit.getCertificate(certPath);
|
X509Certificate certificate = PayKit.getCertificate(certPath);
|
||||||
|
|
|
||||||
|
|
@ -298,6 +298,7 @@ public class MiniUserController {
|
||||||
JSONObject baseDataObject = RestUtil.post("https://developer.toutiao.com/api/apps/v2/jscode2session", jsonObject);
|
JSONObject baseDataObject = RestUtil.post("https://developer.toutiao.com/api/apps/v2/jscode2session", jsonObject);
|
||||||
String jsonString = JSONObject.toJSONString(jsonObject);
|
String jsonString = JSONObject.toJSONString(jsonObject);
|
||||||
String baseDataStr = JSONObject.toJSONString(baseDataObject);
|
String baseDataStr = JSONObject.toJSONString(baseDataObject);
|
||||||
|
long redisTokenTime = CommonConstant.PERFIX_USER_TOKEN_TIME;
|
||||||
if (baseDataObject.get("data") == null) {
|
if (baseDataObject.get("data") == null) {
|
||||||
log.error("获取字节用户基本信息异常 req => {} , res => {}", jsonString, baseDataStr);
|
log.error("获取字节用户基本信息异常 req => {} , res => {}", jsonString, baseDataStr);
|
||||||
return Result.error("获取用户信息失败");
|
return Result.error("获取用户信息失败");
|
||||||
|
|
@ -310,6 +311,7 @@ public class MiniUserController {
|
||||||
String openId = baseData.get("openid").toString();
|
String openId = baseData.get("openid").toString();
|
||||||
SysUser user = sysUserService.getByDyOpenId(openId);
|
SysUser user = sysUserService.getByDyOpenId(openId);
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
|
redisTokenTime = 3600;
|
||||||
String salt = oConvertUtils.randomGen(8);
|
String salt = oConvertUtils.randomGen(8);
|
||||||
//新用户
|
//新用户
|
||||||
user = new SysUser();
|
user = new SysUser();
|
||||||
|
|
@ -335,7 +337,7 @@ public class MiniUserController {
|
||||||
String token = JwtUtil.sign(username, syspassword);
|
String token = JwtUtil.sign(username, syspassword);
|
||||||
// 设置token缓存有效时间
|
// 设置token缓存有效时间
|
||||||
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
|
redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
|
||||||
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, CommonConstant.PERFIX_USER_TOKEN_TIME);
|
redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, redisTokenTime);
|
||||||
JSONObject obj = new JSONObject();
|
JSONObject obj = new JSONObject();
|
||||||
LoginUser loginUser = new LoginUser();
|
LoginUser loginUser = new LoginUser();
|
||||||
BeanUtils.copyProperties(user, loginUser);
|
BeanUtils.copyProperties(user, loginUser);
|
||||||
|
|
|
||||||
|
|
@ -167,7 +167,7 @@ public class MusicService {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!"高职高专".equals(recommendMajorDTO.getBatch())) {
|
if (!"高职高专".equals(recommendMajorDTO.getBatch())) {
|
||||||
if (recommendMajorDTO.getRulesEnrollProbability().equals("文过专排主科")) {
|
if (recommendMajorDTO.getPrivateRulesEnrollProbability().equals("文过专排主科")) {
|
||||||
professionalScore2 = activeCurrentUserScore.getProfessionalScore();
|
professionalScore2 = activeCurrentUserScore.getProfessionalScore();
|
||||||
professionalScore3 = activeCurrentUserScore.getProfessionalScore().multiply(YxConstant.bigDecimal05);
|
professionalScore3 = activeCurrentUserScore.getProfessionalScore().multiply(YxConstant.bigDecimal05);
|
||||||
} else if ("1".equals(recommendMajorDTO.getCheckMaster())) {
|
} else if ("1".equals(recommendMajorDTO.getCheckMaster())) {
|
||||||
|
|
@ -274,16 +274,16 @@ public class MusicService {
|
||||||
}
|
}
|
||||||
YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollList.get(0);
|
YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollList.get(0);
|
||||||
BigDecimal admissionLine = yxHistoryMajorEnroll.getAdmissionLine();
|
BigDecimal admissionLine = yxHistoryMajorEnroll.getAdmissionLine();
|
||||||
enrollProbability = studentScore.divide(admissionLine, 4, RoundingMode.HALF_UP);
|
enrollProbability = studentScore.divide(admissionLine, 6, RoundingMode.HALF_UP);
|
||||||
//当前年主科成绩跟去年的专业主科录取分 相等,按照正常的概率去算 :*0.75
|
//当前年主科成绩跟去年的专业主科录取分 相等,按照正常的概率去算 :*0.75
|
||||||
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075).multiply(YxConstant.bigDecimal100);
|
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075).multiply(YxConstant.bigDecimal100);
|
||||||
//当前年主科成绩小于去年的专业主科录取分,按照正常的概率去算 :*0.75,之后 每少1分,少10%概率
|
//当前年主科成绩小于去年的专业主科录取分,按照正常的概率去算 :*0.75,之后 每少1分,少10%概率
|
||||||
if (studentScore.compareTo(admissionLine) < 0) {
|
/*if (studentScore.compareTo(admissionLine) < 0) {
|
||||||
enrollProbability = enrollProbability.subtract((admissionLine.subtract(studentScore)).multiply(YxConstant.bigDecimal10));
|
enrollProbability = enrollProbability.subtract((admissionLine.subtract(studentScore)).multiply(YxConstant.bigDecimal10));
|
||||||
}
|
}*/
|
||||||
recommendMajorDTO.setEnrollProbability(enrollProbability);
|
recommendMajorDTO.setEnrollProbability(enrollProbability);
|
||||||
recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
|
// recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
|
||||||
recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
|
// recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
|
||||||
} else {
|
} else {
|
||||||
//当前年省控线
|
//当前年省控线
|
||||||
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
|
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue