package com.xzx.gc.user.runner; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; import com.xzx.gc.common.Result; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.OrderEnum; import com.xzx.gc.common.utils.BusinessUtil; import com.xzx.gc.common.utils.gdmap.GdTraceUtil; import com.xzx.gc.entity.CityPartner; import com.xzx.gc.entity.OtherUserInfo; import com.xzx.gc.entity.PartnerTrace; import com.xzx.gc.user.service.CityPartnerService; import com.xzx.gc.user.service.OtherUserService; import com.xzx.gc.user.service.PartnerTraceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import java.util.List; /** */ @Component @Order(1) @Slf4j public class SystemInfoRunner implements CommandLineRunner { @Autowired private BusinessUtil businessUtil; @Autowired private CityPartnerService cityPartnerService; @Autowired private PartnerTraceService partnerTraceService; @Autowired private OtherUserService otherUserService; @Override public void run(String... args) throws Exception { log.debug(businessUtil.repeatService("用户服务启动完成")); List byType = cityPartnerService.findByType(OrderEnum.合伙人.getValue()); for (CityPartner cityPartner : byType) { if(StrUtil.isNotBlank(cityPartner.getPartnerKey())) { PartnerTrace byPartnerId = partnerTraceService.findByPartnerIdAndType(cityPartner.getId() + "", Convert.toShort(OrderEnum.回收员全天轨迹.getValue())); if (byPartnerId == null) { String service1 = partnerTraceService.createService(cityPartner, OrderEnum.回收员全天轨迹); if (StrUtil.isNotBlank(service1)) { GdTraceUtil.createTraceProp(cityPartner.getPartnerKey(), service1, "address", "string"); } }else { List byUserTypeAndPartner = otherUserService.findByUserTypeAndPartner(CommonEnum.回收员.getValue(), cityPartner.getId() + ""); for (OtherUserInfo otherUserInfo : byUserTypeAndPartner) { if(StrUtil.isBlank(otherUserInfo.getTerminalDayId())){ Result terminal = GdTraceUtil.createTerminal(byPartnerId.getPartnerKey(), byPartnerId.getPartnerServiceId(), otherUserInfo.getUserId()); if(terminal.getCode()==0){ OtherUserInfo obj=new OtherUserInfo(); obj.setUserId(otherUserInfo.getUserId()); obj.setTerminalDayId(terminal.getData()); otherUserService.updateById(obj); } } } } } } } }