This commit is contained in:
dzc committed 2025-07-08 20:07:05 +08:00
commit d03fe00c8a
6 files changed
+143 -1

No files matched your search

@@ -23,9 +23,14 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.bsd.pjcloud.integrated.vo.feedback.FeedbackScreenVo;
import java.util.stream.Collectors;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.Map;
import com.bsd.pjcloud.admin.api.entity.SysDictItem;
/**
* 意见反馈
@@ -183,4 +188,35 @@ public class FeedbackController {
public R getFeedbackType() {
return R.ok(remoteDictService.getDictByType("feedback_type"));
}
/**
* 大屏反馈简要列表
* 只返回标题、反馈类型(字典转中文)、反馈时间,最多10条
*/
@GetMapping("/screen/list")
@Operation(summary = "大屏反馈简要列表", description = "大屏只展示标题、反馈类型、反馈时间")
public R<List<FeedbackScreenVo>> getScreenFeedbackList() {
LambdaQueryWrapper<FeedbackEntity> wrapper = Wrappers.lambdaQuery();
wrapper.orderByDesc(FeedbackEntity::getCreateTime);
wrapper.last("limit 10");
List<FeedbackEntity> list = feedbackService.list(wrapper);
// 获取字典(直接强转SysDictItem)
List<SysDictItem> dictList = remoteDictService.getDictByType("feedback_type").getData();
Map<String, String> typeMap = new HashMap<>();
if (dictList != null) {
for (SysDictItem item : dictList) {
typeMap.put(item.getItemValue(), item.getLabel());
}
}
List<FeedbackScreenVo> voList = list.stream().map(e -> {
FeedbackScreenVo vo = new FeedbackScreenVo();
vo.setTitle(e.getTitle());
vo.setTypeLabel(typeMap.getOrDefault(e.getType(), e.getType()));
vo.setCreateTime(e.getCreateTime());
return vo;
}).collect(Collectors.toList());
return R.ok(voList);
}
}
@@ -22,6 +22,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.bsd.pjcloud.integrated.vo.lostandfound.LostAndFoundScreenVo;
import java.util.stream.Collectors;
import java.util.List;
import java.util.Objects;
@@ -149,4 +151,27 @@ public class LostAndFoundController {
return R.ok(lostAndFoundPageVoPage);
}
/**
* 大屏失物招领简要列表
* 只返回未认领的标题、发现地点、发现日期,最多10条
*/
@GetMapping("/screen/list")
@Operation(summary = "大屏失物招领简要列表", description = "大屏只展示标题、发现地点、发现日期")
public R<List<LostAndFoundScreenVo>> getScreenLostAndFoundList() {
LambdaQueryWrapper<LostAndFoundEntity> wrapper = Wrappers.lambdaQuery();
// 只查未认领(假设未认领状态为0,如有不同请调整)
wrapper.eq(LostAndFoundEntity::getStatus, "0");
wrapper.orderByDesc(LostAndFoundEntity::getCreateTime);
wrapper.last("limit 10");
List<LostAndFoundEntity> list = lostAndFoundService.list(wrapper);
List<LostAndFoundScreenVo> voList = list.stream().map(e -> {
LostAndFoundScreenVo vo = new LostAndFoundScreenVo();
vo.setTitle(e.getTitle());
vo.setFoundLocation(e.getLocation());
vo.setFoundDate(e.getDateFound() );
return vo;
}).collect(Collectors.toList());
return R.ok(voList);
}
}
@@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.admin.api.feign.RemoteDictService;
import com.bsd.pjcloud.common.core.util.BeanUtils;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.log.annotation.SysLog;
@@ -23,6 +24,12 @@ import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.bsd.pjcloud.integrated.dto.MaintenanceOrderAppCreateDTO;
import com.bsd.pjcloud.integrated.vo.maintenance.MaintenanceOrderScreenVo;
import com.bsd.pjcloud.admin.api.entity.SysDictItem;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
@@ -42,6 +49,8 @@ public class MaintenanceOrderController {
private final MaintenanceOrderService maintenanceOrderService;
private final RemoteDictService remoteDictService;
/**
* 分页查询
* @param page 分页对象
@@ -173,4 +182,36 @@ public class MaintenanceOrderController {
}
return R.ok(entity);
}
/**
* 大屏维修工单简要列表
* 只返回标题、发现日期、发现地点、紧急程度(字典转中文),最多10条
*/
@GetMapping("/screen/list")
@Operation(summary = "大屏维修工单简要列表", description = "大屏只展示标题、发现日期、发现地点、紧急程度")
public R<List<MaintenanceOrderScreenVo>> getScreenMaintenanceOrderList() {
LambdaQueryWrapper<MaintenanceOrderEntity> wrapper = Wrappers.lambdaQuery();
wrapper.orderByDesc(MaintenanceOrderEntity::getDateFound);
wrapper.last("limit 10");
List<MaintenanceOrderEntity> list = maintenanceOrderService.list(wrapper);
// 获取紧急程度字典
List<SysDictItem> dictList = remoteDictService.getDictByType("maintenance_urgency").getData();
Map<String, String> urgencyMap = new HashMap<>();
if (dictList != null) {
for (SysDictItem item : dictList) {
urgencyMap.put(item.getItemValue(), item.getLabel());
}
}
List<MaintenanceOrderScreenVo> voList = list.stream().map(e -> {
MaintenanceOrderScreenVo vo = new MaintenanceOrderScreenVo();
vo.setTitle(e.getTitle());
vo.setDateFound(e.getDateFound());
vo.setLocation(e.getLocation());
vo.setUrgencyLabel(urgencyMap.getOrDefault(e.getUrgency(), e.getUrgency()));
return vo;
}).collect(Collectors.toList());
return R.ok(voList);
}
}
@@ -20,6 +20,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import com.bsd.pjcloud.integrated.vo.notice.NoticeScreenVo;
import java.util.stream.Collectors;
import java.util.List;
import java.util.Objects;
@@ -51,7 +53,7 @@ public class NoticeController {
public R getNoticePage(@ParameterObject Page page, @ParameterObject NoticeEntity notice) {
LambdaQueryWrapper<NoticeEntity> wrapper = Wrappers.lambdaQuery();
wrapper.like(StrUtil.isNotBlank(notice.getTitle()),NoticeEntity::getTitle,notice.getTitle());
return R.ok(noticeService.page(page, wrapper));
return R.ok(noticeService.pageScope(page, wrapper));
}
@@ -168,4 +170,25 @@ public class NoticeController {
noticeService.updateById(notice);
return R.ok();
}
/**
* 大屏通知简要列表
* 只返回标题和创建时间,最多10条
*/
@GetMapping("/screen/list")
@Operation(summary = "大屏通知简要列表", description = "大屏只展示标题和创建时间")
public R<List<NoticeScreenVo>> getScreenNoticeList() {
LambdaQueryWrapper<NoticeEntity> wrapper = Wrappers.lambdaQuery();
wrapper.eq(NoticeEntity::getStatus, "0");
wrapper.orderByDesc(NoticeEntity::getCreateTime);
wrapper.last("limit 10");
List<NoticeEntity> list = noticeService.list(wrapper);
List<NoticeScreenVo> voList = list.stream().map(e -> {
NoticeScreenVo vo = new NoticeScreenVo();
vo.setTitle(e.getTitle());
vo.setCreateTime(e.getCreateTime());
return vo;
}).collect(Collectors.toList());
return R.ok(voList);
}
}
@@ -1,8 +1,18 @@
package com.bsd.pjcloud.integrated.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.integrated.entity.NoticeEntity;
public interface NoticeService extends IService<NoticeEntity> {
/**
* 分页查询
*
* @param page
* @param wrapper
* @return
*/
Object pageScope(Page page, LambdaQueryWrapper<NoticeEntity> wrapper);
}
@@ -1,6 +1,9 @@
package com.bsd.pjcloud.integrated.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.integrated.entity.NoticeEntity;
import com.bsd.pjcloud.integrated.mapper.NoticeMapper;
import com.bsd.pjcloud.integrated.service.NoticeService;
@@ -13,4 +16,8 @@ import org.springframework.stereotype.Service;
*/
@Service
public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, NoticeEntity> implements NoticeService {
@Override
public Object pageScope(Page page, LambdaQueryWrapper<NoticeEntity> wrapper) {
return baseMapper.selectPage(page, wrapper);
}
}