From 5b9b277251b9720226ddeb25b2d5eb7a528544a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 30 Jul 2025 14:10:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20bug-528=20app=E7=AB=AF=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobilebroken/common/pojo/vo/AdminTicketVO.java | 6 ++++++ .../src/main/resources/mapper/TicketMapper.xml | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java index 128feb83..867801fb 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java @@ -209,4 +209,10 @@ public class AdminTicketVO { } return null; } + + /** + * 问题描述 + */ + @IgnoreExport + private String description; } \ No newline at end of file diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index d2b2d7bb..f6c73ca8 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -150,7 +150,7 @@ ,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType' ,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',IF(tf.id IS NULL, false, true) AS 'followed',auc.user_name AS 'cqm' ,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms' - ,t.handle_name AS 'handle' + ,t.handle_name AS 'handle',t.description FROM ticket t LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN admin_user au ON t.user_id=au.id @@ -173,7 +173,7 @@ ,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType' ,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',IF(tf.id IS NULL, false, true) AS 'followed',auc.user_name AS 'cqm' ,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms' - ,t.handle_name AS 'handle' + ,t.handle_name AS 'handle',t.description FROM ticket t LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN admin_user au ON t.user_id=au.id @@ -196,7 +196,7 @@ ,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType' ,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm' ,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms' - ,t.handle_name AS 'handle' + ,t.handle_name AS 'handle',t.description FROM ticket t LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN admin_user au ON t.user_id=au.id @@ -218,7 +218,7 @@ ,d.customer_name AS 'customerName',d.agent_name AS 'agentName',IF(t.user_platform='admin',au.user_name,u.`name`) AS 'createBy',t.device_no AS 'deviceNo',t.use_time AS 'useTime' ,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',true AS 'followed' ,auc.user_name AS 'cqm',t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle' - ,dt.cqm_person_name AS 'cqms',t.handle_name AS 'handle' + ,dt.cqm_person_name AS 'cqms',t.handle_name AS 'handle',t.description FROM ticket t LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN admin_user au ON t.user_id=au.id @@ -251,7 +251,7 @@ ,t.create_time AS 'createTime',t.update_time AS 'completeTime',di.name AS 'warrantyStatusDesc',d.device_type AS 'deviceType' ,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm' ,t.solve_time AS 'closeTime',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms' - ,t.handle_name AS 'handle' + ,t.handle_name AS 'handle',t.description FROM ticket t LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN admin_user au ON t.user_id=au.id From 8660fcd7152b44f241d0b8535fd2ca72aee30be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 5 Aug 2025 09:52:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20bug-528=20app=E7=AB=AF=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=201=E3=80=81?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=8F=9C=E5=8D=95url=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E4=B8=8B=E7=9A=84=E6=89=80=E6=9C=89=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=88=97=E8=A1=A8=202=E3=80=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=89=80=E6=9C=89=E6=94=B6=E8=97=8F=E5=A4=B9=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8C=E6=A0=91=E5=BD=A2=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/MenuController.java | 11 +++++++++ .../admin/controller/TicketController.java | 24 +++++++++++++------ .../mapper/AdminMenuButtonMapper.java | 4 ++++ .../service/IAdminMenuButtonService.java | 4 ++++ .../service/ITicketFavoritesService.java | 2 ++ .../impl/AdminMenuButtonServiceImpl.java | 6 +++++ .../impl/TicketFavoritesServiceImpl.java | 23 ++++++++++++++++++ .../mapper/AdminMenuButtonMapper.xml | 6 +++++ 8 files changed, 73 insertions(+), 7 deletions(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java index ebf3c10d..4e8132ca 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/MenuController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Objects; @@ -175,6 +176,16 @@ public class MenuController extends ControllerBase { return ApiResult.success(); } + /** + * 根据菜单url获取菜单按钮列表 + * @param url 请求url + * @return 菜单按钮列表 + */ + @GetMapping("getMenuButtonList") + public ApiResult> getMenuButtonList(@Valid @RequestParam @NotBlank String url) { + return ApiResult.success(adminMenuButtonService.getMenuButtonList(url)); + } + /** * 获取所有接口 * @return 接口列表 diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index e89bda54..bd8c5870 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -154,7 +154,17 @@ public class TicketController extends ControllerBase { @GetMapping("getFavorites") @ApiMark(moduleName = "工单管理", apiName = "获取收藏夹",isPublic = true) public ApiResult getFavorites(@RequestParam(defaultValue ="0") Integer id){ - return ApiResult.success(ticketFavoritesService.getList(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),id)); + return ApiResult.success(ticketFavoritesService.getList(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,id)); + } + + /** + * 获取收藏夹树结构 + * @param id 父级id,0为根节点 + * @return 树结构 + */ + @GetMapping("getFavoritesTree") + public ApiResult getFavoritesTree(@RequestParam(defaultValue ="0") Integer id){ + return ApiResult.success(ticketFavoritesService.getTree(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,id)); } /** @@ -165,7 +175,7 @@ public class TicketController extends ControllerBase { @PostMapping("addFavorites") @ApiMark(moduleName = "工单管理", apiName = "添加收藏夹",isPublic = true) public ApiResult addFavorites(@Valid @RequestBody AdminFavoritesRequest request){ - ticketFavoritesService.addFavorites(request,AdminUserUtil.getUserId(),AppUserUtil.getFrom()); + ticketFavoritesService.addFavorites(request,AdminUserUtil.getUserId(),Constant.FROM_ADMIN); return ApiResult.success(); } @@ -175,7 +185,7 @@ public class TicketController extends ControllerBase { */ @PostMapping("updateFavorites") public ApiResult updateFavorites(@Valid @RequestBody FavoritesUpdateRequest request){ - ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId(),AppUserUtil.getFrom()); + ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId(),Constant.FROM_ADMIN); return ApiResult.success(); } @@ -187,7 +197,7 @@ public class TicketController extends ControllerBase { @PostMapping("deleteFavorites") @ApiMark(moduleName = "工单管理", apiName = "删除收藏夹",isPublic = true) public ApiResult deleteFavorites(@Valid @RequestParam @NotNull Integer favoritesId){ - ticketFavoritesService.deleteFavorites(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),favoritesId); + ticketFavoritesService.deleteFavorites(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,favoritesId); return ApiResult.success(); } @@ -207,7 +217,7 @@ public class TicketController extends ControllerBase { */ @PostMapping("moveFavoritesTicket") public ApiResult moveFavoritesTicket(@Valid @RequestBody FavoritesTicketMoveRequest request){ - ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),request); + ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,request); return ApiResult.success(); } @@ -218,7 +228,7 @@ public class TicketController extends ControllerBase { @PostMapping("followTiket") @ApiMark(moduleName = "工单管理", apiName = "关注工单") public ApiResult followTiket(@Valid @RequestBody AdminFollowRequest request){ - ticketFollowService.follow(request, AdminUserUtil.getUserId(),AppUserUtil.getFrom()); + ticketFollowService.follow(request, AdminUserUtil.getUserId(),Constant.FROM_ADMIN); return ApiResult.success(); } @@ -228,7 +238,7 @@ public class TicketController extends ControllerBase { **/ @PostMapping("unfollowTicket") public ApiResult unfollowTicket(@Valid @RequestParam @NotNull Integer ticketId){ - ticketFollowService.unfollow(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),ticketId); + ticketFollowService.unfollow(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,ticketId); return ApiResult.success(); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminMenuButtonMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminMenuButtonMapper.java index d23ffa9e..c3df1c21 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminMenuButtonMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/AdminMenuButtonMapper.java @@ -1,8 +1,11 @@ package com.nflg.mobilebroken.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.mobilebroken.common.pojo.vo.AdminMenuButtonVO; import com.nflg.mobilebroken.repository.entity.AdminMenuButton; +import java.util.List; + /** *

