From c6ee559172e2d7e59cc67adf577f22a34b841e01 Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 23 Mar 2022 16:23:10 +0800 Subject: [PATCH] //add poi --- .../basic/TtMerchantPoiController.java | 107 +++++++++ .../com/iformall/domain/po/TtMerchantPoi.java | 63 +++++ .../com/iformall/domain/po/WxBatchOrder.java | 2 +- .../enums/EnumSupplierMathStatus.java | 38 ++++ .../iformall/mapper/TtMerchantPoiMapper.java | 18 ++ .../com/iformall/mapper/WxMerchantMapper.java | 1 + .../service/TtMerchantPoiService.java | 35 +++ .../impl/TtMerchantPoiServiceImpl.java | 215 ++++++++++++++++++ .../impl/WxCouponOrderServiceImpl.java | 3 +- .../service/impl/WxMerchantServiceImpl.java | 7 +- .../resources/mapper/TtMerchantPoiMapper.xml | 99 ++++++++ .../resources/mapper/WxMerchantMapper.xml | 5 + 12 files changed, 590 insertions(+), 3 deletions(-) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/TtMerchantPoi.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumSupplierMathStatus.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/TtMerchantPoiMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java create mode 100644 mallinkService/src/main/resources/mapper/TtMerchantPoiMapper.xml diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java new file mode 100644 index 000000000..274b8164c --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/basic/TtMerchantPoiController.java @@ -0,0 +1,107 @@ +package com.iformall.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.*; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.enums.EnumSupplierMathStatus; +import com.iformall.service.*; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author gongbiao + */ +@RestController +@RequestMapping("merchantPoi") +public class TtMerchantPoiController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private TtMerchantPoiService ttMerchantPoiService; + + @Autowired + private WxMerchantService wxMerchantService; + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + @SystemControllerLog(description = "列表") + public ResultData list(@ModelAttribute TtMerchantPoi record, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::list"); + if (null == record) record = new TtMerchantPoi(); + record.updateTenantInfo(getTenantInfo()); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + final PageInfo page = ttMerchantPoiService.listAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("根据id查询接口") + @GetMapping("/findById") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + @SystemControllerLog(description = "查询") + public ResultData findById(Long id) { + logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::findById"); + if(id == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + TtMerchantPoi record = ttMerchantPoiService.getById(id); + return new ResultData(record); + } + + @ApiOperation("更新商户接口") + @PostMapping("updateById") + @SystemControllerLog(description = "更新") + public ResultData updateById(@RequestBody TtMerchantPoi record) { + logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::updateById"); + if(record.getId() == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + TtMerchantPoi merchantPoi = ttMerchantPoiService.getById(record.getId()); + if(merchantPoi == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到修改的数据"); + } + if(!EnumSupplierMathStatus.match_update.getCode().equals(merchantPoi.getMatchStatus()) + && !EnumSupplierMathStatus.match_fail.getCode().equals(merchantPoi.getMatchStatus())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该状态不允许修改"); + } + record.updateTenantInfo(getTenantInfo()); + ttMerchantPoiService.updateById(record); + return new ResultData(record); + } + + @ApiOperation("新建匹配任务") + @PostMapping("match") + @SystemControllerLog(description = "新建匹配任务") + public ResultData match(@RequestBody List ids) { + logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::match"); + if(ids == null || ids.isEmpty()){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + return ttMerchantPoiService.match(getTenantInfo(),ids); + } + + @ApiOperation("重新匹配任务") + @PostMapping("matchAgain") + @SystemControllerLog(description = "重新匹配任务") + public ResultData matchAgain(@RequestBody Long id) { + logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::matchAgain"); + if(id == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + return ttMerchantPoiService.matchAgain(getTenantInfo(),id); + } + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/TtMerchantPoi.java b/mallinkService/src/main/java/com/iformall/domain/po/TtMerchantPoi.java new file mode 100644 index 000000000..263109225 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/TtMerchantPoi.java @@ -0,0 +1,63 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.Date; + +@TableName(value = "tt_merchant_poi") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class TtMerchantPoi extends TenantEntity { + + protected Long id;//merchant_id + + @io.swagger.annotations.ApiModelProperty(value=" merchant_id",name="supplierExtId") + private String supplierExtId; + + @io.swagger.annotations.ApiModelProperty(value="poi名称 商户名",name="poiName") + private String poiName; + + @io.swagger.annotations.ApiModelProperty(value="省",name="province") + private String province; + + @io.swagger.annotations.ApiModelProperty(value="市",name="city") + private String city; + + @io.swagger.annotations.ApiModelProperty(value="地址",name="address") + private String address; + + @io.swagger.annotations.ApiModelProperty(value="经度",name="longitude") + private Float longitude; + + @io.swagger.annotations.ApiModelProperty(value="纬度",name="latitude") + private Float latitude; + + @io.swagger.annotations.ApiModelProperty(value="高德POI ID",name="amapId") + private String amapId; + + @io.swagger.annotations.ApiModelProperty(value="其他信息",name="extra") + private String extra; + + @io.swagger.annotations.ApiModelProperty(value="高德POI ID/抖音POIID",name="poiId") + private String poiId; + + @io.swagger.annotations.ApiModelProperty(value="抖音平台任务ID",name="taskId") + private String taskId; + + @io.swagger.annotations.ApiModelProperty(value="匹配状态,0-等待匹配,1-正在匹配,2-匹配成功,3-匹配失败",name="matchStatus") + private Integer matchStatus; + + @io.swagger.annotations.ApiModelProperty(value="匹配状态描述",name="mismatchStatusDesc") + private String mismatchStatusDesc; + + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") + private Date updateDate; + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java index f6d69ef47..c92de8710 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBatchOrder.java @@ -46,7 +46,7 @@ public class WxBatchOrder extends TenantEntity { if(EnumAppPlat.WX.equals(appPlat)){ }else if (EnumAppPlat.TOUTIAO.equals(appPlat)){ - return Constant.mainPageUrl + "?type=dt&couponOrderId=" + id; + return Constant.mainPageUrl + "?type=dt&orderId=" + id; } return null; } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumSupplierMathStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumSupplierMathStatus.java new file mode 100644 index 000000000..0bc2cc2dc --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumSupplierMathStatus.java @@ -0,0 +1,38 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumSupplierMathStatus { + match_update(-1, "等待重新匹配"), + match_wait(0, "等待匹配"), + match_ing(1, "正在匹配"), + match_success(2, "匹配成功"), + match_fail(3, "匹配失败"), + ; + + public static EnumSupplierMathStatus getEnum(Integer code) { + for (EnumSupplierMathStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumSupplierMathStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/TtMerchantPoiMapper.java b/mallinkService/src/main/java/com/iformall/mapper/TtMerchantPoiMapper.java new file mode 100644 index 000000000..9f78d7736 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/TtMerchantPoiMapper.java @@ -0,0 +1,18 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.TtMerchantPoi; + +import java.util.List; + +public interface TtMerchantPoiMapper extends CommonMapper { + + List findList(TtMerchantPoi record); + + List findIdList(TtMerchantPoi record); + + List findTaskIdList(TtMerchantPoi record); + + int deleteByUpdate(Long id); + +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index 56b270830..d751472a6 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -55,4 +55,5 @@ public interface WxMerchantMapper extends CommonMapper { Map findShopMerchant(@Param("id")Long id); + int deleteByUpdate(Long id); } diff --git a/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java b/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java new file mode 100644 index 000000000..cb2bcfaeb --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/TtMerchantPoiService.java @@ -0,0 +1,35 @@ +package com.iformall.service; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.ResultData; +import com.iformall.domain.po.TtMerchantPoi; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.douyin.web.api.TtWebService; + +import java.util.List; + +/** + * @author gongbiao + */ +public interface TtMerchantPoiService { + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPage(TtMerchantPoi record, Integer pageIndex, Integer pageSize); + + TtMerchantPoi getById(Long id); + + int updateById(TtMerchantPoi record); + + ResultData match(TenantEntity tenantInfo, List ids); + + ResultData matchAgain(TenantEntity tenantInfo, Long id); + + TtWebService getTtWebService(TenantEntity tenantInfo); +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java new file mode 100644 index 000000000..46315a957 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/TtMerchantPoiServiceImpl.java @@ -0,0 +1,215 @@ +package com.iformall.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.douyin.web.api.TtWebService; +import com.iformall.douyin.web.bean.TtSupplierMatch; +import com.iformall.douyin.web.bean.TtSupplierMatchList; +import com.iformall.enums.EnumAppPlat; +import com.iformall.enums.EnumAppType; +import com.iformall.enums.EnumSupplierMathStatus; +import com.iformall.mapper.*; +import com.iformall.service.*; +import com.iformall.utils.Constant; +import com.iformall.utils.MaUtil; +import me.chanjar.weixin.common.error.WxErrorException; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author gongbiao + */ +@Service +public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + TtMerchantPoiMapper ttMerchantPoiMapper; + + @Autowired + WxMallMapper wxMallMapper; + + @Autowired + WxMerchantMapper wxMerchantMapper; + + @Autowired + WxAppinfoMapper wxAppinfoMapper; + + @Autowired + MaUtil maUtil; + + @Override + public PageInfo listAsPage(TtMerchantPoi record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> ttMerchantPoiMapper.findList(record)); + } + + @Override + public TtMerchantPoi getById(Long id) { + return ttMerchantPoiMapper.selectById(id); + } + + @Override + public int updateById(TtMerchantPoi record) { + return ttMerchantPoiMapper.updateById(record); + } + + @Override + public ResultData match(TenantEntity tenantInfo, List ids) { + TtMerchantPoi merchantPoiQ = new TtMerchantPoi(); + merchantPoiQ.updateTenantInfo(tenantInfo); + merchantPoiQ.setIds(ids); + List merchantPois = ttMerchantPoiMapper.findList(merchantPoiQ); + if(merchantPois != null && merchantPois.size() > 0){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"数据中存在已发起的店铺,请勿重复发起"); + } + + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantInfo); + merchantQ.setIds(ids); + List merchants = wxMerchantMapper.findList(merchantQ); + if(merchants == null || merchants.isEmpty()){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到数据"); + } + + Date now = new Date(); + WxMall mall = wxMallMapper.getByTenantId(tenantInfo.getTenantId()); + List merchantPoiList = new ArrayList<>(); + for (WxMerchant merchant:merchants) { + TtMerchantPoi poi = new TtMerchantPoi(); + poi.setId(merchant.getId()); + poi.updateTenantInfo(mall); + poi.setSupplierExtId(merchant.getId().toString()); + poi.setPoiName(merchant.getName()); + poi.setProvince(mall.getProvince()); + poi.setCity(mall.getCity()); + poi.setAddress(mall.getAddr()); + poi.setLongitude(mall.getLongitude() == null?null:mall.getLongitude().floatValue()); + poi.setLatitude(mall.getLatitude() == null?null:mall.getLatitude().floatValue()); + poi.setMatchStatus(EnumSupplierMathStatus.match_update.getCode()); + poi.setCreateDate(now); + poi.setUpdateDate(now); + ttMerchantPoiMapper.insert(poi); + merchantPoiList.add(poi); + } + + String taskId = supplierMatch(tenantInfo, merchantPoiList); + if(StringUtils.isBlank(taskId)){ + return new ResultData(ErrorCode.SYS_METHOD_NOT_SUPPORT.getCode(),"提交抖音失败,请在列表中重新发起匹配"); + } + TtMerchantPoi updPoi = new TtMerchantPoi(); + updPoi.setTaskId(taskId); + updPoi.setMatchStatus(EnumSupplierMathStatus.match_ing.getCode()); + updPoi.setUpdateDate(new Date()); + int update = ttMerchantPoiMapper.update(updPoi, new QueryWrapper<>(merchantPoiQ)); + return new ResultData(); + } + + @Override + public ResultData matchAgain(TenantEntity tenantInfo, Long id) { + TtMerchantPoi merchantPoi = ttMerchantPoiMapper.selectById(id); + if(merchantPoi == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到数据"); + } + if(EnumSupplierMathStatus.match_fail.getCode().equals(merchantPoi.getMatchStatus())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"请修改信息后再提交匹配"); + } + if(!EnumSupplierMathStatus.match_update.getCode().equals(merchantPoi.getMatchStatus())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该状态不允许提交匹配"); + } + List merchantPoiList = new ArrayList<>(); + merchantPoiList.add(merchantPoi); + String taskId = supplierMatch(tenantInfo,merchantPoiList); + if(StringUtils.isBlank(taskId)){ + return new ResultData(ErrorCode.SYS_METHOD_NOT_SUPPORT.getCode(),"提交抖音失败,请重新发起匹配"); + } + + TtMerchantPoi updPoi = new TtMerchantPoi(); + updPoi.setId(id); + updPoi.setTaskId(taskId); + updPoi.setMatchStatus(EnumSupplierMathStatus.match_ing.getCode()); + updPoi.setUpdateDate(new Date()); + ttMerchantPoiMapper.updateById(merchantPoi); + return new ResultData(); + } + + private String supplierMatch(TenantEntity tenantInfo, List merchantPoiList){ + TtSupplierMatchList matchList = new TtSupplierMatchList(); + for (TtMerchantPoi poi:merchantPoiList) { + TtSupplierMatch match = new TtSupplierMatch(); + match.setSupplierExtId(poi.getSupplierExtId()); + match.setPoiName(poi.getPoiName()); + match.setProvince(poi.getProvince()); + match.setCity(poi.getCity()); + match.setAddress(poi.getAddress()); + match.setLongitude(poi.getLongitude()); + match.setLatitude(poi.getLatitude()); + match.setAmapId(poi.getAmapId()); + + matchList.getMatchDataList().add(match); + } + String taskId = null; + try { + taskId = getTtWebService(tenantInfo).getShopMatchService().supplierMatch(matchList); + } catch (WxErrorException e) { + logger.error("发起店铺匹配POI同步任务error"+e.getMessage()); + } + return taskId; + } + + + @Override + public TtWebService getTtWebService(TenantEntity tenantInfo){ + WxAppinfo appinfoQ = new WxAppinfo(); + appinfoQ.updateTenantInfo(tenantInfo); + appinfoQ.setPlat(EnumAppPlat.TOUTIAO.getCode()); + appinfoQ.setType(EnumAppType.A.getCode()); + WxAppinfo appinfo = wxAppinfoMapper.selectOne(new QueryWrapper<>(appinfoQ)); + TtWebService ttWebService = maUtil.getTtWebService(appinfo); + if (StringUtils.isBlank(appinfo.getAccessToken())) { + // 如果没有accessToken,主动获取保存到数据库中,下次访问可以拿来使用 + updateWebAccessToken(appinfo, ttWebService); + + } else { + // 检查token是否已过期, 1小时就重新获取 + Date curDate = new Date(); + if (curDate.getTime() > appinfo.getLastTokenTime().getTime() + Constant.H_EXPIRE) { + updateWebAccessToken(appinfo, ttWebService); + } + } + return ttWebService; + } + + private void updateWebAccessToken(WxAppinfo appinfo, TtWebService ttWebService) { + try { + String accessToken = ttWebService.getAccessToken(true); + WxAppinfo updateApp = new WxAppinfo(); + updateApp.setId(appinfo.getId()); + updateApp.setAccessToken(accessToken); + updateApp.setLastTokenTime(new Date()); + updateApp.setExpiresIn(7200); + appinfo.setAccessToken(updateApp.getAccessToken()); + appinfo.setLastTokenTime(updateApp.getLastTokenTime()); + appinfo.setExpiresIn(updateApp.getExpiresIn()); + wxAppinfoMapper.updateById(updateApp); + + } catch (WxErrorException e) { + logger.error(e.getMessage()); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 6b69e7be0..39eacb9b0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1684,7 +1684,8 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } catch (Exception e) { logger.error("核销记账失败"+e.getMessage(),e); } - }else if(wxPayOrder != null){ + } + if(wxPayOrder != null){ WxSharingOrderDto wxSharingOrderDto = new WxSharingOrderDto(); wxSharingOrderDto.setCUserId(wxPayOrder.getCUserId()); wxSharingOrderDto.setMerchantId(merchantId); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index d9e79cec0..86c7f30e6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -48,6 +48,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Autowired WxMerchantMapper wxMerchantMapper; + @Autowired + TtMerchantPoiMapper ttMerchantPoiMapper; + @Autowired WxShopMapper wxShopMapper; @@ -355,7 +358,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Override public void deleteById(Long id) { - wxMerchantMapper.deleteById(id); + wxMerchantMapper.deleteByUpdate(id); + ttMerchantPoiMapper.deleteByUpdate(id); +// wxMerchantMapper.deleteById(id); } diff --git a/mallinkService/src/main/resources/mapper/TtMerchantPoiMapper.xml b/mallinkService/src/main/resources/mapper/TtMerchantPoiMapper.xml new file mode 100644 index 000000000..79c7cba67 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/TtMerchantPoiMapper.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`supplier_ext_id`,`poi_name`,`province`,`city`,`address`, + `longitude`,`latitude`,`amap_id`,`extra`,`poi_id`,`task_id`,`match_status`,`mismatch_status_desc`, + `create_date`,`update_date` + + + + where is_del = 0 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and `supplier_ext_id` = #{supplierExtId} + + + + and `poi_id` = #{poiId} + + + + and `poi_name` like concat('%', #{poiName},'%') + + + + and `task_id` = #{taskId} + + + + and `match_status` = #{matchStatus} + + + + and `id` in + + #{idItem} + + + + order by ${sortColumns} + + + + + + + + + + update tt_merchant_poi set is_del = 1 + where id = #{id} + + + diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index ff12c4a59..c6b3e70bb 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -397,4 +397,9 @@ + + update wx_merchant set is_del = 1 + where id = #{id} + +