## Feat - 体系分享图&支付回调增加支付通道流水号

This commit is contained in:
sangelxiu1 2025-07-14 14:14:03 +08:00
parent 24e207c89d
commit 56fcda4854
18 changed files with 78 additions and 3 deletions

View File

@ -626,4 +626,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
*/
BdTradeWhiteConfig selectMemberByUnderBlood(@Param("pkMember") Long pkMember, @Param("memberType") Integer memberType);
String getSharePosterImage(@Param("userId") Long userId);
}

View File

@ -895,4 +895,9 @@ public interface ICuMemberService extends IService<CuMember> {
*/
BdTradeWhiteConfig selectMemberByUnderBlood(Long pkMember, Integer memberType);
/**
* 获取用户体系分享图片
* @return
*/
String getSharePosterImage();
}

View File

@ -3232,4 +3232,9 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
return baseMapper.selectMemberByUnderBlood(pkMember, memberType);
}
@Override
public String getSharePosterImage() {
return baseMapper.getSharePosterImage(SecurityUtils.getUserId());
}
}

View File

@ -6,6 +6,7 @@ import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
@ -15,6 +16,7 @@ import com.hzs.common.core.enums.EGrade;
import com.hzs.common.core.enums.ENoticeWebsiteType;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.PageUtils;
import com.hzs.common.core.utils.sign.Base64Util;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
@ -75,6 +77,14 @@ public class RetailMemberController extends BaseController {
}
return AjaxResult.success(retailMemberInfoVO);
}
@GetMapping("/get-shared-image")
public AjaxResult getSharedImage() {
JSONObject result = new JSONObject();
String url = iCuMemberService.getSharePosterImage();
result.set("url", url);
result.set("base64", Base64Util.toUrlBase64(url));
return AjaxResult.success(result);
}
/**
* 获取会员收益区域

View File

@ -15,4 +15,5 @@ public interface IMemberRetailService {
*/
RetailMemberInfoVO getMemberInfo(Long pkMember);
String getSharePosterImage();
}

View File

@ -91,9 +91,15 @@ public class MemberRetailServiceImpl implements IMemberRetailService {
.pkCountry(cuMember.getPkCountry())
.pkSettleCountry(cuMember.getPkSettleCountry())
.isActivate(cuMember.getIsActivate())
.sharePosterImage(cuMember.getSharePosterImage())
.build();
}
return null;
}
@Override
public String getSharePosterImage() {
return iCuMemberService.getSharePosterImage();
}
}

View File

@ -141,4 +141,10 @@ public class RetailMemberInfoVO implements Serializable {
*/
private Integer isActivate;
/**
* 分享海报图片
*/
private String sharePosterImage;
}

View File

@ -1887,6 +1887,7 @@
<!-- 查询菜单用户 -->
<select id="getMenuMember" resultType="com.hzs.common.domain.member.ext.CuMemberExt">
select cm.*,
bv.SHARE_POSTER_IMAGE as sharePosterImage,
case
when tmp1.pk_member is null then
1
@ -1932,6 +1933,7 @@
and cms.APPROVE_STATUS = 5
and cms.APPLY_STATUS = 5) tmp10
on tmp10.pk_member = cm.pk_id
left join BD_VERTEX bv on bv.PK_ID = cm.PK_VERTEX
where cm.pk_id = #{pkMember}
and cm.del_flag = 0
</select>
@ -2475,5 +2477,13 @@
and t0.category = 0)
where rownum = 1
</select>
<select id="getSharePosterImage" resultType="java.lang.String" parameterType="java.lang.Long">
select
bv.SHARE_POSTER_IMAGE AS sharePosterImage
FROM
cu_member cm
LEFT JOIN BD_VERTEX bv ON bv.PK_ID = cm.PK_VERTEX
where cm.PK_ID = ${userId}
</select>
</mapper>

View File

