名称
This commit is contained in:
@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
|
|||||||
import com.mybatisflex.annotation.Id;
|
import com.mybatisflex.annotation.Id;
|
||||||
import com.mybatisflex.annotation.KeyType;
|
import com.mybatisflex.annotation.KeyType;
|
||||||
import com.mybatisflex.annotation.Table;
|
import com.mybatisflex.annotation.Table;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@@ -45,6 +46,10 @@ public class BkContactList implements Serializable {
|
|||||||
* 电话号码
|
* 电话号码
|
||||||
*/
|
*/
|
||||||
private String phone;
|
private String phone;
|
||||||
|
/**
|
||||||
|
* 昵称
|
||||||
|
*/
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 历史订单数
|
* 历史订单数
|
||||||
|
|||||||
@@ -18,5 +18,5 @@ public interface BkContactListMapper extends BaseMapper<BkContactList> {
|
|||||||
* @param shopId 店铺ID
|
* @param shopId 店铺ID
|
||||||
* @return 通讯录联系人列表
|
* @return 通讯录联系人列表
|
||||||
*/
|
*/
|
||||||
List<BkContactList> getUserList(Long shopId);
|
List<BkContactList> getUserList(Long shopId, Long mainShopId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
package com.czg.service.account.service.impl;
|
package com.czg.service.account.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.mybatisflex.core.query.QueryWrapper;
|
|
||||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
|
||||||
import com.czg.account.entity.BkContactList;
|
import com.czg.account.entity.BkContactList;
|
||||||
import com.czg.account.service.BkContactListService;
|
import com.czg.account.service.BkContactListService;
|
||||||
|
import com.czg.account.service.ShopInfoService;
|
||||||
import com.czg.service.account.mapper.BkContactListMapper;
|
import com.czg.service.account.mapper.BkContactListMapper;
|
||||||
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -21,6 +22,8 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class BkContactListServiceImpl extends ServiceImpl<BkContactListMapper, BkContactList> implements BkContactListService {
|
public class BkContactListServiceImpl extends ServiceImpl<BkContactListMapper, BkContactList> implements BkContactListService {
|
||||||
|
@Resource
|
||||||
|
private ShopInfoService shopInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BkContactList> getUserList(Long shopId, Set<String> phones) {
|
public List<BkContactList> getUserList(Long shopId, Set<String> phones) {
|
||||||
@@ -35,6 +38,7 @@ public class BkContactListServiceImpl extends ServiceImpl<BkContactListMapper, B
|
|||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
mapper.insertBatch(collect, 50);
|
mapper.insertBatch(collect, 50);
|
||||||
return mapper.getUserList(shopId);
|
Long mainShopId = shopInfoService.getMainIdByShopId(shopId);
|
||||||
|
return mapper.getUserList(shopId, mainShopId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,16 +5,16 @@
|
|||||||
<mapper namespace="com.czg.service.account.mapper.BkContactListMapper">
|
<mapper namespace="com.czg.service.account.mapper.BkContactListMapper">
|
||||||
|
|
||||||
<select id="getUserList" resultType="com.czg.account.entity.BkContactList">
|
<select id="getUserList" resultType="com.czg.account.entity.BkContactList">
|
||||||
SELECT
|
SELECT user.nick_name AS nickName,
|
||||||
`order`.call_phone AS phone,
|
`order`.call_phone AS phone,
|
||||||
count( 1 ) AS orderNum,
|
count(1) AS orderNum,
|
||||||
sum( CASE `order`.`status` WHEN '已取消' THEN 1 ELSE 0 END ) AS cancelNum,
|
sum(CASE `order`.`status` WHEN '已取消' THEN 1 ELSE 0 END) AS cancelNum,
|
||||||
MAX(`order`.create_time) AS lastBookingTime
|
MAX(`order`.create_time) AS lastBookingTime
|
||||||
FROM
|
FROM `bk_order` `order`
|
||||||
`bk_order` `order`
|
INNER JOIN bk_contact_list contact
|
||||||
INNER JOIN bk_contact_list contact ON `order`.call_phone = contact.phone AND contact.shop_id = #{shopId}
|
ON `order`.call_phone = contact.phone AND contact.shop_id = #{shopId}
|
||||||
WHERE
|
LEFT JOIN tb_shop_user user ON `contact`.phone = user.phone and user.main_shop_id = #{mainShopId}
|
||||||
`order`.shop_id = #{shopId}
|
WHERE `order`.shop_id = #{shopId}
|
||||||
GROUP BY `order`.call_phone
|
GROUP BY `order`.call_phone
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user