jyc 1 vecka sedan
förälder
incheckning
7637a31dc3

+ 20 - 0
alien-entity/src/main/java/shop/alien/entity/store/EssentialHolidayComparison.java

@@ -6,6 +6,9 @@ import java.time.LocalDate;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -44,6 +47,23 @@ public class EssentialHolidayComparison extends Model<EssentialHolidayComparison
     @TableField("particular_year")
     private String particularYear;
 
+    @ApiModelProperty(value = "开始时间")
+    @TableField("start_time")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startTime;
+
+    @ApiModelProperty(value = "结束时间")
+    @TableField("end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
+
+    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
+    @TableField(value = "del_flag")
+    private int delFlag;
+
+    @ApiModelProperty(value = "是否启用(0:未启用,1:已启用)")
+    @TableField(value = "open_flag")
+    private int openFlag;
 
     @Override
     protected Serializable pkVal() {

+ 57 - 0
alien-store/src/main/java/shop/alien/store/controller/LifeCouponController.java

@@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
+import shop.alien.entity.store.EssentialHolidayComparison;
 import shop.alien.entity.store.LifeCoupon;
 import shop.alien.entity.store.vo.LifeCouponStatusVo;
 import shop.alien.store.service.LifeCouponService;
@@ -95,4 +96,60 @@ public class LifeCouponController {
         }
     }
 
+    @ApiOperation("节假日列表")
+    @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "页数", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "size", value = "页容", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "year", value = "年份", dataType = "String", paramType = "query", required = false),
+            @ApiImplicitParam(name = "openFlag", value = "是否启用(0:未启用,1:已启用)", dataType = "String", paramType = "query", required = false),
+            @ApiImplicitParam(name = "holidayName", value = "节假日名称", dataType = "String", paramType = "query", required = false)
+    })
+    @GetMapping("/getHolidayList")
+    private R<IPage<EssentialHolidayComparison>> getHolidayList(@RequestParam(value = "page", defaultValue = "1") int page,
+                                                                @RequestParam(value = "size", defaultValue = "10") int size,
+                                                                @RequestParam("year") String year,
+                                                                @RequestParam("openFlag") String openFlag,
+                                                                @RequestParam("holidayName") String holidayName) {
+        log.info("LifeCouponController.getHolidayList?page={},size={},year={},openFlag={},holidayName={}", page, size, year,openFlag, holidayName);
+        return R.data(lifeCouponService.getHolidayList(page, size, year,openFlag, holidayName));
+    }
+
+    @ApiOperation("保存节假日")
+    @PostMapping("/saveHoliday")
+    public R<Boolean> saveHoliday(@RequestBody EssentialHolidayComparison essentialHolidayComparison) {
+        log.info("LifeCouponController.saveHoliday?essentialHolidayComparison={}", essentialHolidayComparison.toString());
+        if (lifeCouponService.saveHoliday(essentialHolidayComparison)) {
+            return R.success("成功");
+        }
+        return R.fail("失败");
+    }
+
+    @ApiOperation("删除节假日")
+    @GetMapping("/delHoliday")
+    private R delHoliday(@RequestParam("id") String id) {
+        log.info("LifeCouponController.delHoliday?id={}", id);
+        if (lifeCouponService.delHoliday(id)) {
+            return R.success("成功");
+        }
+        return R.fail("失败");
+    }
+
+    @ApiOperation("启用禁用节假日")
+    @GetMapping("/openCloseHoliday")
+    private R openCloseHoliday(@RequestParam("id") String id) {
+        log.info("LifeCouponController.openCloseHoliday?id={}", id);
+        if (lifeCouponService.openCloseHoliday(id)) {
+            return R.success("成功");
+        }
+        return R.fail("失败");
+    }
+
+    @ApiOperation("按年份删除节假日")
+    @GetMapping("/delHolidayByYear")
+    private R delHolidayByYear(@RequestParam("year") String year) {
+        log.info("LifeCouponController.delHolidayByYear?year={}", year);
+        if (lifeCouponService.delHolidayByYear(year)) {
+            return R.success("成功");
+        }
+        return R.fail("失败");
+    }
 }

+ 11 - 0
alien-store/src/main/java/shop/alien/store/service/LifeCouponService.java

@@ -2,6 +2,7 @@ package shop.alien.store.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import shop.alien.entity.store.EssentialHolidayComparison;
 import shop.alien.entity.store.LifeCoupon;
 import shop.alien.entity.store.vo.LifeCouponStatusVo;
 
@@ -24,4 +25,14 @@ public interface LifeCouponService extends IService<LifeCoupon> {
      * 获取代金券状态
      */
     public LifeCouponStatusVo getCouponStatus(String couponId);
+
+    IPage<EssentialHolidayComparison> getHolidayList(int page, int size, String year,String openFlag, String holidayName);
+
+    boolean saveHoliday(EssentialHolidayComparison essentialHolidayComparison);
+
+    boolean delHoliday(String id);
+
+    boolean delHolidayByYear(String year);
+
+    boolean openCloseHoliday(String id);
 }

+ 64 - 4
alien-store/src/main/java/shop/alien/store/service/impl/LifeCouponServiceImpl.java

