bug修复

This commit is contained in:
13405411873 2025-05-06 13:24:54 +08:00
parent fcefa000bf
commit 570e07d720
7 changed files with 105 additions and 9 deletions

View File

@ -1,7 +1,11 @@
package com.ruoyi.api;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import com.ruoyi.base.service.IBaseCategoryService;
import com.ruoyi.busi.domain.BusiNotice;
import com.ruoyi.busi.service.IBusiNoticeService;
import com.ruoyi.busi.utils.WeChatUtils;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.constant.Constants;
@ -21,6 +25,10 @@ public class WxApi {
private WeChatUtils weChatUtils;
@Autowired
private IMemberUserService memberUserService;
@Autowired
private IBusiNoticeService busiNoticeService;
@Autowired
private IBaseCategoryService baseCategoryService;
@GetMapping("/getCodeUrl")
@ -48,4 +56,33 @@ public class WxApi {
return ajax;
}
@PostMapping("/getUrlLink")
@Anonymous
public AjaxResult getUrlLink(String path,String query) {
BusiNotice busiNotice = busiNoticeService.getById(query);
String platformName = baseCategoryService.selectByCode(busiNotice.getPlatformCode()).get(0).getTitle();
String token = weChatUtils.getToken();
Map<String, Object> map = new HashMap<>();
map.put("path", path);
map.put("query", "noticeId="+query);
map.put("expire_type", 1);
map.put("expire_interval", 30);
String post = HttpUtil.post("https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + token, com.alibaba.fastjson2.JSONObject.toJSONString(map));
com.alibaba.fastjson2.JSONObject jsonObject = com.alibaba.fastjson2.JSONObject.parseObject(post);
if (jsonObject.get("errcode").equals(0)) {
String res="通告快接\n" +
""+platformName+"】【"+busiNotice.getTitle()+"\n" +
"招募人数:"+(busiNotice.getNeedNum()==null?"无上限":busiNotice.getNeedNum()+"\n") +
"通告明细:"+busiNotice.getDetail()+"\n" +
"报名链接:"+jsonObject.get("url_link")+"\n" +
"大量小红书、B站、抖音、快手、微博高质量通告";
return AjaxResult.success("ok",res);
}else {
return AjaxResult.error(jsonObject.get("errmsg").toString());
}
}
}

View File

@ -15,6 +15,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.member.service.IMemberCardService;
import com.ruoyi.member.service.IMemberUserService;
import com.ruoyi.member.vo.MemberUserVO;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -43,6 +45,8 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
private IMemberCardService cardService;
@Autowired
private BusiNoticeMapper noticeMapper;
@Autowired
private IMemberUserService memberUserService;
@Override
public IPage<BusiNoticeSign> queryListPage(BusiNoticeSign pageReqVO, Page<BusiNoticeSign> page) {
@ -70,7 +74,19 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
throw new Exception("报名人数已满!");
}
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
int i = 0;
//先使用赠送次数
MemberUserVO memberUserVO = memberUserService.queryByUserId(loginUser.getUserId(), "02");
if(memberUserVO.getSendReportNum()>=appNoticeSign.getCardList().size()){
//直接扣赠送次数即可
memberUserVO.setSendReportNum(memberUserVO.getSendReportNum()-appNoticeSign.getCardList().size());
memberUserService.updateById(memberUserVO);
}else{
//先扣赠送次数 再扣权益次数
long lastNum = appNoticeSign.getCardList().size() - memberUserVO.getSendReportNum();
cardService.dealMemberRights(loginUser.getUserId(),null,"report",Integer.valueOf(Long.toString(lastNum)));
memberUserVO.setSendReportNum(0L);
memberUserService.updateById(memberUserVO);
}
for (JSONObject cardInfo : appNoticeSign.getCardList()) {
BusiNoticeSign busiNoticeSign =new BusiNoticeSign();
busiNoticeSign.setNoticeId(appNoticeSign.getNoticeId());
@ -86,9 +102,8 @@ public class BusiNoticeSignServiceImpl extends ServiceImpl<BusiNoticeSignMapper,
busiNoticeSign.setIsSuper(appNoticeSign.getIsSuper());
busiNoticeSign.setAddrId(appNoticeSign.getAddressId());
busiNoticeSignMapper.insert(busiNoticeSign);
i++;
}
cardService.dealMemberRights(loginUser.getUserId(),null,"report",i);
}
/**

View File

@ -3,6 +3,7 @@ package com.ruoyi.busi.utils;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.ruoyi.common.config.WxAppConfig;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.payConfig.WechatPayConfig;
import lombok.extern.slf4j.Slf4j;
@ -19,6 +20,8 @@ public class WeChatUtils {
@Resource
private WechatPayConfig wechatPayConfig;
@Autowired
private WxAppConfig wxAppConfig;
@Autowired
private RedisCache redisCache;
@ -104,8 +107,8 @@ public class WeChatUtils {
}
// 如果Redis中没有或者强制刷新则从微信获取
String requestUrl = ACCESS_TOKEN_URL.replace("APPID", wechatPayConfig.getAppId())
.replace("APPSECRET", wechatPayConfig.getWxAppSecret());
String requestUrl = ACCESS_TOKEN_URL.replace("APPID", wxAppConfig.getAppId())
.replace("APPSECRET", wxAppConfig.getAppSecret());
String response = HttpUtil.get(requestUrl);
JSONObject jsonObject = JSONUtil.parseObj(response);
accessToken = jsonObject.getStr("access_token");

View File

@ -157,4 +157,15 @@ public class MemberUserController extends BaseController {
List<String> list = new ArrayList<>(Arrays.asList(ids));
return toAjax(memberUserService.removeByIds(list));
}
/**
* 赠送新人好礼
*/
@Log(title = "赠送新人好礼", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult sendNewGift() {
memberUserService.sendNewGift();
return success();
}
}

