Browse Source

拍卖公告管理

linhui.li 3 weeks ago
parent
commit
09284e2776

+ 47 - 0
auc/src/main/java/cn/hobbystocks/auc/web/LotNoticeController.java

@@ -1,11 +1,58 @@
 package cn.hobbystocks.auc.web;
 
+import cn.hobbystocks.auc.common.core.domain.AjaxResult;
+import cn.hobbystocks.auc.domain.LotNotice;
+import cn.hobbystocks.auc.service.LotNoticeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @RestController
 @RequestMapping("/lot/notice/")
+@Api(tags = "拍卖公告管理")
 public class LotNoticeController extends AdminBaseController{
+    @Autowired
+    private LotNoticeService lotNoticeService;
+
+    @PostMapping("/list")
+    @ApiOperation("拍卖公告列表查询")
+    public AjaxResult selectLotNoticeList(@RequestBody LotNotice lotNotice){
+        List<LotNotice> lotNoticeList = lotNoticeService.selectLotNoticeList(lotNotice);
+        return AjaxResult.successPage(lotNoticeList);
+    }
+
+    @PostMapping("/create")
+    @ApiOperation("新建拍卖公告")
+    public AjaxResult createLotNotice(@RequestBody LotNotice lotNotice){
+        boolean save = lotNoticeService.save(lotNotice);
+        if (save)
+            return AjaxResult.success();
+        return AjaxResult.error("保存失败");
+    }
+
+    @PostMapping("/edit")
+    @ApiOperation("编辑拍卖公告")
+    public AjaxResult editLotNotice(@RequestBody LotNotice lotNotice){
+        //判断公告是否已发布,如已发布,仅可编辑公告内容
+        int i = lotNoticeService.editLotNotice(lotNotice);
+        if (i>0)
+            return AjaxResult.success();
+        return AjaxResult.error("编辑失败");
+    }
 
+    @PostMapping("pub")
+    @ApiOperation(value = "发布拍卖公告",notes = "status:0、下线;1、上线")
+    public AjaxResult publishLotNotice(@RequestBody LotNotice lotNotice){
+        int i = lotNoticeService.pubLotNotice(lotNotice);
+        if (i>0)
+            return AjaxResult.success();
+        return AjaxResult.error("发布失败");
+    }
 
 }

+ 12 - 1
lot/src/main/java/cn/hobbystocks/auc/domain/LotNotice.java

@@ -1,7 +1,10 @@
 package cn.hobbystocks.auc.domain;
 
+import cn.hobbystocks.auc.common.core.domain.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
@@ -11,14 +14,22 @@ import java.util.Date;
  */
 @Data
 @TableName("lot_notice")
-public class LotNotice {
+@ApiModel("拍卖公告")
+public class LotNotice extends BaseEntity {
 
     @TableId
+    @ApiModelProperty("公告id")
     private Long id;
+    @ApiModelProperty("公告标题")
     private String title;
+    @ApiModelProperty("公告内容")
     private String content;
+    @ApiModelProperty("公告类型")
     private String type;
+    @ApiModelProperty("公告状态")
     private Integer status;
+    @ApiModelProperty("创建时间")
     private Date createTime;
+    @ApiModelProperty("发布时间")
     private Date pubTime;
 }

+ 3 - 2
lot/src/main/java/cn/hobbystocks/auc/service/LotNoticeService.java

@@ -20,9 +20,10 @@ public interface LotNoticeService extends IService<LotNotice> {
      * @param lotNotice
      * @return
      */
-    boolean editLotNot(LotNotice lotNotice);
+    int editLotNotice(LotNotice lotNotice);
 
     /**
-     *
+     *上线下线
      */
+    int pubLotNotice(LotNotice lotNotice);
 }

+ 19 - 3
lot/src/main/java/cn/hobbystocks/auc/service/impl/LotNoticeServiceImpl.java

@@ -1,8 +1,12 @@
 package cn.hobbystocks.auc.service.impl;
 
+import cn.hobbystocks.auc.common.utils.StringUtils;
 import cn.hobbystocks.auc.domain.LotNotice;
 import cn.hobbystocks.auc.mapper.LotNoticeMapper;
 import cn.hobbystocks.auc.service.LotNoticeService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -12,11 +16,23 @@ import java.util.List;
 public class LotNoticeServiceImpl extends ServiceImpl<LotNoticeMapper, LotNotice> implements LotNoticeService {
     @Override
     public List<LotNotice> selectLotNoticeList(LotNotice lotNotice) {
-        return null;
+        Page<LotNotice> lotNoticePage = new Page<>(lotNotice.getPageNum(), lotNotice.getPageSize());
+        LambdaQueryWrapper<LotNotice> lotNoticeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotEmpty(lotNotice.getTitle()))
+            lotNoticeLambdaQueryWrapper.eq(LotNotice::getTitle,lotNotice.getTitle());
+
+        return getBaseMapper().selectList(lotNoticePage, lotNoticeLambdaQueryWrapper);
+    }
+
+    @Override
+    public int editLotNotice(LotNotice lotNotice) {
+        return getBaseMapper().updateById(lotNotice);
     }
 
     @Override
-    public boolean editLotNot(LotNotice lotNotice) {
-        return false;
+    public int pubLotNotice(LotNotice lotNotice) {
+        LambdaUpdateWrapper<LotNotice> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(LotNotice::getId,lotNotice.getId()).set(LotNotice::getStatus,lotNotice.getStatus());
+        return getBaseMapper().update(updateWrapper);
     }
 }