用户端满减活动
This commit is contained in:
parent
ccf791b53b
commit
5de49a0912
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.czg.controller.user;
|
||||||
|
|
||||||
|
import com.czg.market.dto.MkDiscountActivityDTO;
|
||||||
|
import com.czg.market.service.MkDiscountActivityService;
|
||||||
|
import com.czg.resp.CzgResult;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 满减活动
|
||||||
|
*
|
||||||
|
* @author Administrator
|
||||||
|
*/
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/user/discountActivity")
|
||||||
|
public class UDiscountActivityController {
|
||||||
|
@Resource
|
||||||
|
private MkDiscountActivityService discountActivityService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页
|
||||||
|
*/
|
||||||
|
@GetMapping()
|
||||||
|
public CzgResult<MkDiscountActivityDTO> getActivity(@RequestParam Long shopId) {
|
||||||
|
MkDiscountActivityDTO data = discountActivityService.getActivityByShopId(shopId);
|
||||||
|
return CzgResult.success(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -255,6 +255,11 @@ public class ShopInfo implements Serializable {
|
||||||
*/
|
*/
|
||||||
@Column(ignore = true)
|
@Column(ignore = true)
|
||||||
private Integer isEnableConsSync;
|
private Integer isEnableConsSync;
|
||||||
|
/**
|
||||||
|
* 是否启用新客立减 1-是 0-否
|
||||||
|
*/
|
||||||
|
@Column(ignore = true)
|
||||||
|
private Integer isEnableDiscount;
|
||||||
/**
|
/**
|
||||||
* 是否允许账号登录 1-是 0-否
|
* 是否允许账号登录 1-是 0-否
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ import com.czg.market.entity.MkDiscountActivity;
|
||||||
public interface MkDiscountActivityService extends IService<MkDiscountActivity> {
|
public interface MkDiscountActivityService extends IService<MkDiscountActivity> {
|
||||||
Page<MkDiscountActivityDTO> getActivityPage(TimeQueryParam param, Long shopId);
|
Page<MkDiscountActivityDTO> getActivityPage(TimeQueryParam param, Long shopId);
|
||||||
|
|
||||||
|
MkDiscountActivityDTO getActivityByShopId(Long shopId);
|
||||||
|
|
||||||
void addActivity(MkDiscountActivityDTO param);
|
void addActivity(MkDiscountActivityDTO param);
|
||||||
|
|
||||||
void updateActivityById(MkDiscountActivityDTO param);
|
void updateActivityById(MkDiscountActivityDTO param);
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,5 @@ import com.czg.market.entity.MkDiscountActivity;
|
||||||
*/
|
*/
|
||||||
public interface MkDiscountActivityMapper extends BaseMapper<MkDiscountActivity> {
|
public interface MkDiscountActivityMapper extends BaseMapper<MkDiscountActivity> {
|
||||||
|
|
||||||
|
MkDiscountActivity selectOneByShopId(Long shopId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,20 +3,21 @@ package com.czg.service.market.service.impl;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.czg.TimeQueryParam;
|
import com.czg.TimeQueryParam;
|
||||||
|
import com.czg.account.entity.ShopInfo;
|
||||||
|
import com.czg.account.service.ShopInfoService;
|
||||||
import com.czg.market.dto.MkDiscountActivityDTO;
|
import com.czg.market.dto.MkDiscountActivityDTO;
|
||||||
import com.czg.market.dto.ShopCouponDTO;
|
import com.czg.market.entity.MkDiscountActivity;
|
||||||
import com.czg.market.entity.MkDiscountThreshold;
|
import com.czg.market.entity.MkDiscountThreshold;
|
||||||
import com.czg.market.entity.ShopCoupon;
|
import com.czg.market.service.MkDiscountActivityService;
|
||||||
import com.czg.sa.StpKit;
|
import com.czg.service.market.mapper.MkDiscountActivityMapper;
|
||||||
import com.czg.service.market.mapper.MkDiscountThresholdMapper;
|
import com.czg.service.market.mapper.MkDiscountThresholdMapper;
|
||||||
|
import com.czg.utils.AssertUtil;
|
||||||
import com.czg.utils.PageUtil;
|
import com.czg.utils.PageUtil;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
import com.mybatisflex.core.query.QueryWrapper;
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
import com.czg.market.entity.MkDiscountActivity;
|
|
||||||
import com.czg.market.service.MkDiscountActivityService;
|
|
||||||
import com.czg.service.market.mapper.MkDiscountActivityMapper;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -32,6 +33,8 @@ public class MkDiscountActivityServiceImpl extends ServiceImpl<MkDiscountActivit
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MkDiscountThresholdMapper thresholdMapper;
|
private MkDiscountThresholdMapper thresholdMapper;
|
||||||
|
@DubboReference
|
||||||
|
private ShopInfoService shopInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<MkDiscountActivityDTO> getActivityPage(TimeQueryParam param, Long shopId) {
|
public Page<MkDiscountActivityDTO> getActivityPage(TimeQueryParam param, Long shopId) {
|
||||||
|
|
@ -51,6 +54,24 @@ public class MkDiscountActivityServiceImpl extends ServiceImpl<MkDiscountActivit
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MkDiscountActivityDTO getActivityByShopId(Long shopId) {
|
||||||
|
ShopInfo shopInfo = shopInfoService.getById(shopId);
|
||||||
|
AssertUtil.isNull(shopInfo, "店铺不存在");
|
||||||
|
if (shopInfo.getIsEnableDiscount() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
MkDiscountActivity activity = mapper.selectOneByShopId(shopId);
|
||||||
|
if (activity == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
MkDiscountActivityDTO activityDTO = BeanUtil.toBean(activity, MkDiscountActivityDTO.class);
|
||||||
|
activityDTO.setThresholds(thresholdMapper.selectListByQuery(
|
||||||
|
new QueryWrapper().eq(MkDiscountThreshold::getActivityId, activity.getId())
|
||||||
|
));
|
||||||
|
return activityDTO;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addActivity(MkDiscountActivityDTO param) {
|
public void addActivity(MkDiscountActivityDTO param) {
|
||||||
if (CollUtil.isEmpty(param.getThresholds())) {
|
if (CollUtil.isEmpty(param.getThresholds())) {
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,16 @@
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.czg.service.market.mapper.MkDiscountActivityMapper">
|
<mapper namespace="com.czg.service.market.mapper.MkDiscountActivityMapper">
|
||||||
|
|
||||||
|
<select id="selectOneByShopId" resultType="com.czg.market.entity.MkDiscountActivity">
|
||||||
|
SELECT *
|
||||||
|
FROM mk_discount_activity
|
||||||
|
WHERE shop_id = #{shopId}
|
||||||
|
AND is_del = 0
|
||||||
|
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))
|
||||||
|
ORDER BY sort DESC,
|
||||||
|
update_time DESC,
|
||||||
|
create_time DESC
|
||||||
|
LIMIT 1;
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue