记得上下班打卡 | 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; package com.liquidnet.service.sweet.mapper;
import com.liquidnet.service.sweet.dto.SweetWechatUsersDoTaskDto;
import com.liquidnet.service.sweet.entity.SweetWechatUsers; import com.liquidnet.service.sweet.entity.SweetWechatUsers;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +18,25 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +18,25 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface SweetWechatUsersMapper extends BaseMapper<SweetWechatUsers> { 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; package com.liquidnet.service.platform.controller.sweet;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient; import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.platform.utils.DataUtils; import com.liquidnet.service.sweet.dto.SweetWechatUsersDoTaskDto;
import com.liquidnet.service.sweet.entity.SweetWechatUsers;
import com.liquidnet.service.sweet.mapper.SweetWechatUsersMapper; import com.liquidnet.service.sweet.mapper.SweetWechatUsersMapper;
import com.liquidnet.service.sweet.vo.SweetAppletUsersVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -15,7 +12,6 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -15,7 +12,6 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -27,7 +23,7 @@ import java.util.List; ...@@ -27,7 +23,7 @@ import java.util.List;
* @author jiangxiulong * @author jiangxiulong
* @since 2021-12-28 * @since 2021-12-28
*/ */
@Api(tags = "关注任务加积分脚本") @Api(tags = "关注任务加积分")
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("followDoTask") @RequestMapping("followDoTask")
...@@ -39,46 +35,26 @@ public class TaskController { ...@@ -39,46 +35,26 @@ public class TaskController {
@Autowired @Autowired
private FeignStoneIntegralClient feignStoneIntegralClient; private FeignStoneIntegralClient feignStoneIntegralClient;
@Autowired
private DataUtils dataUtils;
@GetMapping("doTask") @GetMapping("doTask")
@ApiOperation("退款回调") @ApiOperation("关注任务加积分")
public ResponseDto doTask() { public ResponseDto doTask() {
int size = 1000; int size = 1000;
LocalDateTime localDateTime = LocalDateTime.now(); int doCount = usersMapper.selectListDoCount();
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)
);
// 总page // 总page
int countPage = (int) Math.ceil(count / size); int countPage = (int) Math.ceil(doCount / size);
countPage = countPage + 1; countPage = countPage + 1;
for (int page = 0; page < countPage; page++) { for (int page = 0; page < countPage; page++) {
List<SweetWechatUsers> sweetWechatUsers = usersMapper.selectList( List<SweetWechatUsersDoTaskDto> users = usersMapper.selectListDo(size);
Wrappers.lambdaQuery(SweetWechatUsers.class) for (SweetWechatUsersDoTaskDto user : users) {
.gt(SweetWechatUsers::getCreatedAt, newTime)
.last("limit " + (page * size) + "," + ((page + 1) * size))
);
for (SweetWechatUsers info : sweetWechatUsers) {
try { try {
SweetAppletUsersVo sweetAppletUsers = dataUtils.getSweetAppletUsersOfUnionId(info.getUnionId()); log.info("批量处理领取关注公众号积分params:[uid={}]", user.getUserId());
if (sweetAppletUsers != null) { ResponseDto<HashMap<String, Object>> hashMapResponseDto = feignStoneIntegralClient.doTask(4, user.getUserId());
if (sweetAppletUsers.getUserId() != null && !sweetAppletUsers.getUserId().isEmpty()) { log.info("批量处理领取关注公众号积分处理结果:[{}] ", hashMapResponseDto.getData());
log.info("followDoTask userId:{}", sweetAppletUsers.getUserId());
ResponseDto<HashMap<String, Object>> hashMapResponseDto = feignStoneIntegralClient.doTask(4, sweetAppletUsers.getUserId());
//log.info("followDoTask res:{}", hashMapResponseDto);
}
}
} catch (Exception e) { } 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