Compare commits

...

6 Commits
dev ... master

Author SHA1 Message Date
kuang.yife 94adb8c5dc 单身收益/单身用户上传微信 2024-02-23 09:24:02 +08:00
kuang.yife d1a8c32fb7 爬取数据 2024-02-19 18:02:05 +08:00
kuang.yife bf46395558 推荐 用户接口问题修复 2024-02-19 16:18:40 +08:00
kuang.yife 2a0c46100a 重复喜欢,需要幂等 2024-02-19 14:48:01 +08:00
kuang.yife 2195eaad01 不喜欢返回剩余条数 2024-02-18 18:08:54 +08:00
kuang.yife fcbb0188c1 仓库迁移 2024-02-18 15:55:24 +08:00
8 changed files with 120 additions and 10 deletions

View File

@ -50,7 +50,7 @@ public class TbUserAppController {
@Transactional(rollbackFor = Exception.class)
public Result<String> drawData()
{
for (int i = 101; i< 150; i++){
for (int i = 151; i< 250; i++){
try {
Thread.sleep(3000L);
log.info("请求的url路径:{}", SZ_URL_PREFIX + i);

View File

@ -1,5 +1,6 @@
package com.ruoyi.web.controller.app;
import cn.hutool.core.date.DateUtil;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.system.domain.TbUserBlock;
import com.ruoyi.system.service.ITbUserBlockService;
@ -22,7 +23,12 @@ public class TbUserBlockAppController {
public Result<String> addSave(@RequestBody TbUserBlock tbUserBlock)
{
tbUserBlockService.insertTbUserBlock(tbUserBlock);
return Result.success();
// 查询当前用户今日剩余次数
long count = tbUserBlockService.lambdaQuery()
.ge(TbUserBlock::getCreateTime, DateUtil.today())
.eq(TbUserBlock::getTbUserId, tbUserBlock.getTbUserId())
.count();
return Result.success(String.valueOf(10-count), "操作成功!");
}
}

View File

@ -29,6 +29,14 @@ public class TbUserFollowAppController {
@ApiOperation(value = "关注用户", httpMethod = "POST")
public Result<String> addSave(@RequestBody TbUserFollow tbUserFollow)
{
// 判断是否已经关注了对方
long count = tbUserFollowService.lambdaQuery()
.eq(TbUserFollow::getFollowUserId, tbUserFollow.getFollowUserId())
.eq(TbUserFollow::getUserId, tbUserFollow.getUserId())
.count();
if(count > 0){
return Result.success("重复关注,忽略");
}
// 判断用户是否也关注自己
TbUserFollow followUser = tbUserFollowService.lambdaQuery()
.eq(TbUserFollow::getFollowUserId, tbUserFollow.getUserId())

View File

@ -6,7 +6,9 @@ import com.ruoyi.common.core.domain.Result;
import com.ruoyi.system.domain.TbUserMatchOrder;
import com.ruoyi.web.request.AdapayReq;
import com.ruoyi.web.request.Event;
import com.ruoyi.web.request.MatchRetailReq;
import com.ruoyi.web.response.AdapayResp;
import com.ruoyi.web.response.MatchRetailResp;
import com.ruoyi.web.service.AdapayService;
import com.ruoyi.web.service.CallBackService;
import io.swagger.annotations.Api;
@ -17,6 +19,7 @@ import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* <p>开通合伙人相关接口</p>
@ -47,6 +50,23 @@ public class TbUserMatchOrderAppController {
}
@ResponseBody
@PostMapping(value = "/getUserRetail")
@ApiOperation(value = "查询用户收益", response = MatchRetailResp.class)
public Result<MatchRetailResp> getUserRetail(@RequestBody MatchRetailReq matchRetailReq){
try {
MatchRetailResp resp = new MatchRetailResp();
resp.setUserId(matchRetailReq.getUserId());
resp.setTotalRetail(BigDecimal.valueOf(1351L));
resp.setMonthRetail(BigDecimal.valueOf(351L));
resp.setWaitRetail(BigDecimal.valueOf(351L));
return Result.success(resp);
}catch (Exception e){
return Result.error(e.getMessage());
}
}
@ResponseBody
@PostMapping(value = "/pay")
@ApiOperation(value = "支付接口", response = AdapayResp.class)

View File

@ -5,7 +5,9 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.constant.RedisConstants;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.service.*;
import com.ruoyi.web.request.UserSingleRecommendReq;
@ -14,11 +16,13 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@ -45,6 +49,9 @@ public class TbUserSingleAppController {
@Autowired
private ITbUserBlockService tbUserBlockService;
@Autowired
private StringRedisTemplate stringRedisTemplate;
@ResponseBody
@PostMapping("/add")
@ApiOperation(value = "填写用户信息", httpMethod = "POST")
@ -95,7 +102,16 @@ public class TbUserSingleAppController {
public Result<PageInfo<TbUserSingle>> recommend(@RequestBody TbUserSingle tbUserSingle,
@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize) {
PageHelper.startPage(pageNum, pageSize);
// 获取当前登陆人信息
TbUserSingle userSingle = tbUserSingleService.lambdaQuery().eq(TbUserSingle::getUserId, tbUserSingle.getUserId()).one();
Long notExcludeSex = tbUserSingle.getSex();
// 查询当前人的不喜欢列表
List<TbUserBlock> tbUserBlocks = tbUserBlockService.lambdaQuery()
.eq(TbUserBlock::getTbUserId, userSingle.getUserId()).list();
List<Long> blockIds = tbUserBlocks.stream().map(TbUserBlock::getBlockUserId).collect(Collectors.toList());
// -- 参数设置成null
tbUserSingle.setUserId(null);
// 18
if(tbUserSingle.getAgeStart() != null){
Calendar calendar = DateUtil.calendar(new Date());
@ -110,13 +126,36 @@ public class TbUserSingleAppController {
// 1994
tbUserSingle.setBirthdayStart(calendar.getTime());
}
String alreadyCode = stringRedisTemplate.opsForValue().get(RedisConstants.SINGLE_USER_PREFIX + userSingle.getUserId());
if(StringUtils.isEmpty(alreadyCode)){
int randomPageNum = 1 + (int) (18 * Math.random());
Calendar midDay=Calendar.getInstance();
midDay.setTime(new Date());
midDay.add(Calendar.DAY_OF_MONTH,1);//将日加1
midDay.set(Calendar.HOUR_OF_DAY,0);//控制时
midDay.set(Calendar.MINUTE,0);//控制分
midDay.set(Calendar.SECOND,0);//控制秒
Integer seconds=(int)((midDay.getTime().getTime()-new Date().getTime())/1000);
alreadyCode = String.valueOf(randomPageNum);
stringRedisTemplate.opsForValue().set(RedisConstants.SINGLE_USER_PREFIX + userSingle.getUserId(), alreadyCode, seconds, TimeUnit.SECONDS);
}
PageHelper.startPage(Integer.parseInt(alreadyCode), pageSize);
List<TbUserSingle> list = tbUserSingleService.selectTbUserSingleList(tbUserSingle);
list = list.stream().filter(x->!blockIds.contains(x.getUserId())).collect(Collectors.toList());
list.forEach(model->{
if(model.getBirthday() != null){
model.setAge(DateUtil.ageOfNow(model.getBirthday()));
}
model.setMatchSay(tbMatchSingleSayService.lambdaQuery().eq(TbMatchSingleSay::getSingleId, model.getId()).one());
model.setTbUserImgList(tbUserImgService.lambdaQuery().eq(TbUserImg::getUserId, model.getUserId()).list());
// 填充是否已经关注
if(ObjectUtil.isNotEmpty(userSingle)){
long count = tbUserFollowService.lambdaQuery().eq(TbUserFollow::getFollowUserId, model.getUserId())
.eq(TbUserFollow::getUserId, userSingle.getUserId()).count();
if(count > 0){
model.setIsLike(true);
}
}
});
return Result.success(PageInfo.of(list));
}
@ -129,14 +168,10 @@ public class TbUserSingleAppController {
public Result<PageInfo<TbUserSingle>> recommendForSingle(@RequestBody UserSingleRecommendReq recommendReq,
@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize) {
Long notExcludeSex = null;
// 获取当前登陆人信息
TbUserSingle userSingle = tbUserSingleService.lambdaQuery().eq(TbUserSingle::getUserId, recommendReq.getUserId()).one();
if(userSingle != null){
notExcludeSex = userSingle.getSex();
}else {
notExcludeSex = recommendReq.getSex();
}
Long notExcludeSex = recommendReq.getSex();
// 查询当前人的不喜欢列表
List<TbUserBlock> tbUserBlocks = tbUserBlockService.lambdaQuery()
.eq(TbUserBlock::getTbUserId, userSingle.getUserId()).list();
@ -149,7 +184,7 @@ public class TbUserSingleAppController {
.orderByDesc(TbUserSingle::getStatus)
.list();
list.forEach(model->{
//填充年纪
//填充年纪-
if(model.getBirthday() != null){
model.setAge(DateUtil.ageOfNow(model.getBirthday()));
}

View File

@ -0,0 +1,14 @@
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "App*媒婆收益入参")
public class MatchRetailReq {
@ApiModelProperty(value = "用户id")
private Long userId;
}

View File

@ -0,0 +1,25 @@
package com.ruoyi.web.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "App*媒婆收益响应")
public class MatchRetailResp {
@ApiModelProperty(value = "用户id")
private Long userId;
@ApiModelProperty(value = "总收益")
private BigDecimal totalRetail;
@ApiModelProperty(value = "本月收益")
private BigDecimal monthRetail;
@ApiModelProperty(value = "待提现收益")
private BigDecimal waitRetail;
}

View File

@ -4,4 +4,6 @@ public class RedisConstants {
public final static String SMS_CODE_PREFIX = "SMS_CODE_";
public final static String SINGLE_USER_PREFIX = "SINGLE_USER_";
}