定时器

This commit is contained in:
wangshuai 2024-07-07 11:25:33 +08:00
parent af50cb6975
commit 770952af82
9 changed files with 653 additions and 4 deletions

View File

@ -27,6 +27,16 @@ public class MeituanController {
return iMeituanService.cookieInfo(cookie); return iMeituanService.cookieInfo(cookie);
} }
/**
* 批量获取订单
* @return
*/
@GetMapping("/orderInfoList")
public R orderInfoList() {
String result = iMeituanService.orderInfoList();
return R.ok(result);
}
/** /**
* 获取订单 * 获取订单
* @return * @return
@ -44,7 +54,7 @@ public class MeituanController {
*/ */
@GetMapping("/getPriPhone") @GetMapping("/getPriPhone")
public R priPhone(String orderId, String cookie) { public R priPhone(String orderId, String cookie) {
return iMeituanService.priPhoneInfo(orderId, cookie); return iMeituanService.priPhoneInfo(0L,orderId, cookie);
} }
/** /**

View File

@ -0,0 +1,223 @@
package com.ruoyi.business.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 订单信息对象 bus_order_info
*
* @author ruoyi
* @date 2024-07-07
*/
public class BusOrderInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 平台类型 */
@Excel(name = "平台类型")
private String platformType;
/** 店铺编码 */
@Excel(name = "店铺编码")
private String storeCode;
/** 店铺名称 */
@Excel(name = "店铺名称")
private String storeName;
/** 顾客ID */
@Excel(name = "顾客ID")
private String customId;
/** 订单号 */
@Excel(name = "订单号")
private String orderNo;
/** 订单状态 */
@Excel(name = "订单状态")
private String orderStatus;
/** 订单完成时间 */
@Excel(name = "订单完成时间")
private String completeTime;
/** 订单完成时间 */
@Excel(name = "订单完成时间")
private String dayseq;
/** 隐私号码 */
@Excel(name = "隐私号码")
private String privcyPhone;
/** 收件号码 */
@Excel(name = "收件号码")
private String recipientPhone;
/** 收件绑定号码 */
@Excel(name = "收件绑定号码")
private String recipientBindedPhone;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setPlatformType(String platformType)
{
this.platformType = platformType;
}
public String getPlatformType()
{
return platformType;
}
public void setStoreCode(String storeCode)
{
this.storeCode = storeCode;
}
public String getStoreCode()
{
return storeCode;
}
public void setStoreName(String storeName)
{
this.storeName = storeName;
}
public String getStoreName()
{
return storeName;
}
public void setCustomId(String customId)
{
this.customId = customId;
}
public String getCustomId()
{
return customId;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setOrderStatus(String orderStatus)
{
this.orderStatus = orderStatus;
}
public String getOrderStatus()
{
return orderStatus;
}
public void setCompleteTime(String completeTime)
{
this.completeTime = completeTime;
}
public String getCompleteTime()
{
return completeTime;
}
public void setDayseq(String dayseq)
{
this.dayseq = dayseq;
}
public String getDayseq()
{
return dayseq;
}
public void setPrivcyPhone(String privcyPhone)
{
this.privcyPhone = privcyPhone;
}
public String getPrivcyPhone()
{
return privcyPhone;
}
public void setRecipientPhone(String recipientPhone)
{
this.recipientPhone = recipientPhone;
}
public String getRecipientPhone()
{
return recipientPhone;
}
public void setRecipientBindedPhone(String recipientBindedPhone)
{
this.recipientBindedPhone = recipientBindedPhone;
}
public String getRecipientBindedPhone()
{
return recipientBindedPhone;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("platformType", getPlatformType())
.append("storeCode", getStoreCode())
.append("storeName", getStoreName())
.append("customId", getCustomId())
.append("orderNo", getOrderNo())
.append("orderStatus", getOrderStatus())
.append("completeTime", getCompleteTime())
.append("dayseq", getDayseq())
.append("privcyPhone", getPrivcyPhone())
.append("recipientPhone", getRecipientPhone())
.append("recipientBindedPhone", getRecipientBindedPhone())
.toString();
}
public BusOrderInfo() {
}
public BusOrderInfo(OrderInfo orderInfo) {
// this.platformType = orderInfo.;
// this.storeCode = orderInfo.get;
// this.storeName = storeName;
// this.customId = orderInfo;
this.orderNo = orderInfo.getWmOrderViewId();
this.orderStatus = orderInfo.getStatusDesc();
this.completeTime = orderInfo.getExpectTimeFmt();
this.dayseq = orderInfo.getDaySeq();
// this.privcyPhone = orderInfo.;
// this.recipientPhone = recipientPhone;
// this.recipientBindedPhone = recipientBindedPhone;
}
public BusOrderInfo(PriPhoneInfo priPhoneInfo) {
// this.platformType = orderInfo.;
// this.storeCode = orderInfo.get;
// this.storeName = storeName;
// this.customId = orderInfo;
// this.orderNo = orderInfo.getWmOrderViewId();
// this.orderStatus = orderInfo.getStatusDesc();
// this.completeTime = orderInfo.getExpectTimeFmt();
// this.dayseq = orderInfo.getDaySeq();
this.privcyPhone = priPhoneInfo.getPricyPhone();
this.recipientPhone = priPhoneInfo.getRecipientPhone();
this.recipientBindedPhone = priPhoneInfo.getRecipientBindedPhone();
}
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.business.mapper;
import java.util.List;
import com.ruoyi.business.domain.BusOrderInfo;
/**
* 订单信息Mapper接口
*
* @author ruoyi
* @date 2024-07-07
*/
public interface BusOrderInfoMapper
{
/**
* 查询订单信息
*
* @param id 订单信息主键
* @return 订单信息
*/
public BusOrderInfo selectBusOrderInfoById(Long id);
/**
* 查询订单信息列表
*
* @param busOrderInfo 订单信息
* @return 订单信息集合
*/
public List<BusOrderInfo> selectBusOrderInfoList(BusOrderInfo busOrderInfo);
/**
* 新增订单信息
*
* @param busOrderInfo 订单信息
* @return 结果
*/
public int insertBusOrderInfo(BusOrderInfo busOrderInfo);
/**
* 修改订单信息
*
* @param busOrderInfo 订单信息
* @return 结果
*/
public int updateBusOrderInfo(BusOrderInfo busOrderInfo);
/**
* 删除订单信息
*
* @param id 订单信息主键
* @return 结果
*/
public int deleteBusOrderInfoById(Long id);
/**
* 批量删除订单信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusOrderInfoByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.ruoyi.business.service;
import java.util.List;
import com.ruoyi.business.domain.BusOrderInfo;
/**
* 订单信息Service接口
*
* @author ruoyi
* @date 2024-07-07
*/
public interface IBusOrderInfoService
{
/**
* 查询订单信息
*
* @param id 订单信息主键
* @return 订单信息
*/
public BusOrderInfo selectBusOrderInfoById(Long id);
/**
* 查询订单信息列表
*
* @param busOrderInfo 订单信息
* @return 订单信息集合
*/
public List<BusOrderInfo> selectBusOrderInfoList(BusOrderInfo busOrderInfo);
/**
* 新增订单信息
*
* @param busOrderInfo 订单信息
* @return 结果
*/
public int insertBusOrderInfo(BusOrderInfo busOrderInfo);
/**
* 修改订单信息
*
* @param busOrderInfo 订单信息
* @return 结果
*/
public int updateBusOrderInfo(BusOrderInfo busOrderInfo);
/**
* 批量删除订单信息
*
* @param ids 需要删除的订单信息主键集合
* @return 结果
*/
public int deleteBusOrderInfoByIds(Long[] ids);
/**
* 删除订单信息信息
*
* @param id 订单信息主键
* @return 结果
*/
public int deleteBusOrderInfoById(Long id);
}

View File

@ -11,6 +11,12 @@ public interface IMeituanService {
*/ */
R cookieInfo(SysCookie cookie); R cookieInfo(SysCookie cookie);
/**
* 获取好评及五星
* @return
*/
String orderInfoList();
/** /**
* 获取好评及五星 * 获取好评及五星
* @return * @return
@ -38,7 +44,7 @@ public interface IMeituanService {
* @param cookie * @param cookie
* @return * @return
*/ */
R priPhoneInfo(String orderId, String cookie); R priPhoneInfo(Long id, String orderId, String cookie);
/** /**
* 获取mtgsig * 获取mtgsig

View File

@ -0,0 +1,93 @@
package com.ruoyi.business.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.business.mapper.BusOrderInfoMapper;
import com.ruoyi.business.domain.BusOrderInfo;
import com.ruoyi.business.service.IBusOrderInfoService;
/**
* 订单信息Service业务层处理
*
* @author ruoyi
* @date 2024-07-07
*/
@Service
public class BusOrderInfoServiceImpl implements IBusOrderInfoService
{
@Autowired
private BusOrderInfoMapper busOrderInfoMapper;
/**
* 查询订单信息
*
* @param id 订单信息主键
* @return 订单信息
*/
@Override
public BusOrderInfo selectBusOrderInfoById(Long id)
{
return busOrderInfoMapper.selectBusOrderInfoById(id);
}
/**
* 查询订单信息列表
*
* @param busOrderInfo 订单信息
* @return 订单信息
*/
@Override
public List<BusOrderInfo> selectBusOrderInfoList(BusOrderInfo busOrderInfo)
{
return busOrderInfoMapper.selectBusOrderInfoList(busOrderInfo);
}
/**
* 新增订单信息
*
* @param busOrderInfo 订单信息
* @return 结果
*/
@Override
public int insertBusOrderInfo(BusOrderInfo busOrderInfo)
{
return busOrderInfoMapper.insertBusOrderInfo(busOrderInfo);
}
/**
* 修改订单信息
*
* @param busOrderInfo 订单信息
* @return 结果
*/
@Override
public int updateBusOrderInfo(BusOrderInfo busOrderInfo)
{
return busOrderInfoMapper.updateBusOrderInfo(busOrderInfo);
}
/**
* 批量删除订单信息
*
* @param ids 需要删除的订单信息主键
* @return 结果
*/
@Override
public int deleteBusOrderInfoByIds(Long[] ids)
{
return busOrderInfoMapper.deleteBusOrderInfoByIds(ids);
}
/**
* 删除订单信息信息
*
* @param id 订单信息主键
* @return 结果
*/
@Override
public int deleteBusOrderInfoById(Long id)
{
return busOrderInfoMapper.deleteBusOrderInfoById(id);
}
}

View File

@ -0,0 +1,45 @@
package com.ruoyi.business.service.impl;
import com.ruoyi.business.service.IMeituanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
@Service
@EnableScheduling
public class JobServiceImpl {
private static final SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
@Autowired
private IMeituanService iMeituanService;
// //初始延迟1秒每隔2秒
// @Scheduled(fixedRateString = "2000",initialDelay = 1000)
// public void testFixedRate(){
// System.out.println("fixedRateString,当前时间:" +format.format(new Date()));
// }
//
// //每次执行完延迟2秒
// @Scheduled(fixedDelayString= "2000")
// public void testFixedDelay(){
// System.out.println("fixedDelayString,当前时间:" +format.format(new Date()));
// }
//
// //每隔3秒执行一次
// @Scheduled(cron="0/3 * * * * ?")
// public void testCron(){
// System.out.println("cron,当前时间:" +format.format(new Date()));
// }
@Scheduled(fixedDelayString= "10000")//600000
public void testFixedDelay(){
System.out.println("fixedDelayString,当前时间:" +format.format(new Date()));
iMeituanService.orderInfoList();
}
}

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.business.domain.*; import com.ruoyi.business.domain.*;
import com.ruoyi.business.mapper.BusOrderInfoMapper;
import com.ruoyi.business.mapper.BusStoreDayInfoMapper; import com.ruoyi.business.mapper.BusStoreDayInfoMapper;
import com.ruoyi.business.mapper.BusStoreInfoMapper; import com.ruoyi.business.mapper.BusStoreInfoMapper;
import com.ruoyi.business.service.IBusStoreDayInfoService; import com.ruoyi.business.service.IBusStoreDayInfoService;
@ -12,6 +13,7 @@ import com.ruoyi.business.service.IMeituanService;
import com.ruoyi.common.config.ProxyProperties; import com.ruoyi.common.config.ProxyProperties;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpHost; import org.apache.http.HttpHost;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
@ -48,6 +50,9 @@ public class MeituanServiceImpl implements IMeituanService {
@Autowired @Autowired
private BusStoreDayInfoMapper busStoreDayInfoMapper; private BusStoreDayInfoMapper busStoreDayInfoMapper;
@Autowired
private BusOrderInfoMapper busOrderInfoMapper;
@Autowired @Autowired
private StringRedisTemplate redisTemplate; private StringRedisTemplate redisTemplate;
@ -149,11 +154,35 @@ public class MeituanServiceImpl implements IMeituanService {
return "ok"; return "ok";
} }
/**
* 获取订单批量
*
* @return
*/
@Override
public String orderInfoList() {
LocalDateTime now = LocalDateTime.now().minusDays(1);
BusStoreInfo busStoreInfo = new BusStoreInfo();
busStoreInfo.setGrantStatus("1");
List<BusStoreInfo> busStoreInfoList = busStoreInfoMapper.selectBusStoreInfoList(busStoreInfo);
for (BusStoreInfo store : busStoreInfoList) {
R flag = orderInfo(store.getStoreCode(),now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")),store.getStoreCookie());
if (flag.getCode() != 200) {
//掉线
BusStoreInfo busStoreInfo1 = new BusStoreInfo();
busStoreInfo1.setId(store.getId());
busStoreInfo1.setGrantStatus("2");
busStoreInfoMapper.updateBusStoreInfo(busStoreInfo1);
}
}
return "ok";
}
/** /**
* 获取订单 * 获取订单
* *
* @param wmPoiId * @param wmPoiId
* @param date * @param date 2024-06-07
* @param cookie * @param cookie
* @return * @return
*/ */
@ -207,6 +236,10 @@ public class MeituanServiceImpl implements IMeituanService {
list.stream().sorted(Comparator.comparing(OrderInfo::getDaySeq)).collect(Collectors.toList()); list.stream().sorted(Comparator.comparing(OrderInfo::getDaySeq)).collect(Collectors.toList());
for (OrderInfo orderInfo : list) { for (OrderInfo orderInfo : list) {
System.out.println(orderInfo.getDaySeq() + "," + orderInfo.getWmOrderViewId() + "," + orderInfo.getExpectTimeFmt() + "," + orderInfo.getStatusDesc()); System.out.println(orderInfo.getDaySeq() + "," + orderInfo.getWmOrderViewId() + "," + orderInfo.getExpectTimeFmt() + "," + orderInfo.getStatusDesc());
BusOrderInfo busOrderInfo = new BusOrderInfo(orderInfo);
busOrderInfo.setStoreCode(wmPoiId);
busOrderInfoMapper.insertBusOrderInfo(busOrderInfo);
priPhoneInfo(busOrderInfo.getId(),orderInfo.getWmOrderViewId(),cookie);
} }
} }
pageNum += 1; pageNum += 1;
@ -268,7 +301,7 @@ public class MeituanServiceImpl implements IMeituanService {
* @return * @return
*/ */
@Override @Override
public R priPhoneInfo(String orderId, String cookie) { public R priPhoneInfo(Long id, String orderId, String cookie) {
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax"; String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
String regionId = valueFromCookie("region_id", cookie); String regionId = valueFromCookie("region_id", cookie);
String regionVersion = valueFromCookie("region_version", cookie); String regionVersion = valueFromCookie("region_version", cookie);
@ -321,6 +354,9 @@ public class MeituanServiceImpl implements IMeituanService {
if (list.size() > 0) { if (list.size() > 0) {
for (PriPhoneInfo phoneInfo : list) { for (PriPhoneInfo phoneInfo : list) {
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone()); System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone());
BusOrderInfo busOrderInfo = new BusOrderInfo(phoneInfo);
busOrderInfo.setId(id);
busOrderInfoMapper.updateBusOrderInfo(busOrderInfo);
} }
return R.ok(JSON.toJSON(list)); return R.ok(JSON.toJSON(list));
} }
@ -440,12 +476,20 @@ public class MeituanServiceImpl implements IMeituanService {
params.put("appType", "3"); params.put("appType", "3");
params.put("durationType", "2"); params.put("durationType", "2");
params.put("dt", now.format(DateTimeFormatter.ofPattern("yyyyMMdd"))); params.put("dt", now.format(DateTimeFormatter.ofPattern("yyyyMMdd")));
// params.put("optimus_uuid", "");
// params.put("optimus_risk_level", 71);
// params.put("optimus_code", 10);
// params.put("optimus_partner", 19);
url = appendParams(url, params); url = appendParams(url, params);
HttpGet request = new HttpGet(url); HttpGet request = new HttpGet(url);
String result = null; String result = null;
try { try {
CloseableHttpClient httpClient = proxyHttpClient(); CloseableHttpClient httpClient = proxyHttpClient();
result = EntityUtils.toString(httpClient.execute(request).getEntity()); result = EntityUtils.toString(httpClient.execute(request).getEntity());
if (StringUtils.isNotEmpty(result)) {
System.out.println(result);
return false;
}
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
int code = jsonObject.getInteger(("code")); int code = jsonObject.getInteger(("code"));
if (code != 0) { if (code != 0) {

View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.business.mapper.BusOrderInfoMapper">
<resultMap type="BusOrderInfo" id="BusOrderInfoResult">
<result property="id" column="id" />
<result property="platformType" column="platform_type" />
<result property="storeCode" column="store_code" />
<result property="storeName" column="store_name" />
<result property="customId" column="custom_id" />
<result property="orderNo" column="order_no" />
<result property="orderStatus" column="order_status" />
<result property="completeTime" column="complete_time" />
<result property="dayseq" column="dayseq" />
<result property="privcyPhone" column="privcy_phone" />
<result property="recipientPhone" column="recipient_phone" />
<result property="recipientBindedPhone" column="recipient_binded_phone" />
</resultMap>
<sql id="selectBusOrderInfoVo">
select id, platform_type, store_code, store_name, custom_id, order_no, order_status, complete_time, dayseq, privcy_phone, recipient_phone, recipient_binded_phone from bus_order_info
</sql>
<select id="selectBusOrderInfoList" parameterType="BusOrderInfo" resultMap="BusOrderInfoResult">
<include refid="selectBusOrderInfoVo"/>
<where>
<if test="platformType != null and platformType != ''"> and platform_type = #{platformType}</if>
<if test="storeCode != null and storeCode != ''"> and store_code = #{storeCode}</if>
<if test="storeName != null and storeName != ''"> and store_name like concat('%', #{storeName}, '%')</if>
<if test="customId != null and customId != ''"> and custom_id = #{customId}</if>
<if test="orderNo != null and orderNo != ''"> and order_no = #{orderNo}</if>
<if test="orderStatus != null and orderStatus != ''"> and order_status = #{orderStatus}</if>
<if test="completeTime != null and completeTime != ''"> and complete_time = #{completeTime}</if>
<if test="dayseq != null and dayseq != ''"> and dayseq = #{dayseq}</if>
<if test="privcyPhone != null and privcyPhone != ''"> and privcy_phone = #{privcyPhone}</if>
<if test="recipientPhone != null and recipientPhone != ''"> and recipient_phone = #{recipientPhone}</if>
<if test="recipientBindedPhone != null and recipientBindedPhone != ''"> and recipient_binded_phone = #{recipientBindedPhone}</if>
</where>
</select>
<select id="selectBusOrderInfoById" parameterType="Long" resultMap="BusOrderInfoResult">
<include refid="selectBusOrderInfoVo"/>
where id = #{id}
</select>
<insert id="insertBusOrderInfo" parameterType="BusOrderInfo" useGeneratedKeys="true" keyProperty="id">
insert into bus_order_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="platformType != null">platform_type,</if>
<if test="storeCode != null">store_code,</if>
<if test="storeName != null">store_name,</if>
<if test="customId != null">custom_id,</if>
<if test="orderNo != null">order_no,</if>
<if test="orderStatus != null">order_status,</if>
<if test="completeTime != null">complete_time,</if>
<if test="dayseq != null">dayseq,</if>
<if test="privcyPhone != null">privcy_phone,</if>
<if test="recipientPhone != null">recipient_phone,</if>
<if test="recipientBindedPhone != null">recipient_binded_phone,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="platformType != null">#{platformType},</if>
<if test="storeCode != null">#{storeCode},</if>
<if test="storeName != null">#{storeName},</if>
<if test="customId != null">#{customId},</if>
<if test="orderNo != null">#{orderNo},</if>
<if test="orderStatus != null">#{orderStatus},</if>
<if test="completeTime != null">#{completeTime},</if>
<if test="dayseq != null">#{dayseq},</if>
<if test="privcyPhone != null">#{privcyPhone},</if>
<if test="recipientPhone != null">#{recipientPhone},</if>
<if test="recipientBindedPhone != null">#{recipientBindedPhone},</if>
</trim>
</insert>
<update id="updateBusOrderInfo" parameterType="BusOrderInfo">
update bus_order_info
<trim prefix="SET" suffixOverrides=",">
<if test="platformType != null">platform_type = #{platformType},</if>
<if test="storeCode != null">store_code = #{storeCode},</if>
<if test="storeName != null">store_name = #{storeName},</if>
<if test="customId != null">custom_id = #{customId},</if>
<if test="orderNo != null">order_no = #{orderNo},</if>
<if test="orderStatus != null">order_status = #{orderStatus},</if>
<if test="completeTime != null">complete_time = #{completeTime},</if>
<if test="dayseq != null">dayseq = #{dayseq},</if>
<if test="privcyPhone != null">privcy_phone = #{privcyPhone},</if>
<if test="recipientPhone != null">recipient_phone = #{recipientPhone},</if>
<if test="recipientBindedPhone != null">recipient_binded_phone = #{recipientBindedPhone},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusOrderInfoById" parameterType="Long">
delete from bus_order_info where id = #{id}
</delete>
<delete id="deleteBusOrderInfoByIds" parameterType="String">
delete from bus_order_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>