package com.mzl.flower.mapper.customer;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.mzl.flower.dto.request.customer.QueryCustomerDTO;
|
import com.mzl.flower.dto.response.customer.CustomerDTO;
|
import com.mzl.flower.dto.response.customer.InviteDTO;
|
import com.mzl.flower.dto.response.supplier.SupplierDTO;
|
import com.mzl.flower.entity.customer.Customer;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Update;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
@Repository
|
public interface CustomerMapper extends BaseMapper<Customer> {
|
List<CustomerDTO> queryCustomer(@Param("dto") QueryCustomerDTO dto, Page page);
|
|
CustomerDTO getCurrentCustomer(@Param("userId") String userId);
|
|
void bindPartner(@Param("id") Long id, @Param("partnerId")Long partnerId, @Param("userId")String userId);
|
|
@Select("select count(1) from t_customer_info where level_id = #{levelId} and deleted = '0' ")
|
Integer getByLevelId(@Param("levelId") String levelId);
|
|
@Update("UPDATE t_customer_info c " +
|
"JOIN ( " +
|
" SELECT user_id, " +
|
" SUM(growth) as sumgrowthvalue " +
|
" FROM t_member_growth_record " +
|
" WHERE deleted = '0' " +
|
" GROUP BY user_id " +
|
" HAVING SUM(growth) > 0 " +
|
") t1 ON c.user_id = t1.user_id " +
|
"SET c.level_id = #{levelId} " +
|
"WHERE t1.sumgrowthvalue BETWEEN #{startPoint} AND #{endPoint} ")
|
Boolean updateMemberLevelByPoint(@Param("levelId") Long levelId, @Param("startPoint") int startPoint, @Param("endPoint") int endPoint);
|
|
|
|
@Select("select * from t_customer_info where user_id = ( select id from t_user where tel =#{phone} and type = 'customer')")
|
CustomerDTO findCustomerByPhone(String phone);
|
|
@Select("select * from t_customer_info where intervialcode =#{code}")
|
Customer findCustomerByInvitationCode(@Param("code") String code);
|
|
@Select("select count(1) from t_customer_info where reintervialcode = #{code}")
|
Integer getInvitatCountByCode(@Param("code") String code);
|
|
@Select("SELECT " +
|
" c.user_id as userId," +
|
" c.name as userName," +
|
" CASE " +
|
" WHEN t1.reward < 3 THEN '获得了3天会员' " +
|
" WHEN t1.reward >= 3 AND t1.reward < 5 THEN '获得了15天会员' " +
|
" WHEN t1.reward >=5 THEN '获得了30天会员' " +
|
" ELSE '' " +
|
" END AS reward ," +
|
" '已注册' as status " +
|
"FROM " +
|
" t_customer_info c " +
|
" INNER JOIN (" +
|
" SELECT " +
|
" reintervialcode, " +
|
" COUNT(DISTINCT id) AS reward" +
|
" FROM " +
|
" t_customer_info " +
|
" WHERE " +
|
" reintervialcode IS NOT NULL " +
|
" AND reintervialcode <> '' " +
|
" GROUP BY " +
|
" reintervialcode " +
|
" ) t1 ON c.intervialcode = t1.reintervialcode")
|
List<InviteDTO> getReward();
|
|
@Select("SELECT " +
|
"c.user_id AS userId, " +
|
"c.NAME AS userName, " +
|
"'' AS reward, " +
|
"'已注册' AS STATUS , c.cover " +
|
"FROM " +
|
"t_customer_info c " +
|
"WHERE " +
|
"reintervialcode IN ( SELECT intervialcode FROM t_customer_info WHERE user_id = #{userid} )")
|
List<InviteDTO> getMyReward(String userid);
|
void checkVipExpireTime();
|
}
|