View File

@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.DlBaseEntity;
/**
* 会员对象 dl_member_user
*
*
* @author pqz
* @date 2025-03-17
*/
@ -72,6 +72,10 @@ public class MemberUser extends DlBaseEntity
/** 博主-剩余积分 */
@Excel(name = "博主-剩余积分")
private Long bpoints;
/**
* 博主剩余报名次数
*/
private Long sendReportNum;
public MemberUser (String userType, SysUser user,Integer addNotice){

View File

@ -87,5 +87,6 @@ public interface IMemberUserService extends IService<MemberUser> {
* @date 15:55 2025/3/26
**/
String gzhLogin(String wxOpenId, JSONObject userInfo);
void sendNewGift();
}

View File

@ -1,12 +1,15 @@
package com.ruoyi.member.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.base.domain.BaseConfig;
import com.ruoyi.base.service.IBaseCityService;
import com.ruoyi.base.service.IBaseConfigService;
import com.ruoyi.busi.service.IBusiEvaluateService;
import com.ruoyi.busi.service.IBusiNoticeService;
import com.ruoyi.common.config.DlRightsConfig;
@ -34,6 +37,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigInteger;
import java.util.List;
/**
* 会员Service业务层处理
@ -49,8 +54,7 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
private IBusiEvaluateService evaluateService;
@Resource
private IMemberCardService cardService;
@Resource
private IBusiNoticeService noticeService;
@Resource
private IMemberBusiCardService busiCardService;
@Autowired
@ -70,6 +74,8 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
@Autowired
@Lazy
private IMemberCardService memberCardService;
@Autowired
private IBaseConfigService baseConfigService;
/**
* 分页列表查询
@ -152,7 +158,11 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
//积分
result.setPointsBalance(pointsService.getBloggerBalance(userId));
//报名
result.setReport(cardService.getCardRightsValue(userId,"02","report"));
Integer report = cardService.getCardRightsValue(userId, "02", "report");
//赠送的报名次数
MemberUserVO memberUserVO = memberUserMapper.queryByUserId(userId, "02");
result.setReport(report+memberUserVO.getReport());
} else {
//通告券
result.setCoupon(couponService.getCoupon(userId));
@ -308,4 +318,19 @@ public class MemberUserServiceImpl extends ServiceImpl<MemberUserMapper, MemberU
// 生成token
return tokenService.createToken(loginUser);
}
//新人好礼
@Override
public void sendNewGift() {
//赠送博主报名次数
List<BaseConfig> sendNewGift = baseConfigService.queryConfigByCode("send_new_gift");
if(CollectionUtil.isNotEmpty(sendNewGift)){
JSONObject jsonObject = JSONObject.parseObject(sendNewGift.get(0).getJsonStr());
Long sendReportNum = jsonObject.getLong("sendReportNum");
Long userId = SecurityUtils.getUserId();
//博主通告主基本信息
MemberUserVO result = memberUserMapper.queryByUserId(userId, "02");
result.setSendReportNum(result.getSendReportNum()+sendReportNum);
memberUserMapper.updateById(result);
}
}
}