From f11e462285c8542a1364c55995434ede9a433b30 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 24 二月 2025 00:08:14 +0800 Subject: [PATCH] 首页接口 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java | 75 +++++++++++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java | 30 ++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml | 18 +++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 44 ++++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java | 24 ++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java | 9 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java | 10 + springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java | 38 +++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java | 11 ++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java | 5 + 10 files changed, 260 insertions(+), 4 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java index d6f809c..fdc0547 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java @@ -1,12 +1,23 @@ package com.panzhihua.sangeshenbian.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.sangeshenbian.model.entity.Banner; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; +import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; +import com.panzhihua.sangeshenbian.model.vo.PartyCardInfoVO; import com.panzhihua.sangeshenbian.service.IBannerService; +import com.panzhihua.sangeshenbian.service.IComplaintService; +import com.panzhihua.sangeshenbian.service.IMessageNotificationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; +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; @@ -20,12 +31,33 @@ @RequestMapping("/applet/home") @RequiredArgsConstructor @Api(tags = "首页相关接口") -public class HomeController { - private IBannerService bannerService; +public class HomeController extends BaseController { + private final IBannerService bannerService; + private final IMessageNotificationService messageNotificationService; + private final IComplaintService complaintService; @ApiOperation("获取banner列表") @GetMapping("/banner-list") public R<List<Banner>> getBannerList() { return R.ok(bannerService.list()); } - + @GetMapping("/party-card-info") + @ApiOperation("获取党员证信息") + public R<PartyCardInfoVO> getPartyCardInfo() { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + PartyCardInfoVO partyCardInfoVO = new PartyCardInfoVO(); + partyCardInfoVO.setName(loginUserInfo.getName()); + partyCardInfoVO.setIdCard(loginUserInfo.getIdCard()); + partyCardInfoVO.setPartyOrganization(loginUserInfo.getCommunityName()); + return R.ok(partyCardInfoVO); + } + @PostMapping("/message") + @ApiOperation("获取消息列表") + public R<Page<MessageNotificationVO>> getMessageList(@RequestBody BasePage page) { + return R.ok(messageNotificationService.getMessageList(page,getUserId())); + } + @PostMapping("/todo-list") + @ApiOperation("获取待办诉求") + public R<Page<ComplaintTodoVO>> getTodoList(@RequestBody BasePage page) { + return R.ok(complaintService.getTodoList(page,getLoginUserInfo())); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java index 0875b6a..15a4188 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/ComplaintMapper.java @@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.sangeshenbian.model.entity.Complaint; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.panzhihua.sangeshenbian.model.query.BasePage; import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; import org.apache.ibatis.annotations.Param; @@ -32,4 +34,13 @@ * @return */ ComplaintVO getDetail(Long id); + + /** + * 获取待办诉求 + * @param page + * @param targetId + * @param isSuperior + * @return + */ + Page<ComplaintTodoVO> getTodoList(Page<ComplaintTodoVO> page, @Param("targetId") String targetId, @Param("isSuperior") int isSuperior); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java new file mode 100644 index 0000000..79407bd --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/ComplaintTodoVO.java @@ -0,0 +1,30 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import com.panzhihua.common.model.vos.common.SysUserVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.checkerframework.checker.units.qual.A; + +import java.util.Date; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("待办述求视图对象") +public class ComplaintTodoVO extends SysUserVo { + + @ApiModelProperty("诉求id") + private Long id; + + @ApiModelProperty("用户头像") + private String imageUrl; + + @ApiModelProperty("诉求标题") + private String descriptionTitle; + + @ApiModelProperty("最终处理期限") + private Date closingTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java new file mode 100644 index 0000000..5e30418 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/MessageNotificationVO.java @@ -0,0 +1,75 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("消息通知视图对象") +public class MessageNotificationVO { + /** + * 数据ID + */ + @ApiModelProperty("数据ID") + private Integer id; + /** + * 标题 + */ + @ApiModelProperty("标题") + private String title; + /** + * 承办者用户id + */ + @ApiModelProperty("承办者用户id") + private Integer undertakerUserId; + /** + * 承办者 + */ + @ApiModelProperty("承办者") + private String undertakerUser; + /** + * 联系电话 + */ + @TableField("phone") + @ApiModelProperty("联系电话") + private String phone; + /** + * 所在单位 + */ + @ApiModelProperty(value = "所在单位") + private String department; + /** + * 所属职位 + */ + @ApiModelProperty("所属职位") + private String position; + /** + * 需求应处理时间 + */ + @ApiModelProperty("需求应处理时间") + private LocalDateTime responseTime; + /** + * 提示类型(1=临期提醒,2=超时提醒) + */ + @ApiModelProperty("提示类型(1=临期提醒,2=超时提醒)") + private Integer promptType; + /** + * 阅读状态(0=否,1=是) + */ + @ApiModelProperty("阅读状态(0=否,1=是)") + private Integer readStatus; + /** + * 创建时间 + */ + @ApiModelProperty("创建时间") + private LocalDateTime createTime; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java new file mode 100644 index 0000000..ce71a7e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/model/vo/PartyCardInfoVO.java @@ -0,0 +1,24 @@ +package com.panzhihua.sangeshenbian.model.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import net.bytebuddy.implementation.bind.annotation.Pipe; + +/** + * @author mitao + * @date 2025/2/23 + */ +@Data +@ApiModel("党员证信息") +public class PartyCardInfoVO { + + @ApiModelProperty(value = "姓名") + private String name; + + @ApiModelProperty(value = "身份证号码") + private String idCard; + + @ApiModelProperty(value = "所在党组织") + private String partyOrganization; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java index 932372e..85e6e3f 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java @@ -6,7 +6,9 @@ import com.panzhihua.sangeshenbian.model.dto.ComplaintProcessDTO; import com.panzhihua.sangeshenbian.model.entity.Complaint; import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.sangeshenbian.model.query.BasePage; import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; /** @@ -50,5 +52,11 @@ */ void saveResult(ComplaintCompletionDTO dto, LoginUserInfoVO loginUserInfoVO); - + /** + * 获取待办诉求 + * @param page + * @param loginUserInfo + * @return + */ + Page<ComplaintTodoVO> getTodoList(BasePage page, LoginUserInfoVO loginUserInfo); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java index 43d401e..659ccb1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IMessageNotificationService.java @@ -1,8 +1,11 @@ package com.panzhihua.sangeshenbian.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.sangeshenbian.model.entity.MessageNotification; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; import com.panzhihua.sangeshenbian.warpper.MessageNotificationList; /** @@ -13,4 +16,6 @@ IPage<MessageNotification> list(MessageNotificationList query); + + Page<MessageNotificationVO> getMessageList(BasePage page, Long userId); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java index a2cf0c1..f27bf26 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java @@ -12,7 +12,9 @@ import com.panzhihua.sangeshenbian.model.entity.ComplaintFlow; import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.model.query.BasePage; import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; import com.panzhihua.sangeshenbian.service.IComplaintFlowService; import com.panzhihua.sangeshenbian.service.IComplaintProgressService; import com.panzhihua.sangeshenbian.service.IComplaintService; @@ -167,5 +169,47 @@ complaint.setCompletionTime(new Date()); this.updateById(complaint); } + + /** + * 获取待办诉求 + * @param page + * @param loginUserInfo + * @return + */ + @Override + public Page<ComplaintTodoVO> getTodoList(BasePage basePage, LoginUserInfoVO loginUserInfo) { + Optional<SystemUser> systemUserByPhone = systemUserService.getSystemUserByPhone(loginUserInfo.getPhone()); + String targetId = ""; + int isSuperior = 0; + //上级 + if (systemUserByPhone.isPresent()) { + SystemUser systemUser = systemUserByPhone.get(); + Integer accountLevel = systemUser.getAccountLevel(); + switch (accountLevel) { + case 1: + //市级 + targetId = "510400"; + break; + case 2: + //区县级 + targetId = systemUser.getDistrictsCode(); + break; + case 3: + //街道 + targetId = systemUser.getStreetCode(); + break; + case 4: + //社区 + targetId = systemUser.getCommunityCode(); + break; + } + isSuperior = 1; + } else { + //党员 + targetId = loginUserInfo.getUserId().toString(); + } + Page<ComplaintTodoVO> page = baseMapper.getTodoList(new Page<>(basePage.getPageNum(), basePage.getPageSize()), targetId,isSuperior); + return page; + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java index ec46ec5..6570f1c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/MessageNotificationServiceImpl.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.sangeshenbian.dao.MessageNotificationMapper; import com.panzhihua.sangeshenbian.model.entity.MessageNotification; +import com.panzhihua.sangeshenbian.model.query.BasePage; +import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; import com.panzhihua.sangeshenbian.service.IMessageNotificationService; import com.panzhihua.sangeshenbian.warpper.MessageNotificationList; import org.springframework.stereotype.Service; @@ -25,4 +27,11 @@ IPage<MessageNotification> list = this.baseMapper.list(page, query); return list; } + + @Override + public Page<MessageNotificationVO> getMessageList(BasePage basePage, Long userId) { + //TODO 待完善 + Page<MessageNotificationVO> page = new Page<>(basePage.getPageNum(),basePage.getPageSize()); + return page; + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml index d13f60b..9402348 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml @@ -125,4 +125,22 @@ sc.id = #{id} </where> </select> + <select id="getTodoList" resultType="com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO"> + SELECT sc.id, + sc.description_title, + sc.closing_time, + su.image_url + FROM sgsb_complaint sc + LEFT JOIN sys_user su ON su.user_id = sc.create_by + <where> + sc.status = 0 + <if test="isSuperior == 1 and targetId != null"> + AND sc.superior_id = #{targetId} + </if> + <if test="isSuperior == 0 and targetId != null"> + AND sc.create_by = #{targetId} + </if> + </where> + ORDER BY sc.create_time DESC + </select> </mapper> -- Gitblit v1.7.1