diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-api/src/main/java/com/baiye/controller/ProxyController.java b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-api/src/main/java/com/baiye/controller/ProxyController.java index aea909d..ad70abc 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-api/src/main/java/com/baiye/controller/ProxyController.java +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-api/src/main/java/com/baiye/controller/ProxyController.java @@ -33,14 +33,14 @@ public class ProxyController { @GetMapping("/findProxy") @Inner(value = false) @ApiOperation("手机号绑定代理") - public Result findProxy(@RequestParam("phone") String phone){ + public Result findProxy(@RequestParam("phone") String phone) { return Result.data(proxyService.findProxy(phone)); } @PostMapping("/add") @Inner(value = false) @ApiOperation("添加IP") - public Result add(@Validated({AddGroup.class}) @RequestBody ProxyEntity proxyEntity){ + public Result add(@Validated({AddGroup.class}) @RequestBody ProxyEntity proxyEntity) { proxyService.add(proxyEntity); return Result.success(); } @@ -48,7 +48,7 @@ public class ProxyController { @PostMapping("/update") @Inner(value = false) @ApiOperation("修改IP") - public Result update(@Validated({UpdateGroup.class}) @RequestBody ProxyEntity proxyEntity){ + public Result update(@Validated({UpdateGroup.class}) @RequestBody ProxyEntity proxyEntity) { proxyService.update(proxyEntity); return Result.success(); } @@ -56,7 +56,7 @@ public class ProxyController { @DeleteMapping("/del") @Inner(value = false) @ApiOperation("删除IP-并删除绑定") - public Result del(@RequestParam("id") Long id, @RequestParam("type") Integer type){ + public Result del(@RequestParam("id") Long id, @RequestParam("type") Integer type) { proxyService.del(id, type); return Result.success(); } @@ -64,21 +64,21 @@ public class ProxyController { @GetMapping("/ipBindingList") @Inner(value = false) @ApiOperation("IP绑定手机号-列表") - public PageResult ipBindingList(ProxyDTO proxyDTO, Pageable pageable){ + public PageResult ipBindingList(ProxyDTO proxyDTO, Pageable pageable) { return proxyService.ipBindingList(proxyDTO, pageable); } @GetMapping("/list") @Inner(value = false) @ApiOperation("IP列表") - public Result> list(){ + public Result> list() { return Result.data(proxyService.list()); } @PostMapping("/delAccount") @Inner(value = false) @ApiOperation("删除账号绑定关系") - public Result delAccount(@RequestBody List phoneList){ + public Result delAccount(@RequestBody List phoneList) { proxyService.delAccount(phoneList); return Result.success(); } @@ -86,7 +86,7 @@ public class ProxyController { @GetMapping("/addAccountIp") @Inner(value = false) @ApiOperation("添加账号-IP绑定") - public Result addAccountIp(@RequestParam("proxyId") Long proxyId, @RequestParam("phone") String phone){ + public Result addAccountIp(@RequestParam("proxyId") Long proxyId, @RequestParam("phone") String phone) { proxyService.addAccountIp(proxyId, phone); return Result.success(); } @@ -94,8 +94,16 @@ public class ProxyController { @PostMapping("/writeProxy") @Inner(value = false) @ApiOperation("文件写入代理信息") - public Result writeProxy(@RequestParam("file") MultipartFile file){ + public Result writeProxy(@RequestParam("file") MultipartFile file) { proxyService.writeProxy(file); return Result.success(); } + + @PostMapping("/addSurplusDay") + @Inner(value = false) + @ApiOperation("续期剩余使用天数") + public Result addSurplusDay(@RequestBody ProxyDTO proxyDTO) { + proxyService.addSurplusDay(proxyDTO); + return Result.success(); + } } diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dao/ProxyMapper.java b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dao/ProxyMapper.java index 5bd917e..8fc8c32 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dao/ProxyMapper.java +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dao/ProxyMapper.java @@ -1,5 +1,6 @@ package com.baiye.dao; +import com.baiye.dto.ProxyDTO; import com.baiye.entity.ProxyEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -21,4 +22,6 @@ public interface ProxyMapper extends BaseMapper { void updateExpireDateSubtractOne(); void updateExpireDateStatus(); + + void addSurplusDay(@Param("ids") List ids,@Param("num") Integer num); } diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dto/ProxyDTO.java b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dto/ProxyDTO.java index 5573fc0..1ab08cf 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dto/ProxyDTO.java +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-core/src/main/java/com/baiye/dto/ProxyDTO.java @@ -3,6 +3,8 @@ package com.baiye.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @Author YQY * @Date 2023/3/29 @@ -15,4 +17,10 @@ public class ProxyDTO { @ApiModelProperty("ip地址") private String ip; + + @ApiModelProperty("id") + private List ids; + + @ApiModelProperty("剩余使用天数") + private Integer surplusDay; } diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/ProxyService.java b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/ProxyService.java index 6db727e..b38eb98 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/ProxyService.java +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/ProxyService.java @@ -63,4 +63,9 @@ public interface ProxyService { * 文件写入代理信息 */ void writeProxy(MultipartFile file); + + /** + * 批量续期到期时间 + */ + void addSurplusDay(ProxyDTO proxyDTO); } diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/IntellectSmartServiceImpl.java b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/IntellectSmartServiceImpl.java index 53c9066..0773368 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/IntellectSmartServiceImpl.java +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/IntellectSmartServiceImpl.java @@ -117,6 +117,7 @@ public class IntellectSmartServiceImpl implements IntellectSmartService { e.printStackTrace(); } writer.close(); + //没有图片了 // delPic(pictureTemplates); } diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/ProxyServiceImpl.java b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/ProxyServiceImpl.java index 78ed4e5..51f7c09 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/ProxyServiceImpl.java +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/java/com/baiye/service/impl/ProxyServiceImpl.java @@ -58,10 +58,10 @@ public class ProxyServiceImpl implements ProxyService { // 2、有绑定关系直接返回 ProxyAccountEntity entity = proxyAccountMapper.selectOne(new LambdaQueryWrapper().eq(ProxyAccountEntity::getNid, phone)); if (ObjectUtil.isNull(entity)) { - throw new BadRequestException("未绑定代理Ip,请绑定ip后重试"); + throw new BadRequestException("未绑定代理Ip,请绑定ip后重试,号码:" + phone); } ProxyEntity proxyEntity = proxyMapper.selectById(entity.getProxyId()); - return verifyProxy(proxyEntity); + return verifyProxy(proxyEntity, phone); // if (entity != null && entity.getId() != null) { // return proxyMapper.selectById(entity.getProxyId()); // } @@ -200,7 +200,7 @@ public class ProxyServiceImpl implements ProxyService { entities = proxyAccountMapper.selectList(new LambdaQueryWrapper<>()); } Map> map = entities.stream().collect(Collectors.groupingBy(ProxyAccountEntity::getProxyId)); - + wrapper.orderByDesc(ProxyEntity::getCreateTime); Page iPage = proxyMapper.selectPage(page, wrapper); for (ProxyEntity record : iPage.getRecords()) { if (map.containsKey(record.getId())) { @@ -215,7 +215,7 @@ public class ProxyServiceImpl implements ProxyService { @Override public List list() { - return proxyMapper.selectList(new QueryWrapper<>()); + return proxyMapper.selectList(new QueryWrapper().orderByDesc("create_time")); } @Override @@ -226,8 +226,21 @@ public class ProxyServiceImpl implements ProxyService { @Override public void addAccountIp(Long proxyId, String phone) { - ProxyAccountEntity proxyAccountEntity = new ProxyAccountEntity(phone, proxyId); - proxyAccountMapper.insert(proxyAccountEntity); + List list = new ArrayList<>(); + String[] split = phone.split(","); + + for (String p : split) { + log.info("号码 =" + p.trim()); + ProxyAccountEntity proxyAccountEntity = new ProxyAccountEntity(p.trim(), proxyId); + list.add(proxyAccountEntity); + } + if (CollUtil.isNotEmpty(list)) { + try { + proxyAccountMapper.insertAll(list); + } catch (Exception e) { + throw new BadRequestException("请检查输入是否正确"); + } + } } @Override @@ -262,13 +275,18 @@ public class ProxyServiceImpl implements ProxyService { } } + @Override + public void addSurplusDay(ProxyDTO proxyDTO) { + proxyMapper.addSurplusDay(proxyDTO.getIds(), proxyDTO.getSurplusDay()); + } + /** * 验证代理ip是否可用 * * @param proxyEntity * @return */ - private ProxyEntity verifyProxy(ProxyEntity proxyEntity) { + private ProxyEntity verifyProxy(ProxyEntity proxyEntity, String phone) { try { String account = proxyEntity.getAccount(); String password = proxyEntity.getPassword(); @@ -290,12 +308,12 @@ public class ProxyServiceImpl implements ProxyService { .timeout(2_000) .execute(); if (execute.getStatus() != 200) { - log.info("代理请求失败: {}", proxyEntity.getIp()); - throw new BadRequestException("代理Ip不可用,请重新绑定"); + log.info("代理请求失败: {},号码:{}", proxyEntity.getIp(), phone); + throw new BadRequestException("代理Ip不可用,请重新绑定,号码:" + phone); } } catch (Exception e) { - log.error("无效的代理地址: {}, 错误信息:{}", proxyEntity.getIp(), e.getMessage()); - throw new BadRequestException("代理Ip不可用,请重新绑定"); + log.error("无效的代理地址: {},号码:{}, 错误信息:{}", proxyEntity.getIp(), phone, e.getMessage()); + throw new BadRequestException("代理Ip不可用,请重新绑定,号码:" + phone); } return proxyEntity; } diff --git a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/resources/mapper/ProxyMapper.xml b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/resources/mapper/ProxyMapper.xml index a33c55c..0901d95 100644 --- a/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/resources/mapper/ProxyMapper.xml +++ b/cdp-tools/cdp-tool-xhs/cdp-tool-xhs-service/src/main/resources/mapper/ProxyMapper.xml @@ -8,21 +8,35 @@ where id not in (select proxy_id from tb_proxy_phone where phone = #{phone}) - + insert into tb_proxy (ip, port, account, password, address, agreement_type, surplus_day, is_domestic, agent, status, create_time) values (#{item.ip}, #{item.port}, #{item.account}, #{item.password}, #{item.address}, - #{item.agreementType}, #{item.surplusDay}, #{item.isDomestic}, #{item.agent}, #{item.status}, #{item.createTime}) + #{item.agreementType}, #{item.surplusDay}, #{item.isDomestic}, #{item.agent}, #{item.status}, + #{item.createTime}) - update tb_proxy set surplus_day = surplus_day - 1 where surplus_day > 0 + update tb_proxy + set surplus_day = surplus_day - 1 + where surplus_day > 0 - update tb_proxy set status = 1 where status = 0 AND surplus_day = 0 + update tb_proxy + set status = 1 + where status = 0 + AND surplus_day = 0 + + + update tb_proxy + set surplus_day = surplus_day + ${num} + where id in + + #{index} + \ No newline at end of file