|
@@ -7,6 +7,7 @@ import cn.com.ctop.crawler.modules.appium.entity.*;
|
|
|
import cn.com.ctop.crawler.modules.appium.mapper.AppiumJobMapper;
|
|
|
import cn.com.ctop.crawler.modules.appium.mapper.AppiumTaskItemMapper;
|
|
|
import cn.com.ctop.crawler.modules.appium.mapper.AppiumTaskLogMapper;
|
|
|
+import cn.com.ctop.crawler.modules.appium.mapper.AppiumTaskMapper;
|
|
|
import cn.com.ctop.crawler.modules.appium.service.IAppiumDeviceService;
|
|
|
import cn.com.ctop.crawler.modules.appium.service.IAppiumJobService;
|
|
|
import cn.com.ctop.crawler.modules.appium.service.IAppiumTaskService;
|
|
@@ -40,7 +41,7 @@ import java.util.Stack;
|
|
|
@Service
|
|
|
public class AppiumJobServiceImpl extends ServiceImpl<AppiumJobMapper, AppiumJob> implements IAppiumJobService {
|
|
|
@Autowired
|
|
|
- private AppiumJobMapper appiumJobMapper;
|
|
|
+ private AppiumTaskMapper taskMapper;
|
|
|
@Autowired
|
|
|
private AppiumTaskItemMapper taskItemMapper;
|
|
|
@Value("${jeecg.path.chrome-driver}")
|
|
@@ -51,19 +52,12 @@ public class AppiumJobServiceImpl extends ServiceImpl<AppiumJobMapper, AppiumJob
|
|
|
private AppiumTaskLogMapper appiumTaskLogMapper;
|
|
|
|
|
|
@Override
|
|
|
- public void runTask(Long jobId, Long num) {
|
|
|
- //TODO 需要考虑多个任务并列
|
|
|
- //1:根据jobId查询所属执行task信息
|
|
|
- List<AppiumTask> taskList = appiumJobMapper.getTaskByJobId(jobId);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String loginTask(Long taskId) {
|
|
|
+ public String loginTask(Long taskId, AppiumDevice device) {
|
|
|
String kuaishouId = null;
|
|
|
try {
|
|
|
+ AppiumTask task = taskMapper.selectById(taskId);
|
|
|
AppiumUtil appiumUtil = new AppiumUtil();
|
|
|
- AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://39.106.184.70:4723/wd/hub", "183.131.157.66:10005", "com.smile.gifmaker", "com.yxcorp.gifshow.HomeActivity");
|
|
|
-// appiumUtil.loginTask(androidDriver, null, null);
|
|
|
+ AndroidDriver androidDriver = appiumUtil.initAndroidDriver("http://39.106.184.70:4723/wd/hub", device.getIp() + ":" + device.getPort(), task.getAppPackage(), task.getAppActivity());
|
|
|
Map<String, Object> result = new HashMap<>();
|
|
|
ResultMapUtils.setResultMap(result, StatusCode.KUAISHOU_CRAWLER_APP_SUCCESS.getCode());
|
|
|
boolean loop = true;
|
|
@@ -162,50 +156,6 @@ public class AppiumJobServiceImpl extends ServiceImpl<AppiumJobMapper, AppiumJob
|
|
|
private IAppiumTaskService appiumTaskService;
|
|
|
|
|
|
@Override
|
|
|
- public Map<String, Object> startTask(String account, String password, String creativeName, Integer num) {
|
|
|
- Map<String, Object> result = new HashMap<>();
|
|
|
- int i = 0;
|
|
|
- while (i < num) {
|
|
|
- if (i > num) {
|
|
|
- break;
|
|
|
- }
|
|
|
- //获取手机设备信息
|
|
|
- AppiumDevice appiumDevice = appiumDeviceService.getById(2L);
|
|
|
- appiumDevice.setStatus(2);
|
|
|
- appiumDeviceService.updateById(appiumDevice);
|
|
|
- AppiumTaskLog log = new AppiumTaskLog();
|
|
|
- log.setDeviceId(2);
|
|
|
- log.setDeviceIp(appiumDevice.getIp());
|
|
|
- log.setDevicePort(appiumDevice.getPort());
|
|
|
- log.setStatus(1);
|
|
|
- log.setTaskId(1);
|
|
|
- log.setTaskName("快手刷量任务");
|
|
|
- appiumTaskLogMapper.insert(log);
|
|
|
- log.setId(log.getId());
|
|
|
- try {
|
|
|
- //一键新机
|
|
|
- boolean success = refreshWebPhone();
|
|
|
- String ksId = loginTask(2L);
|
|
|
- if (null == ksId) {
|
|
|
- updateStatus(appiumDevice, log, -1, 1);
|
|
|
- continue;
|
|
|
- }
|
|
|
- boolean isBind = bindCreative(account, password, creativeName, ksId);
|
|
|
- if (!isBind) {
|
|
|
- updateStatus(appiumDevice, log, -2, 1);
|
|
|
- continue;
|
|
|
- }
|
|
|
- appiumTaskService.runTask(1, 1);
|
|
|
- i++;
|
|
|
- } catch (Exception e) {
|
|
|
- updateStatus(appiumDevice, log, -3, 1);
|
|
|
- continue;
|
|
|
- }
|
|
|
- }
|
|
|
- return result;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public boolean refreshWebPhone() {
|
|
|
boolean success = false;
|
|
|
String url = "https://lcloud.longene.com.cn/";
|
|
@@ -256,7 +206,8 @@ public class AppiumJobServiceImpl extends ServiceImpl<AppiumJobMapper, AppiumJob
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void updateStatus(AppiumDevice appiumDevice, AppiumTaskLog log, Integer logStatus, Integer deviceStatus) {
|
|
|
+ @Override
|
|
|
+ public void updateStatus(AppiumDevice appiumDevice, AppiumTaskLog log, Integer logStatus, Integer deviceStatus) {
|
|
|
log.setStatus(3);
|
|
|
appiumTaskLogMapper.updateById(log);
|
|
|
appiumDevice.setStatus(1);
|