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

This commit is contained in:
sangelxiu1 2025-07-14 14:14:03 +08:00
parent 22a8489629
commit f476b3a09a
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); 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); 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); 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.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil; import cn.hutool.core.lang.tree.TreeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.annotation.RepeatSubmitSimple; 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.ENoticeWebsiteType;
import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.PageUtils; 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.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
@ -75,6 +77,14 @@ public class RetailMemberController extends BaseController {
} }
return AjaxResult.success(retailMemberInfoVO); 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); RetailMemberInfoVO getMemberInfo(Long pkMember);
String getSharePosterImage();
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -57,4 +57,7 @@ public class BdVertex extends BaseEntity {
@TableField("REGION_VERTEX_PK_ID") @TableField("REGION_VERTEX_PK_ID")
private Long regionVertexPkId; 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 thirdOrderCode = successNotify.getOutTradeNo();
// 订单编号 // 订单编号
String orderCode = thirdOrderCode; String orderCode = thirdOrderCode;
String acqOrderId = successNotify.getAcqOrderId();
// 订单金额 // 订单金额
int tradeAmount = Integer.parseInt(successNotify.getTradeAmount()); int tradeAmount = Integer.parseInt(successNotify.getTradeAmount());
BigDecimal payMoney = new BigDecimal(tradeAmount).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); BigDecimal payMoney = new BigDecimal(tradeAmount).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP);
Integer payType = convertPayType(successNotify.getPayTool()); 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; return SUCCESS;
} }
} else { } else {

View File

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

View File

@ -29,7 +29,7 @@ public interface IPayService {
EPayChannel ePayChannel, String channelNumber); EPayChannel ePayChannel, String channelNumber);
boolean notifyHandle(String businessType, String businessCode, String originalOrder, boolean notifyHandle(String businessType, String businessCode, String originalOrder,
String payNumber, Date payTime, BigDecimal payMoney, 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 @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( TOnlinePayment onlinePayment = itOnlinePaymentService.queryByBusiness(
ObjectUtil.isNotEmpty(businessType) ? Integer.valueOf(businessType) : null ObjectUtil.isNotEmpty(businessType) ? Integer.valueOf(businessType) : null
@ -132,6 +134,7 @@ public class PayServiceImpl implements IPayService {
onlinePayment.setPkModified(MagicNumberConstants.PK_ADMIN); onlinePayment.setPkModified(MagicNumberConstants.PK_ADMIN);
onlinePayment.setModifiedTime(new Date()); onlinePayment.setModifiedTime(new Date());
onlinePayment.setPayType(payType); onlinePayment.setPayType(payType);
onlinePayment.setChannelNumber(acqOrderId);
if (null != ePayChannel) { if (null != ePayChannel) {
onlinePayment.setPayChannel(ePayChannel.getValue()); 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 '分享海报图'