bug修复
This commit is contained in:
parent
fcefa000bf
commit
570e07d720
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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");
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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){
|
||||
|
@ -87,5 +87,6 @@ public interface IMemberUserService extends IService<MemberUser> {
|
||||
* @date 15:55 2025/3/26
|
||||
**/
|
||||
String gzhLogin(String wxOpenId, JSONObject userInfo);
|
||||
void sendNewGift();
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user