* Mapper 接口 @@ -13,4 +16,5 @@ import com.nflg.mobilebroken.repository.entity.AdminMenuButton; */ public interface AdminMenuButtonMapper extends BaseMapper { + List getMenuButtonList(String url); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuButtonService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuButtonService.java index d5e9fc1b..41cc8e3d 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuButtonService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAdminMenuButtonService.java @@ -8,6 +8,8 @@ import com.nflg.mobilebroken.common.pojo.request.SearchMenuButtonRequest; import com.nflg.mobilebroken.common.pojo.vo.AdminMenuButtonVO; import com.nflg.mobilebroken.repository.entity.AdminMenuButton; +import java.util.List; + /** *

* 服务类 @@ -23,4 +25,6 @@ public interface IAdminMenuButtonService extends IService { void addMenuButton(MenuButtonAddRequest request); void updateMenuButton(MenuButtonUpdateRequest request); + + List getMenuButtonList(String url); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketFavoritesService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketFavoritesService.java index 6696daeb..71ec60b2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketFavoritesService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITicketFavoritesService.java @@ -29,4 +29,6 @@ public interface ITicketFavoritesService extends IService { void moveFavorites(FavoritesMoveRequest request); void moveFavoritesTicket(Integer userId,String from, FavoritesTicketMoveRequest request); + + FavoritesVO getTree(Integer userId, String from, Integer id); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuButtonServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuButtonServiceImpl.java index 7dc9a245..4dd9b36b 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuButtonServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminMenuButtonServiceImpl.java @@ -18,6 +18,7 @@ import com.nflg.mobilebroken.repository.service.IAdminMenuButtonService; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; import java.util.Objects; /** @@ -68,4 +69,9 @@ public class AdminMenuButtonServiceImpl extends ServiceImpl getMenuButtonList(String url) { + return baseMapper.getMenuButtonList(url); + } } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketFavoritesServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketFavoritesServiceImpl.java index 11e38169..c9469195 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketFavoritesServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketFavoritesServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -102,4 +103,26 @@ public class TicketFavoritesServiceImpl extends ServiceImpl favorites = lambdaQuery() + .eq(TicketFavorites::getParentId, vo.getId()) + .eq(TicketFavorites::getUserPlatform, from) + .eq(TicketFavorites::getCreateBy, userId) + .orderByAsc(TicketFavorites::getOrderNum) + .list() + .stream() + .map(f -> new FavoritesVO().setId(f.getId()).setName(f.getName())) + .collect(Collectors.toList()); + vo.setChildren(favorites); + favorites.forEach(f -> getChildren(userId, f, from)); + } } diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMenuButtonMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMenuButtonMapper.xml index cf127a56..35eb22e8 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMenuButtonMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AdminMenuButtonMapper.xml @@ -2,4 +2,10 @@ +