updates 测试抖音退款回调接口

This commit is contained in:
zhouwentao 2024-06-25 13:20:54 +08:00
parent 04123f2fdc
commit 3f35e7d3f3
4 changed files with 32 additions and 9 deletions

View File

@ -96,6 +96,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/mini/user/dy/login","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("/art/major/majorInfo","anon");//前台-专业页面详情

View File

@ -30,6 +30,7 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.vo.LoginUser;
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.ItemStruct;
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.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
@ -78,6 +80,8 @@ public class MiniPayApiController {
private IYxVipSkuService yxVipSkuService;
@Autowired
private MiniUserService miniUserService;
@Resource
private RedisUtil redisUtil;
@Value("${dy.appId}")
String douyinAppId;
@Value("${dy.appSecret}")
@ -131,7 +135,7 @@ public class MiniPayApiController {
/**
* 微信支付
* 小程序支付
* https://blog.fasterinfo.top/13871.html
*/
@RequestMapping("/jsApiPay")
@ -234,7 +238,7 @@ public class MiniPayApiController {
}
/**
* 微信支付回调
* 抖音支付回调
*
* @param request
* @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() {
// 获取证书序列号
X509Certificate certificate = PayKit.getCertificate(certPath);

View File

@ -298,6 +298,7 @@ public class MiniUserController {
JSONObject baseDataObject = RestUtil.post("https://developer.toutiao.com/api/apps/v2/jscode2session", jsonObject);
String jsonString = JSONObject.toJSONString(jsonObject);
String baseDataStr = JSONObject.toJSONString(baseDataObject);
long redisTokenTime = CommonConstant.PERFIX_USER_TOKEN_TIME;
if (baseDataObject.get("data") == null) {
log.error("获取字节用户基本信息异常 req => {} , res => {}", jsonString, baseDataStr);
return Result.error("获取用户信息失败");
@ -310,6 +311,7 @@ public class MiniUserController {
String openId = baseData.get("openid").toString();
SysUser user = sysUserService.getByDyOpenId(openId);
if (user == null) {
redisTokenTime = 3600;
String salt = oConvertUtils.randomGen(8);
//新用户
user = new SysUser();
@ -335,7 +337,7 @@ public class MiniUserController {
String token = JwtUtil.sign(username, syspassword);
// 设置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();
LoginUser loginUser = new LoginUser();
BeanUtils.copyProperties(user, loginUser);

View File

@ -167,7 +167,7 @@ public class MusicService {
}
if (!"高职高专".equals(recommendMajorDTO.getBatch())) {
if (recommendMajorDTO.getRulesEnrollProbability().equals("文过专排主科")) {
if (recommendMajorDTO.getPrivateRulesEnrollProbability().equals("文过专排主科")) {
professionalScore2 = activeCurrentUserScore.getProfessionalScore();
professionalScore3 = activeCurrentUserScore.getProfessionalScore().multiply(YxConstant.bigDecimal05);
} else if ("1".equals(recommendMajorDTO.getCheckMaster())) {
@ -274,16 +274,16 @@ public class MusicService {
}
YxHistoryMajorEnroll yxHistoryMajorEnroll = historyMajorEnrollList.get(0);
BigDecimal admissionLine = yxHistoryMajorEnroll.getAdmissionLine();
enrollProbability = studentScore.divide(admissionLine, 4, RoundingMode.HALF_UP);
enrollProbability = studentScore.divide(admissionLine, 6, RoundingMode.HALF_UP);
//当前年主科成绩跟去年的专业主科录取分 相等按照正常的概率去算 *0.75
enrollProbability = enrollProbability.multiply(YxConstant.bigDecimal075).multiply(YxConstant.bigDecimal100);
//当前年主科成绩小于去年的专业主科录取分按照正常的概率去算 *0.75之后 每少1分少10%概率
if (studentScore.compareTo(admissionLine) < 0) {
/*if (studentScore.compareTo(admissionLine) < 0) {
enrollProbability = enrollProbability.subtract((admissionLine.subtract(studentScore)).multiply(YxConstant.bigDecimal10));
}
}*/
recommendMajorDTO.setEnrollProbability(enrollProbability);
recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
// recommendMajorDTO.setRulesEnrollProbability(ScoreUtil.replaceLastZeroChar(rulesEnrollProbability));
// recommendMajorDTO.setProbabilityOperator(ScoreUtil.replaceLastZeroChar(probabilityOperator));
} else {
//当前年省控线
nowYearProvincialControlLine = ScoreUtil.covertIntoControlLine(rulesEnrollProbability, culturalControlLine, specialControlLine, recommendMajorDTO.getFirstLevelDiscipline(), probabilityOperator);