xiaoyong931011
2023-09-27 ea33d20cf8f59acde652f66cbaa7e05fa1bc2be3
bannner
1 files added
4 files modified
75 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/ApiSetInviteDto.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -202,6 +202,15 @@
        return iApiMallAgentService.agentApply(apiAgentApplyDto);
    }
    /**
     * 绑定默认推荐人
     */
    @ApiOperation(value = "绑定默认推荐人")
    @PostMapping(value = "/setInvite")
    public FebsResponse setInvite(@RequestBody @Validated ApiSetInviteDto apiSetInviteDto) {
        return memberService.setInvite(apiSetInviteDto);
    }
    @ApiOperation(value = "代理申请信息")
    @GetMapping(value = "/agentApplyInfo")
    public FebsResponse agentApplyInfo() {
src/main/java/cc/mrbird/febs/mall/dto/ApiSetInviteDto.java
New file
@@ -0,0 +1,18 @@
package cc.mrbird.febs.mall.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
@ApiModel(value = "ApiSetInviteDto", description = "申请代理")
public class ApiSetInviteDto {
    //邀请码
    @NotBlank(message = "邀请码不能为空")
    @ApiModelProperty(value = "邀请码")
    private String inviteId;
}
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -89,4 +89,6 @@
    FebsResponse memberCoupon(MallMemberCouponDto mallMemberCouponDto);
    FebsResponse couponDetails(Long id);
    FebsResponse setInvite(ApiSetInviteDto apiSetInviteDto);
}
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -937,6 +937,48 @@
        return new FebsResponse().success().data(mallMemberCouponVo);
    }
    @Override
    public FebsResponse setInvite(ApiSetInviteDto apiSetInviteDto) {
        Long memberId = LoginUserUtil.getLoginUser().getId();
        MallMember mallMember = this.baseMapper.selectById(memberId);
        if(ObjectUtil.isNotEmpty(mallMember.getReferrerId())){
            throw new FebsException("已绑定");
        }
        String inviteId = apiSetInviteDto.getInviteId();
        MallMember member = this.baseMapper.selectInfoByInviteId(inviteId);
        if (member != null) {
            mallMember.setReferrerId(member.getInviteId());
            //推荐人和推荐人链
            boolean flag = false;
            String parentId = mallMember.getReferrerId();
            if (StrUtil.isBlank(parentId)) {
                flag = true;
            }
            String ids = "";
            while (!flag) {
                if (StrUtil.isBlank(ids)) {
                    ids += parentId;
                } else {
                    ids += ("," + parentId);
                }
                MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId);
                if (parentMember == null) {
                    break;
                }
                parentId = parentMember.getReferrerId();
                if (StrUtil.isBlank(parentMember.getReferrerId())) {
                    flag = true;
                }
            }
            if (StrUtil.isNotBlank(ids)) {
                mallMember.setReferrerIds(ids);
            }
            this.baseMapper.updateById(mallMember);
        }
        return new FebsResponse().success();
    }
    private  String getXcxLoginUrl(String code) {
        String wechatLoginUrl =xcxProperties.getWecharLoginUrl();
        return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code);
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -226,9 +226,13 @@
                    orderItem.setGoodsName(sku.getGoodsName());
                    orderItem.setSkuId(sku.getId());
                    orderItem.setState(1);
                    if(ObjectUtil.isNotEmpty(member.getReferrerId())){
                        orderItem.setMemberInviteId(member.getReferrerId());
                    }
                    if(ObjectUtil.isNotEmpty(addOrderDto.getMemberInviteId())){
                        orderItem.setMemberInviteId(addOrderDto.getMemberInviteId());
                    }
                    orderItem.setStyleName(sku.getStyleName());
                    orderItem.setSkuName(sku.getSkuName());
                    orderItem.setSkuImage(sku.getSkuImage());