记得上下班打卡 | git大法好,push需谨慎

Commit fdd7b079 authored by jiangxiulong's avatar jiangxiulong

关注任务加积分 脚本

parent 34f438e2
package com.liquidnet.service.sweet.dto;
import lombok.Data;
@Data
public class SweetWechatUsersDoTaskDto {
private String unionId;
private String userId;
private String purePhoneNumber;
}
\ No newline at end of file
package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.dto.SweetWechatUsersDoTaskDto;
import com.liquidnet.service.sweet.entity.SweetWechatUsers;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
......@@ -13,4 +18,25 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface SweetWechatUsersMapper extends BaseMapper<SweetWechatUsers> {
@Select({
"select a.union_id as unionId, b.user_id as userId, b.pure_phone_number as purePhoneNumber " +
"from sweet_wechat_users as a" +
" inner join sweet_applet_users as b on a.union_id = b.union_id" +
" left join (select * from stone_score_logs where content = '关注摩登天空服务号') as ssu on ssu.uid = b.user_id " +
"where a.type = 2 " +
"and ssu.content is null " +
"order by a.created_at desc " +
"limit #{offset}"
})
List<SweetWechatUsersDoTaskDto> selectListDo(@Param("offset") int offset);
@Select({
"select count(*) " +
"from sweet_wechat_users as a" +
" inner join sweet_applet_users as b on a.union_id = b.union_id" +
" left join (select * from stone_score_logs where content = '关注摩登天空服务号') as ssu on ssu.uid = b.user_id " +
"where a.type = 2 " +
"and ssu.content is null "
})
int selectListDoCount();
}
package com.liquidnet.service.platform.controller.sweet;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.platform.utils.DataUtils;
import com.liquidnet.service.sweet.entity.SweetWechatUsers;
import com.liquidnet.service.sweet.dto.SweetWechatUsersDoTaskDto;
import com.liquidnet.service.sweet.mapper.SweetWechatUsersMapper;
import com.liquidnet.service.sweet.vo.SweetAppletUsersVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -15,7 +12,6 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
......@@ -27,7 +23,7 @@ import java.util.List;
* @author jiangxiulong
* @since 2021-12-28
*/
@Api(tags = "关注任务加积分脚本")
@Api(tags = "关注任务加积分")
@Slf4j
@RestController
@RequestMapping("followDoTask")
......@@ -39,46 +35,26 @@ public class TaskController {
@Autowired
private FeignStoneIntegralClient feignStoneIntegralClient;
@Autowired
private DataUtils dataUtils;
@GetMapping("doTask")
@ApiOperation("退款回调")
@ApiOperation("关注任务加积分")
public ResponseDto doTask() {
int size = 1000;
LocalDateTime localDateTime = LocalDateTime.now();
LocalDateTime newTime = localDateTime.minusMinutes(10);
// String timeStr = "2021-12-28 00:00:00";
// DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// LocalDateTime dateTime = LocalDateTime.parse(timeStr, df);
// 获取总记录数
Integer count = usersMapper.selectCount(
Wrappers.lambdaQuery(SweetWechatUsers.class)
.gt(SweetWechatUsers::getCreatedAt, newTime)
.eq(SweetWechatUsers::getType, 2)
);
int doCount = usersMapper.selectListDoCount();
// 总page
int countPage = (int) Math.ceil(count / size);
int countPage = (int) Math.ceil(doCount / size);
countPage = countPage + 1;
for (int page = 0; page < countPage; page++) {
List<SweetWechatUsers> sweetWechatUsers = usersMapper.selectList(
Wrappers.lambdaQuery(SweetWechatUsers.class)
.gt(SweetWechatUsers::getCreatedAt, newTime)
.last("limit " + (page * size) + "," + ((page + 1) * size))
);
for (SweetWechatUsers info : sweetWechatUsers) {
List<SweetWechatUsersDoTaskDto> users = usersMapper.selectListDo(size);
for (SweetWechatUsersDoTaskDto user : users) {
try {
SweetAppletUsersVo sweetAppletUsers = dataUtils.getSweetAppletUsersOfUnionId(info.getUnionId());
if (sweetAppletUsers != null) {
if (sweetAppletUsers.getUserId() != null && !sweetAppletUsers.getUserId().isEmpty()) {
log.info("followDoTask userId:{}", sweetAppletUsers.getUserId());
ResponseDto<HashMap<String, Object>> hashMapResponseDto = feignStoneIntegralClient.doTask(4, sweetAppletUsers.getUserId());
//log.info("followDoTask res:{}", hashMapResponseDto);
}
}
log.info("批量处理领取关注公众号积分params:[uid={}]", user.getUserId());
ResponseDto<HashMap<String, Object>> hashMapResponseDto = feignStoneIntegralClient.doTask(4, user.getUserId());
log.info("批量处理领取关注公众号积分处理结果:[{}] ", hashMapResponseDto.getData());
} catch (Exception e) {
log.info("批量处理领取关注公众号积分失败:[errorMsg=[{}], [uid=[{}]", e.getMessage(), user.getUserId());
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment