From 08c9b1a489ae7a0471dca619f86115505a4e78ff Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 17 六月 2024 17:39:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
new file mode 100644
index 0000000..31d55b9
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -0,0 +1,132 @@
+package com.ycl.jxkg.service.impl;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ycl.jxkg.domain.entity.Meet;
+import com.ycl.jxkg.mapper.MeetMapper;
+import com.ycl.jxkg.service.MeetService;
+import com.ycl.jxkg.base.Result;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.jxkg.domain.form.MeetForm;
+import com.ycl.jxkg.domain.vo.MeetVO;
+import com.ycl.jxkg.domain.query.MeetQuery;
+import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
+import com.ycl.jxkg.utils.PageUtil;
+import org.springframework.beans.BeanUtils;
+import org.springframework.util.Assert;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 浼氳琛� 鏈嶅姟瀹炵幇绫�
+ *
+ * @author flq
+ * @since 2024-06-17
+ */
+@Service
+@RequiredArgsConstructor
+public class MeetServiceImpl extends ServiceImpl<MeetMapper, Meet> implements MeetService {
+
+    private final MeetMapper meetMapper;
+
+    /**
+     * 娣诲姞
+     * @param form
+     * @return
+     */
+    @Override
+    public Result add(MeetForm form) {
+        Meet entity = MeetForm.getEntityByForm(form, null);
+        entity.setStudentIds(JSONArray.toJSONString(form.getStudentIds()));
+        baseMapper.insert(entity);
+        return Result.ok("娣诲姞鎴愬姛");
+    }
+
+    /**
+     * 淇敼
+     * @param form
+     * @return
+     */
+    @Override
+    public Result update(MeetForm form) {
+        Meet entity = baseMapper.selectById(form.getId());
+
+        // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
+        Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
+        BeanUtils.copyProperties(form, entity);
+        entity.setStudentIds(JSONArray.toJSONString(form.getStudentIds()));
+        baseMapper.updateById(entity);
+        return Result.ok("淇敼鎴愬姛");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param ids
+     * @return
+     */
+    @Override
+    public Result remove(List<String> ids) {
+        baseMapper.deleteBatchIds(ids);
+        return Result.ok("鍒犻櫎鎴愬姛");
+    }
+
+    /**
+     * id鍒犻櫎
+     * @param id
+     * @return
+     */
+    @Override
+    public Result removeById(String id) {
+        baseMapper.deleteById(id);
+        return Result.ok("鍒犻櫎鎴愬姛");
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param query
+     * @return
+     */
+    @Override
+    public Result page(MeetQuery query) {
+
+        IPage<Meet> page = PageUtil.getPage(query, Meet.class);
+        baseMapper.getPage(page, query);
+        List<Meet> records = page.getRecords();
+        List<MeetVO> vos = new ArrayList<>();
+        for (Meet record : records) {
+            MeetVO meetVO = new MeetVO();
+            BeanUtils.copyProperties(record,meetVO);
+            meetVO.setStudentIds(JSONArray.parseArray(record.getStudentIds(),Integer.class));
+            vos.add(meetVO);
+        }
+        return Result.ok().data(vos).total(page.getTotal());
+    }
+
+    /**
+     * 鏍规嵁id鏌ユ壘
+     * @param id
+     * @return
+     */
+    @Override
+    public Result detail(Integer id) {
+        MeetVO vo = baseMapper.getById(id);
+        Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
+        return Result.ok().data(vo);
+    }
+
+    /**
+     * 鍒楄〃
+     * @return
+     */
+    @Override
+    public Result all() {
+        List<Meet> entities = baseMapper.selectList(null);
+        List<MeetVO> vos = entities.stream()
+                .map(entity -> MeetVO.getVoByEntity(entity, null))
+                .collect(Collectors.toList());
+        return Result.ok().data(vos);
+    }
+}

--
Gitblit v1.8.0