package com.xzx.gc.order.service; import cn.hutool.core.util.StrUtil; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.entity.AddressInfo; import com.xzx.gc.entity.OtherUserInfo; import com.xzx.gc.entity.PartnerGaode; import com.xzx.gc.model.order.FenceDto; import com.xzx.gc.order.mapper.AddressMapper; import com.xzx.gc.order.mapper.PartnerGaodeMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import tk.mybatis.mapper.entity.Example; import java.util.List; @Service @Transactional(rollbackFor = Exception.class) public class PartnerGaodeService { @Autowired private PartnerGaodeMapper partnerGaodeMapper; @Autowired private AddressService addressService; @Autowired private OtherUserService otherUserService; @Autowired private FenceService fenceService; public PartnerGaode findByTownId(String townId){ if(StrUtil.isBlank(townId))return null; Example example=new Example(PartnerGaode.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("delFlag",Constants.DEL_NOT_FLAG); criteria.andEqualTo("townId",townId); criteria.andCondition("partner_id!=partner_key"); return partnerGaodeMapper.selectOneByExample(example); } /** * 根据用户id和类型 查询合伙人Id * @param userId * @param type * @return */ public String findPartnerIdByUserId(String userId,int type){ if(type==0){ AddressInfo byUserId = addressService.findByUserId(userId); if(byUserId!=null){ String townId=byUserId.getTownshipId(); FenceDto fence = fenceService.getFence(townId, false, byUserId.getLongitude(), byUserId.getLatitude(), false); if(StrUtil.isNotBlank(fence.getFenceId())){ return fence.getPartnerId(); } } }else if(type==1){ OtherUserInfo byId = otherUserService.findById(userId); return byId.getPartnerId(); } return null; } public String findPartnerIdByAddress(AddressInfo addressInfo){ FenceDto fence = fenceService.getFence(addressInfo.getTownshipId(), false, addressInfo.getLongitude(), addressInfo.getLatitude(), false); if(StrUtil.isNotBlank(fence.getFenceId())){ return fence.getPartnerId(); } return null; } /** * 根据合伙人ID查找合伙人列表 * @param partnerId * @return */ public List findByPartnerId(String partnerId){ PartnerGaode partnerGaode=new PartnerGaode(); partnerGaode.setDelFlag(Constants.DEL_NOT_FLAG); partnerGaode.setPartnerId(partnerId); List partnerGaode1 = partnerGaodeMapper.select(partnerGaode); return partnerGaode1; } }