@ -100,6 +100,7 @@ public class BdVertexController extends BaseController {
bdVertex.setPkMember(mb.getPkId());
bdVertex.setSystemType(systemType);
bdVertex.setRegionVertexPkId(vertexParam.getRegionVertexPkId());
bdVertex.setSharePosterImage(vertexParam.getSharePosterImage());
iBdVertexService.save(bdVertex);
return AjaxResult.success();
}
@ -139,6 +140,7 @@ public class BdVertexController extends BaseController {
bdVertex.setModifiedTime(new Date());
bdVertex.setPkModified(SecurityUtils.getUserId());
bdVertex.setRegionVertexPkId(vertexParam.getRegionVertexPkId());
bdVertex.setSharePosterImage(vertexParam.getSharePosterImage());
if (null == bdVertex.getPkParent()) {
bdVertex.setPkParent(0);
}

View File

@ -59,4 +59,9 @@ public class VertexParam {
private Integer sort;
private Long regionVertexPkId;
/**
* 分享海报图片
*/
private String sharePosterImage;
}

View File

@ -52,4 +52,9 @@ public class VertexVo extends BaseEntity {
@TableField("REGION_VERTEX_PK_ID")
private Long regionVertexPkId;
/**
* 分享海报图片
*/
private String sharePosterImage;
}

View File

@ -211,4 +211,10 @@ public class CuMemberExt extends CuMember {
*/
private String lastMemberCode;
/**
* 分享海报图片
*/
private String sharePosterImage;
}

View File

@ -57,4 +57,7 @@ public class BdVertex extends BaseEntity {
@TableField("REGION_VERTEX_PK_ID")
private Long regionVertexPkId;
@TableField("SHARE_POSTER_IMAGE")
private String sharePosterImage;
}

View File

@ -131,13 +131,14 @@ public class JdPayNotifyController extends JdBaseController {
String thirdOrderCode = successNotify.getOutTradeNo();
// 订单编号
String orderCode = thirdOrderCode;
String acqOrderId = successNotify.getAcqOrderId();
// 订单金额
int tradeAmount = Integer.parseInt(successNotify.getTradeAmount());
BigDecimal payMoney = new BigDecimal(tradeAmount).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP);
Integer payType = convertPayType(successNotify.getPayTool());
// 支付后续业务处理
if (iPayService.notifyHandle(type, orderCode, thirdOrderCode, payNumber, payTime, payMoney, EPayChannel.JD, channelNumber, payType)) {
if (iPayService.notifyHandle(type, orderCode, thirdOrderCode, payNumber, payTime, payMoney, EPayChannel.JD, channelNumber, payType, acqOrderId)) {
return SUCCESS;
}
} else {

View File

@ -95,4 +95,5 @@ public class JdPayTradeSuccessNotify implements Serializable {
*/
private String installmentNum;
private String acqOrderId;
}

View File

@ -29,7 +29,7 @@ public interface IPayService {
EPayChannel ePayChannel, String channelNumber);
boolean notifyHandle(String businessType, String businessCode, String originalOrder,
String payNumber, Date payTime, BigDecimal payMoney,
EPayChannel ePayChannel, String channelNumber, Integer payType);
EPayChannel ePayChannel, String channelNumber, Integer payType, String acqOrderId);
/**

View File

@ -107,7 +107,9 @@ public class PayServiceImpl implements IPayService {
}
@Override
public boolean notifyHandle(String businessType, String businessCode, String originalOrder, String payNumber, Date payTime, BigDecimal payMoney, EPayChannel ePayChannel, String channelNumber, Integer payType) {
public boolean notifyHandle(String businessType, String businessCode, String originalOrder, String payNumber,
Date payTime, BigDecimal payMoney, EPayChannel ePayChannel, String channelNumber,
Integer payType, String acqOrderId) {
// 校验支付信息状态业务与支付金额是否一致等
TOnlinePayment onlinePayment = itOnlinePaymentService.queryByBusiness(
ObjectUtil.isNotEmpty(businessType) ? Integer.valueOf(businessType) : null
@ -132,6 +134,7 @@ public class PayServiceImpl implements IPayService {
onlinePayment.setPkModified(MagicNumberConstants.PK_ADMIN);
onlinePayment.setModifiedTime(new Date());
onlinePayment.setPayType(payType);
onlinePayment.setChannelNumber(acqOrderId);
if (null != ePayChannel) {
onlinePayment.setPayChannel(ePayChannel.getValue());
}

View File

@ -0,0 +1,4 @@
ALTER TABLE "BD_VERTEX"
ADD ("SHARE_POSTER_IMAGE" VARCHAR(200));
COMMENT ON COLUMN "BD_VERTEX"."SHARE_POSTER_IMAGE" IS '分享海报图'