package com.ydd.app.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydd.api.DeliveryService; import com.ydd.app.QueryAmountEntityUtils; import com.ydd.app.service.ApiDeliveryService; import com.ydd.common.enums.DeliveryTypeEnums; import com.ydd.common.utils.StringUtils; import com.ydd.ecloud.core.utils.JsonMapper; import com.ydd.module.domain.*; import com.ydd.module.dto.DeliveryDto; import com.ydd.module.dto.DeliveryInfo; import com.ydd.module.dto.MemberConfigDto; import com.ydd.module.enums.BindStatusEnum; import com.ydd.module.enums.IsDeleteEnum; import com.ydd.module.enums.StatusEnum; import com.ydd.module.expection.CustomAppException; import com.ydd.module.service.*; import com.ydd.system.service.ISysConfigService; import com.ydd.third.common.dto.*; import com.ydd.third.common.huolalaresponse.TokenResponse; import com.ydd.third.common.vo.ResObject; import com.ydd.third.common.vo.callback.ShansongTokenVo; import com.ydd.third.common.vo.huolalavo.HCityInfo; import com.ydd.third.common.vo.huolalavo.HPoiSearch; import com.ydd.third.common.vo.huolalavo.Haddress; import com.ydd.third.common.vo.shop.AmountResultVo; import com.ydd.third.common.vo.shop.QueryAmount; import lombok.RequiredArgsConstructor; 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.math.BigDecimal; import java.util.List; /** * Project:lb-server * Class:ApiDeliveryServiceImpl * Description:TODO * Time:2021/3/3 10:03 * * @author zoe */ @Slf4j @Service @RequiredArgsConstructor(onConstructor_ = @Autowired) public class ApiDeliveryServiceImpl implements ApiDeliveryService { private final ISysConfigService iSysConfigService; private final IDspDeliveryService iDspDeliveryService; private final IMemberConfigService iMemberConfigService; private final IShopDeliveryService iShopDeliveryService; private final IMemberService iMemberService; private final IMerchantService iMerchantService; private final DeliveryService client; private final IShopService iShopService; private final IHuoLaLaCityService iHuoLaLaCityService; @Override public List list(Long loginId) { Member member = iMemberService.getById(loginId); List list = iShopDeliveryService.findList(member.getMerchantId()); // 查询余额 for (DeliveryDto l : list){ DeliveryInfo delivery = new DeliveryInfo(); delivery.setThirdShopId(l.getThirdShopId()); delivery.setShopId(l.getThirdShopId()); delivery.setAuthToken(l.getAuthToken()); delivery.setPhone(l.getAccount()); delivery.setType(l.getType()); // 达达或者达达优质的门店编号 if (DeliveryTypeEnums.DADA.getType().equals(l.getType()) || DeliveryTypeEnums.DADA_YZ.getType().equals(l.getType())){ ShopDelivery delivery1 = iShopDeliveryService.getDadaShopNo(member.getMerchantId(),l.getDeliveryId()); if (delivery1 != null){ if (DeliveryTypeEnums.DADA.getType().equals(l.getType())){ l.setShopNo(delivery1.getDadaShopNo()); } if (DeliveryTypeEnums.DADA_YZ.getType().equals(l.getType())){ l.setShopNo(delivery1.getDadaYzShopNo()); } } } DspDelivery dspDelivery = iDspDeliveryService.findOne(l.getType()); QueryAmount queryAmount = QueryAmountEntityUtils.queryAmount(delivery, member.getMerchantId(),1); ResObject amountRes = client.queryAmount(queryAmount); if (amountRes.getCode() == 0) { // 更新余额 AmountResultVo vo = amountRes.getData(); ShopDelivery shopDelivery = iShopDeliveryService.getOne(new QueryWrapper().eq("merchant_id", member.getMerchantId()).eq("delivery_id", dspDelivery.getId()) .eq("deleted", IsDeleteEnum.NORMAL.status).isNull("shop_id").eq("bind_status",1)); if (shopDelivery != null){ shopDelivery.setBalance(vo.getBalanceAmount()); iShopDeliveryService.updateById(shopDelivery); } } } List deliveryList = iDspDeliveryService.floorList(); List dadaList = iShopDeliveryService.findBindList(member.getMerchantId()); for (DeliveryDto dada : dadaList){ DspDelivery dspDelivery = iDspDeliveryService.getById(dada.getDeliveryId()); if (!dspDelivery.getType().equals(DeliveryTypeEnums.DADA.getType()) && !dspDelivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType()) && !dspDelivery.getType().equals(DeliveryTypeEnums.SHUN_FENG.getType())){ continue; } list.add(dada); } deliveryList.removeAll(list); for (DeliveryDto dto : deliveryList){ if (dto.getType().equals(DeliveryTypeEnums.MEI_TUAN.getType()) || dto.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType()) || dto.getType().equals(DeliveryTypeEnums.FENG_NIAO_KA.getType()) || dto.getType().equals(DeliveryTypeEnums.HUO_LA_LA.getType())){ continue; } dto.setBindStatus(BindStatusEnum.UNBIND.getStatus()); list.add(dto); } return list; } @Override @Transactional(rollbackFor = Exception.class) public void release(Long loginId, Integer id,String sfId) { ShopDelivery shopDelivery = iShopDeliveryService.getById(id); DspDelivery delivery =iDspDeliveryService.getById(shopDelivery.getDeliveryId()); if (delivery.getType().equals(DeliveryTypeEnums.AIPT.getType())){ AiptUnBindDto dto = unBind(id,loginId); }else { if (delivery.getType().equals(DeliveryTypeEnums.SHUN_FENG.getType()) || delivery.getType().equals(DeliveryTypeEnums.DADA.getType())|| delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType()) || delivery.getType().equals(DeliveryTypeEnums.MEI_TUAN_ZB.getType())|| delivery.getType().equals(DeliveryTypeEnums.MEI_TUAN_SG_ZB.getType())){ iShopDeliveryService.removeById(id); } if(DeliveryTypeEnums.SHAN_SONG.getType().equals(delivery.getType())){ //解除绑定 ResObject res = client.cancelToken(shopDelivery.getAuthToken()); if (res.getCode() == 0){ iShopDeliveryService.removeById(id); } log.info("===闪送解除绑定结果===》"+ JsonMapper.nonEmptyMapper().toJson(res)); } if (DeliveryTypeEnums.KUAI_FU.getType().equals(delivery.getType())){ log.info("===快服解除绑定===》"); iShopDeliveryService.removeById(id); } } } /** * 爱跑腿-解除绑定 * @param id 商家绑定平台ID * @param loginId */ @Override public AiptUnBindDto unBind(Integer id,Long loginId) { ShopDelivery shopDelivery = iShopDeliveryService.getById(id); if (shopDelivery != null){ //解除绑定 AiptUnBindDto bindDto = client.unBind(shopDelivery.getAccount()); if (bindDto.getCode().equals(1) && bindDto.getState().equals("Success")){ iShopDeliveryService.removeById(id); } log.info("===解除绑定结果===》"+ JsonMapper.nonEmptyMapper().toJson(bindDto)); return bindDto; }else { AiptUnBindDto bindDto = new AiptUnBindDto(); bindDto.setState("Fail"); bindDto.setInfo("该运力不存在"); return bindDto; } } @Override public String explain() { return iSysConfigService.selectConfigByKey("BINDING_PROCESS"); } @Override public List floorList(Long loginId) { return iDspDeliveryService.floorList(); } @Override public MemberConfigDto findDetail(Long loginId) { return iMemberConfigService.findDetail(loginId); } @Override @Transactional(rollbackFor = Exception.class) public void saveConfig(Long loginId, MemberConfigDto config) { MemberConfig memberConfig = iMemberConfigService.getOne(new QueryWrapper().eq("member_id",loginId)); if (memberConfig == null){ memberConfig = new MemberConfig(); memberConfig.setMemberId(loginId); } memberConfig.setAddPriceTime(config.getAddPriceTime()); memberConfig.setGuaranteeDeliveryIds(config.getGuaranteeDeliveryIds()); memberConfig.setGuaranteeOrderTime(config.getGuaranteeOrderTime()); memberConfig.setOpenGuarantee(config.getOpenGuarantee()); memberConfig.setOpenTipSwitch(config.getOpenTipSwitch()); memberConfig.setTipAmount(config.getTipAmount()); memberConfig.setTipRemark(config.getTipRemark()); iMemberConfigService.saveOrUpdate(memberConfig); } @Override public void status(Long loginId, Integer id, Integer preferredDelivery) { ShopDelivery delivery = iShopDeliveryService.getById(id); if (delivery == null){ throw new CustomAppException("绑定运力不存在!"); } if (preferredDelivery.equals(StatusEnum.SHOW.status)){ iShopDeliveryService.updateStatus(delivery.getMerchantId()); } delivery.setPreferredDelivery(preferredDelivery); iShopDeliveryService.updateById(delivery); } /** * 绑定运力平台 * @param loginId * @param deliveryId * @param sfId * @param dadaName * @return */ @Override public String bind(Long loginId, Long deliveryId,String sfId,String dadaName) { Member member = iMemberService.getById(loginId); ShopDelivery shopDelivery = iShopDeliveryService.getOne(new QueryWrapper().eq("merchant_id",member.getMerchantId()).eq("delivery_id",deliveryId).isNull("shop_id")); if (member.getMerchantId() == null){ throw new CustomAppException("请先申请成为商家!"); } Merchant merchant = iMerchantService.getById(member.getMerchantId()); if (merchant == null){ throw new CustomAppException("商家信息异常,请联系管理员!"); } DspDelivery delivery = iDspDeliveryService.getById(deliveryId); if (shopDelivery != null && shopDelivery.getBindStatus().equals(BindStatusEnum.BIND)){ throw new CustomAppException("已绑定成功!"); } // if (shopDelivery != null && delivery.getType().equals(DeliveryTypeEnums.SHUN_FENG.getType()) && shopDelivery.getBindStatus().equals(BindStatusEnum.BIND)){ // throw new CustomAppException("已绑定成功!"); // } // if (shopDelivery != null && delivery.getType().equals(DeliveryTypeEnums.DADA.getType()) && shopDelivery.getBindStatus().equals(BindStatusEnum.BIND)){ // throw new CustomAppException("已绑定成功!"); // } // if (shopDelivery != null && delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType()) && shopDelivery.getBindStatus().equals(BindStatusEnum.BIND)){ // throw new CustomAppException("已绑定成功!"); // } // if (shopDelivery != null && delivery.getType().equals(DeliveryTypeEnums.KUAI_FU.getType()) && shopDelivery.getBindStatus().equals(BindStatusEnum.BIND)){ // throw new CustomAppException("已绑定成功!"); // } String url = null; if (delivery.getType().equals(DeliveryTypeEnums.SHAN_SONG.getType())){ url = client.shansongAuthUrl(merchant.getCode()); } if (delivery.getType().equals(DeliveryTypeEnums.FENG_NIAO.getType())){ url = client.fengniaoAuthUrl(); } if (delivery.getType().equals(DeliveryTypeEnums.AIPT.getType())){ url = client.aptAuthUrl(merchant.getCode()); } if (delivery.getType().equals(DeliveryTypeEnums.HUO_LA_LA.getType())){ url = client.hllAuthUrl(); } if (delivery.getType().equals(DeliveryTypeEnums.KUAI_FU.getType())){ url = client.kfAuthUrl(merchant.getCode()); } if (delivery.getType().equals(DeliveryTypeEnums.MEI_TUAN_ZB.getType())){ shopDelivery = new ShopDelivery(); shopDelivery.setAccount("sssss"); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setBindStatus(BindStatusEnum.BIND.status); iShopDeliveryService.save(shopDelivery); } if (delivery.getType().equals(DeliveryTypeEnums.MEI_TUAN_SG_ZB.getType())){ shopDelivery = new ShopDelivery(); shopDelivery.setAccount("sssss"); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setBindStatus(BindStatusEnum.BIND.status); iShopDeliveryService.save(shopDelivery); } if (StringUtils.isBlank(sfId) && (delivery.getType().equals(DeliveryTypeEnums.DADA.getType()) || delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType()))){ Integer type = 0; if (delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType())){ type = 1; } JSONObject jsonObject = client.partyTicket(type); if (jsonObject.getString("status").equals("success")){ url = client.getPartyOauth(jsonObject.getString("result"),type,merchant.getCode()); }else { throw new CustomAppException(jsonObject.getString("msg")); } } if (delivery.getType().equals(DeliveryTypeEnums.SHUN_FENG.getType()) || delivery.getType().equals(DeliveryTypeEnums.DADA.getType()) || delivery.getType().equals(DeliveryTypeEnums.DADA_YZ.getType())){ if (StringUtils.isNotBlank(sfId)){ if (shopDelivery == null){ shopDelivery = new ShopDelivery(); shopDelivery.setAccount("sssss"); if (StringUtils.isNotBlank(dadaName)){ shopDelivery.setAccount(dadaName); } shopDelivery.setBalance(new BigDecimal("0")); shopDelivery.setThirdShopId(sfId); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setBindStatus(BindStatusEnum.CHECK.status); iShopDeliveryService.save(shopDelivery); }else { // 更新 shopDelivery.setThirdShopId(sfId); shopDelivery.setBindStatus(BindStatusEnum.CHECK.status); shopDelivery.setAccount("sssss"); if (StringUtils.isNotBlank(dadaName)){ shopDelivery.setAccount(dadaName); } iShopDeliveryService.updateById(shopDelivery); } } } return url; } /** * 填写达达/达达优质门店编号 * @param loginId * @param deliveryId 运力 * @param shopNo 达达/优质门店编号 */ @Override public void updateDadaShopNo(Long loginId, Long deliveryId, String shopNo) { Member member = iMemberService.getById(loginId); ShopDelivery shopDelivery = iShopDeliveryService.getOne(new QueryWrapper().eq("merchant_id",member.getMerchantId()).eq("delivery_id",deliveryId).isNull("shop_id")); DspDelivery dspDelivery = iDspDeliveryService.getById(deliveryId); getBalance(shopDelivery,dspDelivery,member.getMerchantId(),deliveryId,shopNo); } /** * 查询达达余额,并且更新达达门店编号 * @param shopDelivery * @param dspDelivery * @param merchantId * @param deliveryId * @param shopNo */ public void getBalance(ShopDelivery shopDelivery,DspDelivery dspDelivery,Long merchantId,Long deliveryId,String shopNo){ QueryAmount queryAmount = new QueryAmount(); queryAmount.setIsDirectDelivery(0); queryAmount.setLbClient(DeliveryTypeEnums.DADA.getName()); if (DeliveryTypeEnums.DADA_YZ.getType().equals(dspDelivery.getType())){ queryAmount.setIsDirectDelivery(1); queryAmount.setLbClient(DeliveryTypeEnums.DADA_YZ.getName()); } shopDelivery.setBindStatus(BindStatusEnum.BIND.status); // 查询余额 queryAmount.setMerchantId(shopDelivery.getThirdShopId()); ResObject res = client.queryAmount(queryAmount); if(res.getCode().intValue()==0){ BigDecimal balanceAmount = res.getData().getBalanceAmount(); shopDelivery.setBalance(balanceAmount); } iShopDeliveryService.updateById(shopDelivery); iShopDeliveryService.updateDaDaShopNo(dspDelivery.getType(),merchantId,deliveryId,shopNo); } @Override @Transactional(rollbackFor = Exception.class) public void bindCallBack(ShansongTokenVo tokenVo) { DspDelivery delivery = iDspDeliveryService.findOne(DeliveryTypeEnums.SHAN_SONG.getType()); Merchant merchant = iMerchantService.getOne(new QueryWrapper().eq("code",tokenVo.getShopId())); if(merchant!=null){ ShopDelivery shopDelivery = new ShopDelivery(); //绑定闪送目前只能拿到授权token //TODO shopDelivery.setAccount("sssss"); // shopDelivery.setBalance(new BigDecimal("12.03")); shopDelivery.setThirdShopId(tokenVo.getShopId()); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setBindStatus(BindStatusEnum.BIND.status); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setAuthToken(tokenVo.getAccessToken()); //获取余额 try { QueryAmount queryAmount = new QueryAmount(); queryAmount.setAccessToken(tokenVo.getAccessToken()); queryAmount.setIsShansongSH(true); queryAmount.setLbClient(DeliveryTypeEnums.SHAN_SONG.getName()); ResObject res = client.queryAmount(queryAmount); if (res.getCode() == 0){ AmountResultVo vo = res.getData(); shopDelivery.setBalance(vo.getBalanceAmount()); } } catch (Exception e) { e.printStackTrace(); } shopDelivery.setRefreshToken(tokenVo.getRefreshToken()); shopDelivery.setExpiresIn(tokenVo.getExpireIn()); iShopDeliveryService.save(shopDelivery); } } /** * 爱跑腿绑定回调 * @param aiptAuthDto */ @Override @Transactional(rollbackFor = Exception.class) public void bindAipt(AiptAuthDto aiptAuthDto) { DspDelivery delivery = iDspDeliveryService.findOne(DeliveryTypeEnums.AIPT.getType()); Merchant merchant = iMerchantService.getOne(new QueryWrapper().eq("code",aiptAuthDto.getUnique_id())); System.out.println("爱跑腿绑定回调商户---"+merchant.getId()); if(merchant!=null){ ShopDelivery shopDelivery = iShopDeliveryService.getByMerchantIdAndDeliveryId(merchant.getId(),delivery.getId()); if (shopDelivery == null){ shopDelivery = new ShopDelivery(); shopDelivery.setAccount(aiptAuthDto.getPhone()); shopDelivery.setThirdShopId(aiptAuthDto.getUnique_id()); shopDelivery.setMerchantId(merchant.getId()); if ("bind".equals(aiptAuthDto.getState())){ shopDelivery.setBindStatus(BindStatusEnum.BIND.status); }else { shopDelivery.setBindStatus(BindStatusEnum.UNBIND.status); } shopDelivery.setDeliveryId(delivery.getId()); //获取余额 try { QueryAmount queryAmount = new QueryAmount(); queryAmount.setPhone(aiptAuthDto.getPhone()); queryAmount.setLbClient(DeliveryTypeEnums.AIPT.getName()); ResObject res = client.queryAmount(queryAmount); if (res.getCode() == 0){ AmountResultVo vo = res.getData(); shopDelivery.setBalance(vo.getBalanceAmount()); } } catch (Exception e) { e.printStackTrace(); } iShopDeliveryService.save(shopDelivery); } } } /** * 绑定快服回调 * @param kfAuthDto */ @Override public void bindKf(KfAuthDto kfAuthDto) { DspDelivery delivery = iDspDeliveryService.findOne(DeliveryTypeEnums.KUAI_FU.getType()); Merchant merchant = iMerchantService.getOne(new QueryWrapper().eq("code",kfAuthDto.getMerchantCode())); if(merchant==null){ log.info("快服绑定商家为空"); return; } ShopDelivery shopDelivery = iShopDeliveryService.getByThirdShopIdAndMerchantId(merchant.getId(),kfAuthDto.getOpenid()); if (shopDelivery == null){ shopDelivery = new ShopDelivery(); shopDelivery.setThirdShopId(kfAuthDto.getOpenid()); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setBindStatus(BindStatusEnum.BIND.status); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setAuthToken(kfAuthDto.getAccess_token()); // 表示该商家是首次绑定,不是yes则是下过订单后的账户 shopDelivery.setAccount("yes"); iShopDeliveryService.save(shopDelivery); } } /** * 达达授权绑定 * @param sourceId 三方门店ID * @param merchantCode 商家code * @param type * @param shopNo 门店编号,App账户会返回 */ @Override public void bindDaDa(String sourceId, String merchantCode, Integer type,String shopNo) { DspDelivery delivery = iDspDeliveryService.findOne(type); Merchant merchant = iMerchantService.getOne(new QueryWrapper().eq("code",merchantCode)); if(merchant==null){ log.info("达达绑定商家为空"); return; } ShopDelivery shopDelivery = iShopDeliveryService.getOne(new QueryWrapper().eq("merchant_id",merchant.getId()). eq("delivery_id",delivery.getId()).eq("deleted",0).isNull("shop_id")); if (shopDelivery == null){ shopDelivery = new ShopDelivery(); } shopDelivery.setThirdShopId(sourceId); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setBindStatus(BindStatusEnum.WAIT_INFO.status); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setAccount("sssss"); iShopDeliveryService.saveOrUpdate(shopDelivery); if (StringUtils.isNotBlank(shopNo)){ shopDelivery.setBindStatus(BindStatusEnum.BIND.status); // 更新门店编号,同时查询余额 getBalance( shopDelivery, delivery,merchant.getId(), delivery.getId(), shopNo); } } @Override public boolean bindUserApply(String mobile, String ip) { ResObject resObject = client.bindUserApply(mobile,ip); if(resObject.getCode()!=0){ return false; } return true; } @Override public String bindUserSubmit(Long memberId,String mobile, String validateCode, String cityName) { log.info("绑定用户请求:memberId:{}",memberId); ResObject resObject = client.bindUserSubmit(mobile,validateCode,cityName); if(resObject.getCode()==0){ BindUserSubmitResponse response = resObject.getData(); Member member = iMemberService.getById(memberId); DspDelivery delivery = iDspDeliveryService.findOne(DeliveryTypeEnums.UUPT.getType()); Merchant merchant = iMerchantService.getById(member.getMerchantId()); ShopDelivery shopDelivery = new ShopDelivery(); shopDelivery.setAccount(mobile); ResObject res = client.getBalance(response.getOpenid()); if(res.getCode().intValue()==0){ String accountMoney = res.getData().getAccountMoney(); shopDelivery.setBalance(new BigDecimal(accountMoney)); } shopDelivery.setThirdShopId(response.getOpenid()); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setBindStatus(BindStatusEnum.BIND.status); shopDelivery.setDeliveryId(delivery.getId()); iShopDeliveryService.save(shopDelivery); return "ok"; } return resObject.getMsg(); } @Override public String cancelBind(Long memberId,String mobile) { Member member = iMemberService.getById(memberId); DspDelivery delivery = iDspDeliveryService.findOne(DeliveryTypeEnums.UUPT.getType()); ShopDelivery shopDelivery = iShopDeliveryService.getOne(new QueryWrapper().eq("merchant_id",member.getMerchantId()). eq("delivery_id",delivery.getId()).isNull("shop_id")); log.info("uupt 解除绑定开始:"+JSONObject.toJSONString(shopDelivery)); if(shopDelivery!=null&&shopDelivery.getAccount().equals(mobile)&&StringUtils.isNotBlank(shopDelivery.getThirdShopId())){ String openId = shopDelivery.getThirdShopId(); ResObject resObject = client.cancelBind(openId); if(resObject.getCode()==0){ CancelBindResponse response = resObject.getData(); log.info("uupt 解除绑定返回:"+JSONObject.toJSONString(response)); // ShopDelivery shopDelivery1 = new ShopDelivery(); // shopDelivery1.setBindStatus(BindStatusEnum.UNBIND.status); // iShopDeliveryService.update(shopDelivery1,new UpdateWrapper().eq("third_shop_id",openId)); iShopDeliveryService.removeById(shopDelivery.getId()); return "ok"; } return resObject.getMsg(); }else{ return "用户不存在" ; } } @Override public void bindHuoLaLa(TokenResponse tokenResponse) { DspDelivery delivery = iDspDeliveryService.findOne(DeliveryTypeEnums.HUO_LA_LA.getType()); Merchant merchant = iMerchantService.findByMobile(tokenResponse.getAuthMobile()); if (merchant==null){ log.info("货拉拉商户绑定未找到,手机号为"+tokenResponse.getAuthMobile()); } ShopDelivery shopDelivery = iShopDeliveryService.getByMerchantIdAndDeliveryId(merchant.getId(),delivery.getId()); if (shopDelivery==null){ shopDelivery=new ShopDelivery(); shopDelivery.setMerchantId(merchant.getId()); shopDelivery.setRefreshToken(tokenResponse.getRefreshToken()); shopDelivery.setAuthToken(tokenResponse.getAccessToken()); shopDelivery.setExpiresIn(tokenResponse.getExpires().getTime()); shopDelivery.setDeliveryId(delivery.getId()); shopDelivery.setBindStatus(BindStatusEnum.BIND.getStatus()); iShopDeliveryService.save(shopDelivery); } } @Override public String findCity(String cityName) { HuoLaLaCity city = iHuoLaLaCityService.findCity(cityName); if (city!=null){ return city.getCityId()+""; }else{ return ""; } } @Override public HCityInfo getCityInfo(String cityId) { HCityInfo cityInfo = iHuoLaLaCityService.getCityInfo(cityId); return cityInfo; } @Override public List poiSearch(HPoiSearch hPoiSearch) { List list = client.poiSearch(hPoiSearch); return list; } }