<?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="cc.mrbird.febs.mall.mapper.MallTeamLeaderMapper">
|
|
<select id="selectLeaderListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallTeamLeaderVo">
|
select
|
a.*
|
from mall_team_leader a
|
<where>
|
<if test="record != null">
|
<if test="record.name != null and record.name != ''">
|
and a.name like CONCAT('%', CONCAT(#{record.name}, '%'))
|
</if>
|
<if test="record.state != null and record.state != ''">
|
and a.state = #{record.state}
|
</if>
|
</if>
|
</where>
|
order by a.created_time desc
|
</select>
|
|
<select id="selectApiLeaderListInPage" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*,
|
b.longlatiarr,
|
ROUND(
|
6378.138 * 2 * ASIN(
|
SQRT(
|
POW(SIN((#{record.latitude} * PI() / 180 - a.latitude * PI() / 180) / 2),2)
|
+ COS(40.0497810000 * PI() / 180) * COS(a.latitude * PI() / 180)
|
* POW(SIN((#{record.longitude} * PI() / 180 - a.longitude * PI() / 180) / 2),2)
|
)
|
) * 1000
|
) AS distance
|
from mall_team_leader a
|
left join mall_electronic_fence b on b.team_leader_code = a.unique_code
|
<where>
|
a.state = 1 and a.online_state = 1
|
<if test="record.query != null and record.query != ''">
|
and (a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or a.address_area like CONCAT('%', CONCAT(#{record.query}, '%')))
|
</if>
|
</where>
|
order by distance ASC
|
</select>
|
|
<select id="selectListByMemberIdAndState" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*
|
from mall_team_leader a
|
where a.state = #{state} and a.member_id = #{memberId}
|
</select>
|
|
|
<resultMap id="OrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo">
|
<id column="id" property="id" />
|
<result column="order_no" property="orderNo" />
|
<result column="member_id" property="memberId" />
|
<result column="order_time" property="orderTime" />
|
<result column="pay_time" property="payTime" />
|
<result column="amount" property="amount" />
|
<result column="pay_method" property="payMethod" />
|
<result column="pay_order_no" property="payOrderNo" />
|
<result column="pay_result" property="payResult" />
|
<result column="status" property="status" />
|
<result column="cancel_type" property="cancelType" />
|
<result column="name" property="name" />
|
<result column="phone" property="phone" />
|
<result column="address" property="address" />
|
<result column="longitude" property="longitude" />
|
<result column="latitude" property="latitude" />
|
<result column="order_type" property="orderType" />
|
<result column="comment_state" property="commentState" />
|
<result column="delivery_state" property="deliveryState" />
|
<result column="carriage" property="carriage" />
|
<result column="remark" property="remark" />
|
<result column="del_flag" property="delFlag" />
|
<result column="is_home" property="isHome" />
|
<collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
|
<id property="id" column="item_id" />
|
<result property="orderId" column="order_id" />
|
<result property="goodsId" column="goods_id" />
|
<result property="skuId" column="sku_id" />
|
<result property="goodsName" column="goods_name" />
|
<result property="styleName" column="style_name" />
|
<result property="skuName" column="sku_name" />
|
<result property="skuImage" column="sku_image" />
|
<result property="cnt" column="cnt" />
|
<result property="price" column="price" />
|
<result property="amount" column="amount" />
|
<result property="isNormal" column="is_normal" />
|
<result property="state" column="state" />
|
</collection>
|
</resultMap>
|
|
<select id="selectApiLeaderOrderListInPage" resultMap="OrderInfoMap">
|
select
|
a.*,
|
b.id item_id,
|
b.order_id,
|
b.goods_id,
|
b.sku_id,
|
b.goods_name,
|
b.style_name,
|
b.sku_name,
|
b.sku_image,
|
b.state,
|
b.cnt,
|
b.price,
|
b.amount
|
from mall_order_info a
|
inner join mall_order_item b on a.id=b.order_id
|
inner join mall_member c on a.take_unique_code=c.invite_id
|
<where>
|
c.id=#{record.memberId}
|
<if test="record.status == 4 and record.status != 0">
|
and a.status = 4
|
</if>
|
<if test="record.status != 4 and record.status != 1 and record.status != 0 and record.status != 5">
|
and a.status = #{record.status}
|
</if>
|
<if test="record.status == 5">
|
and (a.status = 6 or b.state = 2)
|
</if>
|
<if test="record.status == 1">
|
and a.status = 2
|
</if>
|
<if test="record.status == 0">
|
and a.status in (2,3,4)
|
</if>
|
<if test="record.query != null and record.query != ''">
|
and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
|
or b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
|
)
|
</if>
|
<if test="record.orderType != null">
|
and a.order_type=#{record.orderType}
|
</if>
|
and a.delivery_type = 1
|
</where>
|
order by a.created_time desc
|
</select>
|
|
<select id="getMallTeamLeaderList" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*
|
from mall_team_leader a
|
where a.state = 1 and a.online_state = 1
|
</select>
|
|
<select id="selectLeaderByUniqueCode" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*
|
from mall_team_leader a
|
where a.unique_code = #{uniqueCode} and a.state = 1 limit 1
|
</select>
|
|
<select id="selectLeaderByLonAndLat" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*,
|
ROUND(
|
6378.138 * 2 * ASIN(
|
SQRT(
|
POW(SIN((#{latitude} * PI() / 180 - a.latitude * PI() / 180) / 2),2)
|
+ COS(40.0497810000 * PI() / 180) * COS(a.latitude * PI() / 180)
|
* POW(SIN((#{longitude} * PI() / 180 - a.longitude * PI() / 180) / 2),2)
|
)
|
) * 1000
|
) AS distance
|
from mall_team_leader a
|
where a.state = 1 and a.online_state = 1
|
order by distance ASC limit 1
|
</select>
|
|
<select id="selectleaderGoodsStockListInPage" resultType="cc.mrbird.febs.mall.entity.MallLeaderStock">
|
select a.* from mall_leader_stock a
|
where a.team_leader_id = #{record.teamLeaderId}
|
</select>
|
|
<select id="selectLeaderByUniqueCodeAndOrderBycreateTime" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*
|
from mall_team_leader a
|
where a.unique_code = #{uniqueCode}
|
order by a.CREATED_TIME desc
|
limit 1
|
</select>
|
|
<select id="selectByFenceIdAndFenceNameAndLonAndLat" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*,
|
ROUND(
|
6378.138 * 2 * ASIN(
|
SQRT(
|
POW(SIN((#{latitude} * PI() / 180 - a.latitude * PI() / 180) / 2),2)
|
+ COS(40.0497810000 * PI() / 180) * COS(a.latitude * PI() / 180)
|
* POW(SIN((#{longitude} * PI() / 180 - a.longitude * PI() / 180) / 2),2)
|
)
|
) * 1000
|
) AS distance
|
from mall_team_leader a
|
inner join mall_electronic_fence b on b.team_leader_code = a.unique_code
|
where b.gid = #{fenceId}
|
and b.fence_name = #{fenceName}
|
</select>
|
|
<select id="getAllMallTeamLeaderList" resultType="cc.mrbird.febs.mall.entity.MallTeamLeader">
|
select
|
a.*
|
from mall_team_leader a
|
where a.state = 1
|
</select>
|
|
</mapper>
|