| @@ -56,6 +56,18 @@ public class WxOfflineActivityRecordController extends BaseController { | |||
| return new ResultData(page); | |||
| } | |||
| @ApiOperation("新增修改接口") | |||
| @PostMapping("saveOrUpdate") | |||
| public ResultData saveOrUpdate(@RequestBody WxOfflineActivityRecord wxOfflineActivityRecord) { | |||
| if(wxOfflineActivityRecord.getId() == null){ | |||
| return new ResultData(Result.ERROR,"id不能为空"); | |||
| } | |||
| TenantEntity tenantEntity = getTenantInfo(); | |||
| wxOfflineActivityRecord.updateTenantInfo(tenantEntity); | |||
| wxOfflineActivityRecordService.saveOrUpdate(wxOfflineActivityRecord); | |||
| return new ResultData(); | |||
| } | |||
| @ApiOperation("获取待审批数量") | |||
| @GetMapping("waitAudiCount") | |||
| public ResultData waitAudiCount() { | |||
| @@ -6,6 +6,8 @@ import com.iformall.common.ResultData; | |||
| import com.iformall.domain.po.WxOfflineActivityRecord; | |||
| import com.iformall.domain.po.base.BaseEntity.SortField; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||
| import com.iformall.exception.MallinkException; | |||
| import com.iformall.service.*; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiImplicitParam; | |||
| @@ -57,10 +59,18 @@ public class WxOfflineActivityRecordController extends BaseController { | |||
| if (null == wxOfflineActivityRecord.getOrderMoney() ) { | |||
| return new ResultData(Result.ERROR,"订单金额不能为空"); | |||
| } | |||
| if(wxOfflineActivityRecord.getId() != null){ | |||
| WxOfflineActivityRecord record = wxOfflineActivityRecordService.getById(wxOfflineActivityRecord.getId(),wxOfflineActivityRecord.getTenantId()); | |||
| if(!EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode().equals(record.getAuditStatus())){ | |||
| throw new MallinkException(Result.ERROR,"订单状态不允许修改"); | |||
| } | |||
| wxOfflineActivityRecord.setAuditRemark(""); | |||
| } | |||
| TenantEntity tenantEntity = getTenantInfo(); | |||
| wxOfflineActivityRecord.updateTenantInfo(tenantEntity); | |||
| wxOfflineActivityRecord.setCreateBy(getMerchantBUserId()); | |||
| wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId()); | |||
| wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode()); | |||
| wxOfflineActivityRecordService.saveOrUpdate(wxOfflineActivityRecord); | |||
| return new ResultData(); | |||
| } | |||
| @@ -139,6 +139,12 @@ public class WxLegionActivity extends TenantEntity { | |||
| @TableField(exist = false) | |||
| private List<WxLegionActivityConfig> legionList; | |||
| /** | |||
| * 线下活动 | |||
| */ | |||
| @TableField(exist = false) | |||
| private List<WxOfflineActivity> offlineActivityList; | |||
| @TableField(exist = false) | |||
| private Integer legionCount; | |||
| @TableField(exist = false) | |||
| @@ -0,0 +1,53 @@ | |||
| package com.iformall.domain.po; | |||
| import com.baomidou.mybatisplus.annotation.IdType; | |||
| import com.baomidou.mybatisplus.annotation.TableField; | |||
| import com.baomidou.mybatisplus.annotation.TableId; | |||
| import com.baomidou.mybatisplus.annotation.TableName; | |||
| import java.io.Serializable; | |||
| import com.iformall.domain.po.base.TenantEntity; | |||
| import lombok.Data; | |||
| import lombok.EqualsAndHashCode; | |||
| import lombok.ToString; | |||
| /** | |||
| * 军团活动配置线下活动 | |||
| * @TableName wx_legion_activity_offline_config | |||
| */ | |||
| @TableName(value ="wx_legion_activity_offline_config") | |||
| @Data | |||
| @ToString(callSuper = true) | |||
| @EqualsAndHashCode(callSuper = true) | |||
| public class WxLegionActivityOfflineConfig extends TenantEntity { | |||
| /** | |||
| * 主键ID | |||
| */ | |||
| @TableId(value = "id") | |||
| private Long id; | |||
| /** | |||
| * 租户ID | |||
| */ | |||
| @TableField(value = "tenant_id") | |||
| private String tenantId; | |||
| /** | |||
| * 父租户ID | |||
| */ | |||
| @TableField(value = "parent_tenant_id") | |||
| private String parentTenantId; | |||
| /** | |||
| * 活动id | |||
| */ | |||
| @TableField(value = "legion_activity_id") | |||
| private Long legionActivityId; | |||
| /** | |||
| * 军团id | |||
| */ | |||
| @TableField(value = "offline_activity_id") | |||
| private Long offlineActivityId; | |||
| } | |||
| @@ -49,8 +49,8 @@ public class WxLegionActivityOrder extends TenantEntity { | |||
| /** | |||
| * 订单金额 | |||
| */ | |||
| @io.swagger.annotations.ApiModelProperty(value="已收定金",name="orderMoney") | |||
| @Excel(name = "已收定金", width = 20, orderNum = "10") | |||
| @io.swagger.annotations.ApiModelProperty(value="订单金额",name="orderMoney") | |||
| @Excel(name = "订单金额", width = 20, orderNum = "10") | |||
| @TableField(value = "order_money") | |||
| private BigDecimal orderMoney; | |||
| @@ -33,6 +33,12 @@ public class WxOfflineActivityRecord extends TenantEntity { | |||
| @TableId(value = "id") | |||
| private Long id; | |||
| /** | |||
| * 来源订单号 | |||
| */ | |||
| @TableId(value = "from_order_id") | |||
| private Long fromOrderId; | |||
| /** | |||
| * 订单号 | |||
| */ | |||
| @@ -0,0 +1,29 @@ | |||
| package com.iformall.mapper; | |||
| import com.iformall.domain.po.WxLegionActivityMerchantConfig; | |||
| import com.iformall.domain.po.WxLegionActivityOfflineConfig; | |||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |||
| import org.apache.ibatis.annotations.Param; | |||
| import java.util.List; | |||
| /** | |||
| * @author xiaohu | |||
| * @description 针对表【wx_legion_activity_offline_config(军团活动配置线下活动)】的数据库操作Mapper | |||
| * @createDate 2024-09-30 12:22:26 | |||
| * @Entity com.iformall.domain.po.WxLegionActivityOfflineConfig | |||
| */ | |||
| public interface WxLegionActivityOfflineConfigMapper extends BaseMapper<WxLegionActivityOfflineConfig> { | |||
| void deleteByLegionActivity(@Param("legionActivityId")Long legionActivityId, @Param("tenantId")String tenantId); | |||
| void insertList(@Param("configList")List<WxLegionActivityOfflineConfig> legionActivityOfflineConfigList); | |||
| List<WxLegionActivityOfflineConfig> findList(WxLegionActivityOfflineConfig offlineConfig); | |||
| List<Long> getOfflineActivityIds(@Param("legionActivityId")Long legionActivityId, @Param("tenantId")String tenantId); | |||
| } | |||
| @@ -0,0 +1,23 @@ | |||
| package com.iformall.service; | |||
| import com.iformall.domain.po.WxLegionActivity; | |||
| import com.iformall.domain.po.WxLegionActivityOfflineConfig; | |||
| import com.baomidou.mybatisplus.extension.service.IService; | |||
| import com.iformall.domain.po.WxLegionActivityOrder; | |||
| import com.iformall.domain.po.WxOfflineActivity; | |||
| import java.util.List; | |||
| /** | |||
| * @author xiaohu | |||
| * @description 针对表【wx_legion_activity_offline_config(军团活动配置线下活动)】的数据库操作Service | |||
| * @createDate 2024-09-30 12:22:26 | |||
| */ | |||
| public interface WxLegionActivityOfflineConfigService { | |||
| void handleOfflineConfig(WxLegionActivity wxLegionActivity); | |||
| List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity); | |||
| void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder); | |||
| } | |||
| @@ -0,0 +1,109 @@ | |||
| package com.iformall.service.impl; | |||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |||
| import com.iformall.common.IdWorker; | |||
| import com.iformall.domain.po.*; | |||
| import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||
| import com.iformall.mapper.WxLegionActivityOrderMapper; | |||
| import com.iformall.mapper.WxOfflineActivityMapper; | |||
| import com.iformall.mapper.WxOfflineActivityRecordMapper; | |||
| import com.iformall.service.WxLegionActivityOfflineConfigService; | |||
| import com.iformall.mapper.WxLegionActivityOfflineConfigMapper; | |||
| import com.iformall.service.WxMerchantService; | |||
| import com.iformall.service.WxOfflineActivityRecordService; | |||
| import com.iformall.service.WxOfflineActivityService; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import java.util.ArrayList; | |||
| import java.util.Collections; | |||
| import java.util.List; | |||
| /** | |||
| * @author xiaohu | |||
| * @description 针对表【wx_legion_activity_offline_config(军团活动配置线下活动)】的数据库操作Service实现 | |||
| * @createDate 2024-09-30 12:22:26 | |||
| */ | |||
| @Service | |||
| public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivityOfflineConfigService{ | |||
| @Autowired | |||
| private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper; | |||
| @Autowired | |||
| private WxOfflineActivityMapper wxOfflineActivityMapper; | |||
| @Autowired | |||
| private WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; | |||
| @Autowired | |||
| private WxMerchantService wxMerchantService; | |||
| @Override | |||
| public void handleOfflineConfig(WxLegionActivity wxLegionActivity) { | |||
| wxLegionActivityOfflineConfigMapper.deleteByLegionActivity(wxLegionActivity.getId(),wxLegionActivity.getTenantId()); | |||
| if(wxLegionActivity.getOfflineActivityList() == null || wxLegionActivity.getOfflineActivityList().isEmpty()){ | |||
| return; | |||
| } | |||
| final IdWorker idWorker = IdWorker.get(); | |||
| List<WxLegionActivityOfflineConfig> legionActivityOfflineConfigList = new ArrayList<>(); | |||
| for (WxOfflineActivity wxOfflineActivity : wxLegionActivity.getOfflineActivityList()) { | |||
| WxLegionActivityOfflineConfig wxLegionActivityOfflineConfig = new WxLegionActivityOfflineConfig(); | |||
| wxLegionActivityOfflineConfig.setId(idWorker.nextId()); | |||
| wxLegionActivityOfflineConfig.updateTenantInfo(wxLegionActivity); | |||
| wxLegionActivityOfflineConfig.setLegionActivityId(wxLegionActivity.getId()); | |||
| wxLegionActivityOfflineConfig.setOfflineActivityId(wxOfflineActivity.getId()); | |||
| legionActivityOfflineConfigList.add(wxLegionActivityOfflineConfig); | |||
| } | |||
| wxLegionActivityOfflineConfigMapper.insertList(legionActivityOfflineConfigList); | |||
| } | |||
| @Override | |||
| public List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity) { | |||
| List<Long> OfflineActivityIds = wxLegionActivityOfflineConfigMapper.getOfflineActivityIds(wxLegionActivity.getId(),wxLegionActivity.getTenantId()); | |||
| if(OfflineActivityIds == null || OfflineActivityIds.isEmpty()){ | |||
| return Collections.emptyList(); | |||
| } | |||
| WxOfflineActivity wxOfflineActivity = new WxOfflineActivity(); | |||
| wxOfflineActivity.updateTenantInfo(wxLegionActivity); | |||
| wxOfflineActivity.setIds(OfflineActivityIds); | |||
| return wxOfflineActivityMapper.findList(wxOfflineActivity); | |||
| } | |||
| @Override | |||
| public void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) { | |||
| //所有都同步(绑定线下活动意义不大) | |||
| IdWorker idWorker = IdWorker.get(); | |||
| WxOfflineActivityRecord activityRecord = new WxOfflineActivityRecord(); | |||
| activityRecord.setId(idWorker.nextId()); | |||
| activityRecord.updateTenantInfo(legionActivityOrder); | |||
| activityRecord.setFromOrderId(legionActivityOrder.getId()); | |||
| activityRecord.setOrderNo(legionActivityOrder.getOrderNo()); | |||
| activityRecord.setOrderMoney(legionActivityOrder.getOrderMoney()); | |||
| activityRecord.setCusName(legionActivityOrder.getCusName()); | |||
| activityRecord.setCusPhone(legionActivityOrder.getCusAddress()); | |||
| activityRecord.setCreateBy(legionActivityOrder.getCreateBy()); | |||
| activityRecord.setMerchantId(legionActivityOrder.getMerchantId()); | |||
| if(activityRecord.getMerchantId() != null){ | |||
| WxMerchant merchant = wxMerchantService.selectById(activityRecord.getMerchantId()); | |||
| activityRecord.setBusinessId(merchant.getBusinessId()); | |||
| } | |||
| activityRecord.setCreateDate(legionActivityOrder.getCreateDate()); | |||
| activityRecord.setUpdateDate(legionActivityOrder.getUpdateDate()); | |||
| // activityRecord.setAuditRemark(legionActivityOrder.getAuditRemark()); | |||
| activityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode()); | |||
| activityRecord.setAuditBy(legionActivityOrder.getAuditBy()); | |||
| activityRecord.setAuditTime(legionActivityOrder.getAuditTime()); | |||
| wxOfflineActivityRecordMapper.insert(activityRecord); | |||
| } | |||
| } | |||
| @@ -18,6 +18,7 @@ import com.iformall.service.*; | |||
| import jodd.util.StringUtil; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import javax.servlet.http.HttpServletResponse; | |||
| @@ -52,6 +53,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||
| @Autowired | |||
| private WxLegionActivityMerchantConfigMapper wxLegionActivityMerchantConfigMapper; | |||
| @Autowired | |||
| private WxLegionActivityOfflineConfigService wxLegionActivityOfflineConfigService; | |||
| @Autowired | |||
| private WxMerchantMapper wxMerchantMapper; | |||
| @@ -290,12 +294,17 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||
| } | |||
| @Override | |||
| @Transactional(rollbackFor = Exception.class) | |||
| public void auditRecord(WxLegionActivityOrder wxLegionActivityOrder, Long userId) { | |||
| Date now = new Date(); | |||
| wxLegionActivityOrder.setUpdateDate(now); | |||
| wxLegionActivityOrder.setAuditTime(now); | |||
| wxLegionActivityOrder.setAuditBy(userId); | |||
| wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder); | |||
| //同步订单 | |||
| WxLegionActivityOrder legionActivityOrder = wxLegionActivityOrderMapper.selectById(wxLegionActivityOrder.getId(), wxLegionActivityOrder.getTenantId()); | |||
| wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(legionActivityOrder); | |||
| } | |||
| @Override | |||
| @@ -48,6 +48,12 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ | |||
| @Autowired | |||
| private WxLegionActivityMerchantConfigService wxLegionActivityMerchantConfigService; | |||
| @Autowired | |||
| private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper; | |||
| @Autowired | |||
| private WxLegionActivityOfflineConfigService wxLegionActivityOfflineConfigService; | |||
| @Autowired | |||
| private WxLegionActivityOrderService wxLegionActivityOrderService; | |||
| @@ -180,6 +186,8 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ | |||
| wxLegionActivity.setUpdateDate(now); | |||
| wxLegionActivityMapper.updateById(wxLegionActivity); | |||
| } | |||
| //处理线下活动配置 | |||
| wxLegionActivityOfflineConfigService.handleOfflineConfig(wxLegionActivity); | |||
| //处理军团配置 | |||
| wxLegionActivityConfigService.handleLegionConfig(wxLegionActivity); | |||
| @@ -196,6 +204,8 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ | |||
| if(activity == null){ | |||
| return activity; | |||
| } | |||
| //获取活动发奖配置 | |||
| activity.setOfflineActivityList(wxLegionActivityOfflineConfigService.getOfflineActivityList(activity)); | |||
| //获取军团配置 | |||
| WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); | |||
| legionConfigQ.updateTenantInfo(activity); | |||
| @@ -168,16 +168,12 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco | |||
| wxOfflineActivityRecord.setId(idWorker.nextId()); | |||
| wxOfflineActivityRecord.setCreateDate(now); | |||
| wxOfflineActivityRecord.setUpdateDate(now); | |||
| wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode()); | |||
| // wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode()); | |||
| wxOfflineActivityRecordMapper.insert(wxOfflineActivityRecord); | |||
| } | |||
| else{ | |||
| WxOfflineActivityRecord record = wxOfflineActivityRecordMapper.selectById(wxOfflineActivityRecord.getId(),wxOfflineActivityRecord.getTenantId()); | |||
| if(!EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode().equals(record.getAuditStatus())){ | |||
| throw new MallinkException(Result.ERROR,"订单状态不允许修改"); | |||
| } | |||
| wxOfflineActivityRecord.setAuditRemark(""); | |||
| wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode()); | |||
| // wxOfflineActivityRecord.setAuditRemark(""); | |||
| // wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode()); | |||
| wxOfflineActivityRecord.setUpdateDate(now); | |||
| wxOfflineActivityRecordMapper.updateById(wxOfflineActivityRecord); | |||
| } | |||
| @@ -0,0 +1,80 @@ | |||
| <?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.iformall.mapper.WxLegionActivityOfflineConfigMapper"> | |||
| <resultMap id="BaseResultMap" type="com.iformall.domain.po.WxLegionActivityOfflineConfig"> | |||
| <id property="id" column="id" jdbcType="BIGINT"/> | |||
| <result property="tenantId" column="tenant_id" jdbcType="VARCHAR"/> | |||
| <result property="parentTenantId" column="parent_tenant_id" jdbcType="VARCHAR"/> | |||
| <result property="legionActivityId" column="legion_activity_id" jdbcType="BIGINT"/> | |||
| <result property="offlineActivityId" column="offline_activity_id" jdbcType="BIGINT"/> | |||
| </resultMap> | |||
| <sql id="allColumns"> | |||
| id,tenant_id,parent_tenant_id, | |||
| legion_activity_id,offline_activity_id | |||
| </sql> | |||
| <sql id="dynamicWhereConditions"> | |||
| where 1 = 1 | |||
| <if test=" null != id "> | |||
| and `id` = #{id} | |||
| </if> | |||
| <if test=" null != tenantId and '' != tenantId"> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| <if test=" null != parentTenantId and '' != parentTenantId"> | |||
| and `parent_tenant_id` = #{parentTenantId} | |||
| </if> | |||
| <if test=" null != legionActivityId "> | |||
| and `legion_activity_id` = #{legionActivityId} | |||
| </if> | |||
| <if test=" null != offlineActivityId "> | |||
| and `offline_activity_id` = #{offlineActivityId} | |||
| </if> | |||
| <if test=" null != ids "> | |||
| and id in | |||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | |||
| #{idItem} | |||
| </foreach> | |||
| </if> | |||
| <if test=" null != sortColumns"> order by ${sortColumns} </if> | |||
| </sql> | |||
| <select id="findList" parameterType="com.iformall.domain.po.WxLegionActivityOfflineConfig" resultMap="BaseResultMap"> | |||
| select <include refid="allColumns" /> from wx_legion_activity_offline_config | |||
| <include refid="dynamicWhereConditions" /> | |||
| </select> | |||
| <select id="getOfflineActivityIds" parameterType="java.util.HashMap" resultType="Long"> | |||
| select offline_activity_id from wx_legion_activity_offline_config | |||
| where `legion_activity_id` = #{legionActivityId} | |||
| <if test=" null != tenantId and '' != tenantId"> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| </select> | |||
| <delete id="deleteByLegionActivity" parameterType="java.util.HashMap"> | |||
| delete from wx_legion_activity_offline_config | |||
| where `legion_activity_id` = #{legionActivityId} | |||
| <if test=" null != tenantId and '' != tenantId"> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| </delete> | |||
| <insert id="insertList" parameterType="java.util.List"> | |||
| insert into wx_legion_activity_offline_config | |||
| (id, | |||
| legion_activity_id,offline_activity_id) | |||
| values | |||
| <foreach collection="configList" item="item" index="index" separator=","> | |||
| (#{item.id,jdbcType=BIGINT}, | |||
| #{item.legionActivityId,jdbcType=BIGINT},#{item.offlineActivityId,jdbcType=BIGINT}) | |||
| </foreach> | |||
| </insert> | |||
| </mapper> | |||
| @@ -8,6 +8,7 @@ | |||
| <id property="id" column="id" jdbcType="BIGINT"/> | |||
| <result property="tenantId" column="tenant_id" jdbcType="VARCHAR"/> | |||
| <result property="parentTenantId" column="parent_tenant_id" jdbcType="VARCHAR"/> | |||
| <result property="fromOrderId" column="from_order_id" jdbcType="BIGINT"/> | |||
| <result property="orderNo" column="order_no" jdbcType="VARCHAR"/> | |||
| <result property="orderMoney" column="order_money" jdbcType="DECIMAL"/> | |||
| <result property="cusName" column="cus_name" jdbcType="VARCHAR"/> | |||
| @@ -31,7 +32,7 @@ | |||
| <sql id="allColumns"> | |||
| id,tenant_id,parent_tenant_id, | |||
| order_no,order_money,cus_name, | |||
| from_order_id,order_no,order_money,cus_name, | |||
| real_cus_name,cus_phone,cus_address, | |||
| cus_card,lottery_num,lottery_count, | |||
| anniversary_lottery_num,create_by,merchant_id,business_id, | |||
| @@ -66,6 +67,10 @@ | |||
| and `cus_phone` = #{cusPhone} | |||
| </if> | |||
| <if test=" null != fromOrderId "> | |||
| and `from_order_id` = #{fromOrderId} | |||
| </if> | |||
| <if test=" null != orderNo and orderNo != '' "> | |||
| and `order_no` like concat('%', #{orderNo},'%') | |||
| </if> | |||