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<PartnerTrace> 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<PartnerTrace> 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<String> 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);
|
}
|
}
|