@@ -3,19 +3,18 @@ package shop.alien.store.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
+import org.apache.http.client.utils.DateUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.dto.LifeDiscountCouponStoreFriendDto;
 import shop.alien.entity.store.vo.LifeCouponStatusVo;
-import shop.alien.mapper.LifeCouponMapper;
-import shop.alien.mapper.LifeUserOrderMapper;
-import shop.alien.mapper.StoreDictionaryMapper;
-import shop.alien.mapper.StoreIncomeDetailsRecordMapper;
+import shop.alien.mapper.*;
 import shop.alien.store.service.LifeCouponService;
 import shop.alien.store.service.LifeDiscountCouponStoreFriendService;
 import shop.alien.util.common.UniqueRandomNumGenerator;
@@ -47,6 +46,8 @@ public class LifeCouponServiceImpl extends ServiceImpl<LifeCouponMapper, LifeCou
 
     private final LifeDiscountCouponStoreFriendService lifeDiscountCouponStoreFriendService;
 
+    private final EssentialHolidayComparisonMapper essentialHolidayComparisonMapper;
+
     @Override
     public boolean addOrUpdateCoupon(LifeCoupon lifeCoupon) {
 
@@ -222,4 +223,63 @@ public class LifeCouponServiceImpl extends ServiceImpl<LifeCouponMapper, LifeCou
         }
     }
 
+    @Override
+    public IPage<EssentialHolidayComparison> getHolidayList(int page, int size, String year,String openFlag,String holidayName) {
+        if (StringUtils.isEmpty(year)) {
+            LambdaQueryWrapper<EssentialHolidayComparison> essentialHolidayComparisonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            essentialHolidayComparisonLambdaQueryWrapper.eq(EssentialHolidayComparison::getDelFlag, 0).groupBy(EssentialHolidayComparison::getParticularYear).orderByDesc(EssentialHolidayComparison::getParticularYear);
+            IPage<EssentialHolidayComparison> essentialHolidayComparisonIPage = new Page<>(page, size);
+            return essentialHolidayComparisonMapper.selectPage(essentialHolidayComparisonIPage, essentialHolidayComparisonLambdaQueryWrapper);
+        }else {
+            LambdaQueryWrapper<EssentialHolidayComparison> essentialHolidayComparisonLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            essentialHolidayComparisonLambdaQueryWrapper.eq(EssentialHolidayComparison::getDelFlag, 0)
+                    .eq(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(year),EssentialHolidayComparison::getParticularYear,year)
+                    .eq(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(openFlag),EssentialHolidayComparison::getOpenFlag,openFlag)
+                    .like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(holidayName),EssentialHolidayComparison::getFestivalName,holidayName)
+                    .orderByAsc(EssentialHolidayComparison::getStartTime);
+            IPage<EssentialHolidayComparison> essentialHolidayComparisonIPage = new Page<>(page, size);
+            return essentialHolidayComparisonMapper.selectPage(essentialHolidayComparisonIPage, essentialHolidayComparisonLambdaQueryWrapper);
+        }
+    }
+
+    @Override
+    public boolean saveHoliday(EssentialHolidayComparison essentialHolidayComparison) {
+        if (ObjectUtils.isNotEmpty(essentialHolidayComparison.getId())) {
+            if (ObjectUtils.isNotEmpty(essentialHolidayComparison.getStartTime())) {
+                essentialHolidayComparison.setFestivalDate(essentialHolidayComparison.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
+            }
+            essentialHolidayComparisonMapper.updateById(essentialHolidayComparison);
+            return true;
+        }else {
+            if (ObjectUtils.isNotEmpty(essentialHolidayComparison.getStartTime())) {
+                essentialHolidayComparison.setFestivalDate(essentialHolidayComparison.getStartTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
+            }
+            essentialHolidayComparisonMapper.insert(essentialHolidayComparison);
+            return true;
+        }
+    }
+
+    @Override
+    public boolean delHoliday(String id) {
+        essentialHolidayComparisonMapper.update(null, new LambdaUpdateWrapper<EssentialHolidayComparison>().eq(EssentialHolidayComparison::getId, id).set(EssentialHolidayComparison::getDelFlag, 1));
+        return true;
+    }
+
+    @Override
+    public boolean delHolidayByYear(String year) {
+        essentialHolidayComparisonMapper.update(null, new LambdaUpdateWrapper<EssentialHolidayComparison>().eq(EssentialHolidayComparison::getParticularYear, year).set(EssentialHolidayComparison::getDelFlag, 1));
+        return true;
+    }
+
+    @Override
+    public boolean openCloseHoliday(String id) {
+        EssentialHolidayComparison essentialHolidayComparison = essentialHolidayComparisonMapper.selectById(id);
+        if (essentialHolidayComparison.getOpenFlag() == 0) {
+            essentialHolidayComparisonMapper.update(null, new LambdaUpdateWrapper<EssentialHolidayComparison>().eq(EssentialHolidayComparison::getId, id).set(EssentialHolidayComparison::getOpenFlag, 1));
+        } else {
+            essentialHolidayComparisonMapper.update(null, new LambdaUpdateWrapper<EssentialHolidayComparison>().eq(EssentialHolidayComparison::getId, id).set(EssentialHolidayComparison::getOpenFlag, 0));
+        }
+        return true;
+    }
+
 }