package com.xzx.gc.user.service; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.xzx.gc.common.Result; import com.xzx.gc.common.constant.Constants; 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.mapper.PartnerTraceMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service @Transactional @Slf4j public class PartnerTraceService { @Autowired private PartnerTraceMapper partnerTraceMapper; /** * * 根据合伙人id和服务类型查找 * @param partnerId * @param serviceType * @return */ public PartnerTrace findByPartnerIdAndType(String partnerId,Short serviceType){ PartnerTrace partnerGaode=new PartnerTrace(); partnerGaode.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG)); partnerGaode.setPartnerId(partnerId); partnerGaode.setPartnerServiceType(serviceType); List partnerGaode1 = partnerTraceMapper.select(partnerGaode); if(CollUtil.isNotEmpty(partnerGaode1)){ return partnerGaode1.get(0); } return null; } public PartnerTrace findByPartnerId(String partnerId,Short serviceType){ PartnerTrace partnerGaode=new PartnerTrace(); partnerGaode.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG)); partnerGaode.setPartnerId(partnerId); partnerGaode.setPartnerServiceType(serviceType); List partnerGaode1 = partnerTraceMapper.select(partnerGaode); if(CollUtil.isNotEmpty(partnerGaode1)){ return partnerGaode1.get(0); } return null; } /** * 删除终端 * @param partnerId * @param serviceType * @param terminalId */ public void deleteTerimainal(String partnerId,String serviceType,String terminalId){ PartnerTrace byPartnerId = findByPartnerId(partnerId, Convert.toShort(serviceType)); if (byPartnerId != null) { GdTraceUtil.deleteTerminal(byPartnerId.getPartnerKey(), byPartnerId.getPartnerServiceId(), terminalId); } } /** * 创建终端 * @param partnerId * @param serviceType * @param terminalName */ public String createTerimainal(String partnerId,String serviceType,String terminalName){ PartnerTrace byPartnerId = findByPartnerId(partnerId, Convert.toShort(serviceType)); if (byPartnerId != null) { Result terminal = GdTraceUtil.createTerminal(byPartnerId.getPartnerKey(), byPartnerId.getPartnerServiceId(), terminalName); if(terminal.getCode()==0){ log.debug("终端创建成功:{}",terminalName); return terminal.getData(); } } return null; } public String createService(CityPartner cityPartner,OrderEnum orderEnum){ Result service = GdTraceUtil.createService(cityPartner.getPartnerKey(), cityPartner.getPartnerKey()+"_"+orderEnum.name()); if(service.getCode()==0){ PartnerTrace partnerTrace=new PartnerTrace(); partnerTrace.setPartnerId(cityPartner.getId()+""); partnerTrace.setPartnerKey(cityPartner.getPartnerKey()); partnerTrace.setPartnerServiceId(service.getData().toString()); partnerTrace.setPartnerServiceType( Convert.toShort(orderEnum.getValue())); add(partnerTrace); return partnerTrace.getPartnerServiceId(); } return null; } public void add(PartnerTrace partnerTrace){ partnerTrace.setCreateTime(DateUtil.now()); partnerTrace.setUpdateTime(DateUtil.now()); partnerTrace.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG)); partnerTraceMapper.insertSelective(partnerTrace); } }