智慧推荐
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package com.czg.service.market.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.market.entity.MkProductSmartSuggest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 点单智能推荐 映射层。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-21
|
||||
*/
|
||||
public interface MkProductSmartSuggestMapper extends BaseMapper<MkProductSmartSuggest> {
|
||||
|
||||
/**
|
||||
* 根据店铺ID查询智能推荐
|
||||
* @param shopId 店铺ID
|
||||
* @param week 周几
|
||||
* @return 智能推荐列表
|
||||
*/
|
||||
List<MkProductSmartSuggest> selectListByShopId(Long shopId, String week);
|
||||
}
|
||||
@@ -61,11 +61,6 @@ public class MkLimitTimeDiscountServiceImpl extends ServiceImpl<MkLimitTimeDisco
|
||||
|
||||
@Override
|
||||
public MkLimitTimeDiscount getLimitTimeDiscountByShopId(Long shopId) {
|
||||
ShopInfo shopInfo = shopInfoService.getById(shopId);
|
||||
AssertUtil.isNull(shopInfo, "店铺不存在");
|
||||
if (shopInfo.getIsLimitTimeDiscount() == null || shopInfo.getIsLimitTimeDiscount() == 0) {
|
||||
return null;
|
||||
}
|
||||
Long mainShopId = shopInfoService.getMainIdByShopId(shopId);
|
||||
return mapper.selectOneByShopId(mainShopId, shopId, CzgStrUtils.getStrWeek());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.czg.service.market.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.czg.BaseQueryParam;
|
||||
import com.czg.TimeQueryParam;
|
||||
import com.czg.account.entity.ShopInfo;
|
||||
import com.czg.account.service.ShopInfoService;
|
||||
import com.czg.market.dto.MkProductSmartSuggestDTO;
|
||||
import com.czg.market.dto.MkProductSmartSuggestDTO;
|
||||
import com.czg.market.entity.MkLimitTimeDiscount;
|
||||
import com.czg.market.entity.MkProductSmartSuggest;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.utils.CzgStrUtils;
|
||||
import com.czg.utils.PageUtil;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import com.czg.market.entity.MkProductSmartSuggest;
|
||||
import com.czg.market.service.MkProductSmartSuggestService;
|
||||
import com.czg.service.market.mapper.MkProductSmartSuggestMapper;
|
||||
import org.apache.catalina.LifecycleState;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 点单智能推荐 服务层实现。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-10-21
|
||||
*/
|
||||
@Service
|
||||
public class MkProductSmartSuggestServiceImpl extends ServiceImpl<MkProductSmartSuggestMapper, MkProductSmartSuggest> implements MkProductSmartSuggestService {
|
||||
|
||||
@DubboReference
|
||||
private ShopInfoService shopInfoService;
|
||||
|
||||
@Override
|
||||
public Page<MkProductSmartSuggestDTO> getProductSmartSuggestPage(BaseQueryParam param, Long shopId) {
|
||||
QueryWrapper queryWrapper = new QueryWrapper();
|
||||
queryWrapper.eq(MkProductSmartSuggest::getShopId, shopId)
|
||||
.eq(MkProductSmartSuggest::getIsDel, 0)
|
||||
.orderBy(MkProductSmartSuggest::getUpdateTime).desc();
|
||||
return pageAs(PageUtil.buildPage(), queryWrapper, MkProductSmartSuggestDTO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MkProductSmartSuggest> getProductSmartSuggestByShopId(Long shopId) {
|
||||
ShopInfo shopInfo = shopInfoService.getById(shopId);
|
||||
AssertUtil.isNull(shopInfo, "店铺不存在");
|
||||
if (shopInfo.getIsProductSuggest() == null || shopInfo.getIsProductSuggest() == 0) {
|
||||
return null;
|
||||
}
|
||||
return mapper.selectListByShopId(shopId, CzgStrUtils.getStrWeek());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProductSmartSuggest(MkProductSmartSuggestDTO param) {
|
||||
param.setIsDel(false);
|
||||
MkProductSmartSuggest activity = BeanUtil.toBean(param, MkProductSmartSuggest.class);
|
||||
save(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProductSmartSuggestById(MkProductSmartSuggestDTO param) {
|
||||
param.setIsDel(false);
|
||||
MkProductSmartSuggest suggest = BeanUtil.toBean(param, MkProductSmartSuggest.class);
|
||||
updateById(suggest, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProductSmartSuggest(Long id) {
|
||||
MkProductSmartSuggest suggest = new MkProductSmartSuggest();
|
||||
suggest.setId(id);
|
||||
suggest.setIsDel(true);
|
||||
updateById(suggest, true);
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
AND NOW() BETWEEN valid_start_time AND valid_end_time
|
||||
AND (use_time_type = 'all' OR
|
||||
(use_time_type = 'custom' AND TIME(NOW()) BETWEEN use_start_time AND use_end_time))
|
||||
AND use_days LIKE CONCAT('%', #{useDay}, '%')
|
||||
AND FIND_IN_SET(#{useDay}, use_days) > 0
|
||||
ORDER BY sort,
|
||||
update_time DESC,
|
||||
create_time DESC
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?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.czg.service.market.mapper.MkProductSmartSuggestMapper">
|
||||
<select id="selectListByShopId" resultType="com.czg.market.entity.MkProductSmartSuggest">
|
||||
SELECT *
|
||||
FROM mk_product_smart_suggest
|
||||
WHERE shop_id = #{shopId}
|
||||
AND is_del = 0
|
||||
AND status = 1
|
||||
AND NOW() BETWEEN valid_start_time AND valid_end_time
|
||||
AND (use_time_type = 'all' OR
|
||||
(use_time_type = 'custom' AND TIME(NOW()) BETWEEN use_start_time AND use_end_time))
|
||||
AND FIND_IN_SET(#{week}, use_days) > 0
|
||||
ORDER BY sort,
|
||||
update_time DESC,
|
||||
create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user