puzhibing
2025-01-13 acccff9860b271d55c55dc87486f7c20b9896e6c
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java
@@ -4,16 +4,22 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.feignClient.UserPointClient;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.api.model.UserPoint;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.other.api.domain.PointSetting;
import com.ruoyi.other.api.domain.Share;
import com.ruoyi.other.api.domain.Shop;
import com.ruoyi.other.api.feignClient.ShopClient;
import com.ruoyi.other.enums.ShareAddType;
import com.ruoyi.other.enums.ShareAuditStatus;
import com.ruoyi.other.service.PointSettingService;
import com.ruoyi.other.service.ShareService;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
@@ -22,6 +28,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
@@ -46,6 +53,10 @@
    private ShopClient shopClient;
    @Resource
    private SysUserClient sysUserClient;
    @Resource
    private UserPointClient userPointClient;
    @Resource
    private PointSettingService pointSettingService;
    
    
@@ -135,6 +146,7 @@
        if(sysUser.getRoleType() == 2){
            share.setObjectId(sysUser.getObjectId().longValue());
        }
        share.setAuditStatus(0);
        share.setDelFlag(0);
        shareService.save(share);
        return R.ok();
@@ -235,6 +247,38 @@
    @GetMapping("/auth/getAppletShare")
    public R<Share> getAppletShare(){
        Share one = shareService.getOne(new LambdaQueryWrapper<Share>().eq(Share::getDelFlag, 0).eq(Share::getAppletShare, 1).eq(Share::getAuditStatus, 1).last(" limit 0, 1"));
        //添加每日分享积分
        String token = SecurityUtils.getToken(ServletUtils.getRequest());
        if(StringUtils.isNotEmpty(token)){
            Long userid = tokenService.getLoginUserApplet().getUserid();
            Boolean data = userPointClient.judgmentDailyShare(userid).getData();
            if(!data){
                AppUser appUser = appUserClient.getAppUserById(userid);
                PointSetting pointSetting = pointSettingService.getOne(new LambdaQueryWrapper<PointSetting>().eq(PointSetting::getId, appUser.getVipId()).eq(PointSetting::getDelFlag, 0));
                if(null != pointSetting){
                    Integer everySharePoint = pointSetting.getEverySharePoint();
                    Integer lavePoint = appUser.getLavePoint();
                    appUser.setTotalSharePoint(appUser.getTotalSharePoint() + everySharePoint);
                    appUser.setLavePoint(appUser.getLavePoint() + everySharePoint);
                    appUser.setAvailablePoint(appUser.getAvailablePoint() + everySharePoint);
                    appUser.setTransferablePoint(appUser.getTransferablePoint() + everySharePoint);
                    appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + everySharePoint);
                    appUser.setTotalPoint(appUser.getTotalPoint() + everySharePoint);
                    appUserClient.editAppUserById(appUser);
                    //添加积分流水
                    UserPoint userPoint = new UserPoint();
                    userPoint.setAppUserId(userid);
                    userPoint.setType(4);
                    userPoint.setHistoricalPoint(lavePoint);
                    userPoint.setVariablePoint(everySharePoint);
                    userPoint.setBalance(appUser.getLavePoint());
                    userPoint.setCreateTime(LocalDateTime.now());
                    userPoint.setAppUserId(appUser.getId());
                    userPointClient.saveUserPoint(userPoint);
                }
            }
        }
        return R.ok(one);
    }