Compare commits

...

7 Commits

Author SHA1 Message Date
曹鹏飞 e2596c36db fix: 修复一个错误 2025-08-05 09:19:47 +08:00
曹鹏飞 ebc9534c93 fix: 修复一个错误 2025-08-04 17:57:51 +08:00
曹鹏飞 039df14299 feat: bug-384 用户端需要支持管理端用户添加工单和后续操作
搜索消息接口优化
2025-07-31 17:25:05 +08:00
曹鹏飞 a4d30acb4e fix: 修复收藏夹相关接口的错误 2025-07-30 17:06:26 +08:00
曹鹏飞 b2a18923f9 Merge branch 'feature/product' into test 2025-07-30 15:49:31 +08:00
曹鹏飞 c9b6471b08 feat: 产品机型的重要参数和主要参数第二排序设置为id 2025-07-30 15:48:10 +08:00
曹鹏飞 3306afced9 feat: bug-528 app端添加管理功能 2025-07-29 11:07:28 +08:00
6 changed files with 32 additions and 16 deletions

View File

@ -1,5 +1,6 @@
package com.nflg.mobilebroken.admin.controller; package com.nflg.mobilebroken.admin.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.mobilebroken.admin.annotation.ApiMark; import com.nflg.mobilebroken.admin.annotation.ApiMark;
import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.constant.Constant;
@ -11,6 +12,7 @@ import com.nflg.mobilebroken.common.pojo.vo.AdminMessageVO;
import com.nflg.mobilebroken.common.pojo.vo.MessageConfigVO; import com.nflg.mobilebroken.common.pojo.vo.MessageConfigVO;
import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.AdminUserUtil;
import com.nflg.mobilebroken.common.util.PageUtil; import com.nflg.mobilebroken.common.util.PageUtil;
import com.nflg.mobilebroken.repository.entity.AdminUser;
import com.nflg.mobilebroken.repository.entity.AppUser; import com.nflg.mobilebroken.repository.entity.AppUser;
import com.nflg.mobilebroken.repository.entity.AppUserApplyfor; import com.nflg.mobilebroken.repository.entity.AppUserApplyfor;
import com.nflg.mobilebroken.repository.entity.Ticket; import com.nflg.mobilebroken.repository.entity.Ticket;
@ -67,9 +69,14 @@ public class MessageController extends ControllerBase {
return ApiResult.success(PageUtil.convert(datas, d -> { return ApiResult.success(PageUtil.convert(datas, d -> {
if (Objects.equals(d.getSource(), 0)) { if (Objects.equals(d.getSource(), 0)) {
Ticket ticket = ticketService.getById(d.getSourceId()); Ticket ticket = ticketService.getById(d.getSourceId());
AppUser appUser = appUserService.getById(ticket.getUserId());
d.setSourceCreateTime(ticket.getCreateTime()); d.setSourceCreateTime(ticket.getCreateTime());
d.setSourceCreateUserName(appUser.getName()); if (StrUtil.equals(ticket.getUserPlatform(), Constant.FROM_ADMIN)) {
AdminUser adminUser = adminUserService.getById(ticket.getUserId());
d.setSourceCreateUserName(adminUser.getUserName());
} else {
AppUser appUser = appUserService.getById(ticket.getUserId());
d.setSourceCreateUserName(appUser.getName());
}
} else if (Objects.equals(d.getSource(), 1)) { } else if (Objects.equals(d.getSource(), 1)) {
AppUserApplyfor appUserApplyfor = appUserApplyforService.getById(d.getSourceId()); AppUserApplyfor appUserApplyfor = appUserApplyforService.getById(d.getSourceId());
AppUser appUser = appUserService.getById(appUserApplyfor.getCreateBy()); AppUser appUser = appUserService.getById(appUserApplyfor.getCreateBy());

View File

@ -628,7 +628,7 @@ public class ProductModelController extends ControllerBase{
String indexName = null; String indexName = null;
DataFormatter dataFormatter = new DataFormatter(); DataFormatter dataFormatter = new DataFormatter();
for (int index = 3, count = sheet.getLastRowNum(); index <= count; index++) { for (int index = 3, count = sheet.getLastRowNum(); index <= count; index++) {
// log.info("处理第{}行", index); log.info("处理第{}行", index);
Row row = sheet.getRow(index); Row row = sheet.getRow(index);
if (Objects.isNull(row)) { if (Objects.isNull(row)) {
break; break;
@ -643,6 +643,9 @@ public class ProductModelController extends ControllerBase{
indexName=dto.getIndexName(); indexName=dto.getIndexName();
} }
Cell cell1=row.getCell(1); Cell cell1=row.getCell(1);
if ((Objects.isNull(cell1) || StrUtil.isBlank(cell1.getStringCellValue()))){
break;
}
dto.setName(StrUtil.trim(cell1.getStringCellValue())); dto.setName(StrUtil.trim(cell1.getStringCellValue()));
Cell cell2=row.getCell(2); Cell cell2=row.getCell(2);
dto.setValue(StrUtil.trim(dataFormatter.formatCellValue(cell2))); dto.setValue(StrUtil.trim(dataFormatter.formatCellValue(cell2)));
@ -685,7 +688,7 @@ public class ProductModelController extends ControllerBase{
.setCreateBy(AdminUserUtil.getUserName()) .setCreateBy(AdminUserUtil.getUserName())
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
if (StrUtil.equals(language.getCode(), "sa") || StrUtil.equals(language.getCode(), "de")) { if (StrUtil.equals(language.getCode(), "sa") || StrUtil.equals(language.getCode(), "de")) {
ProductModelParamsItem en = items.stream().filter(it -> StrUtil.equals(it.getLanguageCode(), "us")).findFirst().get(); ProductModelParamsItem en = items.stream().filter(it -> StrUtil.equals(it.getBatchNumber(), cn.getBatchNumber()) && StrUtil.equals(it.getLanguageCode(), "us")).findFirst().get();
item.setIndexName(translate.translateWord(en.getIndexName(), language.getTranslateCode())); item.setIndexName(translate.translateWord(en.getIndexName(), language.getTranslateCode()));
item.setName(translate.translateWord(en.getName(), language.getTranslateCode())); item.setName(translate.translateWord(en.getName(), language.getTranslateCode()));
item.setValue(translate.translateWord(en.getValue(), language.getTranslateCode())); item.setValue(translate.translateWord(en.getValue(), language.getTranslateCode()));
@ -739,7 +742,7 @@ public class ProductModelController extends ControllerBase{
.setCreateBy(AdminUserUtil.getUserName()) .setCreateBy(AdminUserUtil.getUserName())
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
if (StrUtil.equals(language.getCode(), "sa") || StrUtil.equals(language.getCode(), "de")) { if (StrUtil.equals(language.getCode(), "sa") || StrUtil.equals(language.getCode(), "de")) {
ProductModelParamsItem en = items.stream().filter(it -> StrUtil.equals(it.getLanguageCode(), "us")).findFirst().get(); ProductModelParamsItem en = items.stream().filter(it ->StrUtil.equals(it.getBatchNumber(), cn.getBatchNumber()) && StrUtil.equals(it.getLanguageCode(), "us")).findFirst().get();
item.setIndexName(translate.translateWord(en.getIndexName(), language.getTranslateCode())); item.setIndexName(translate.translateWord(en.getIndexName(), language.getTranslateCode()));
item.setName(translate.translateWord(en.getName(), language.getTranslateCode())); item.setName(translate.translateWord(en.getName(), language.getTranslateCode()));
item.setValue(translate.translateWord(en.getValue(), language.getTranslateCode())); item.setValue(translate.translateWord(en.getValue(), language.getTranslateCode()));

View File

@ -154,7 +154,7 @@ public class TicketController extends ControllerBase {
@GetMapping("getFavorites") @GetMapping("getFavorites")
@ApiMark(moduleName = "工单管理", apiName = "获取收藏夹",isPublic = true) @ApiMark(moduleName = "工单管理", apiName = "获取收藏夹",isPublic = true)
public ApiResult<FavoritesVO> getFavorites(@RequestParam(defaultValue ="0") Integer id){ public ApiResult<FavoritesVO> 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));
} }
/** /**
@ -165,7 +165,7 @@ public class TicketController extends ControllerBase {
@PostMapping("addFavorites") @PostMapping("addFavorites")
@ApiMark(moduleName = "工单管理", apiName = "添加收藏夹",isPublic = true) @ApiMark(moduleName = "工单管理", apiName = "添加收藏夹",isPublic = true)
public ApiResult<Void> addFavorites(@Valid @RequestBody AdminFavoritesRequest request){ public ApiResult<Void> addFavorites(@Valid @RequestBody AdminFavoritesRequest request){
ticketFavoritesService.addFavorites(request,AdminUserUtil.getUserId(),AppUserUtil.getFrom()); ticketFavoritesService.addFavorites(request,AdminUserUtil.getUserId(),Constant.FROM_ADMIN);
return ApiResult.success(); return ApiResult.success();
} }
@ -175,7 +175,7 @@ public class TicketController extends ControllerBase {
*/ */
@PostMapping("updateFavorites") @PostMapping("updateFavorites")
public ApiResult<Void> updateFavorites(@Valid @RequestBody FavoritesUpdateRequest request){ public ApiResult<Void> updateFavorites(@Valid @RequestBody FavoritesUpdateRequest request){
ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId(),AppUserUtil.getFrom()); ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId(),Constant.FROM_ADMIN);
return ApiResult.success(); return ApiResult.success();
} }
@ -187,7 +187,7 @@ public class TicketController extends ControllerBase {
@PostMapping("deleteFavorites") @PostMapping("deleteFavorites")
@ApiMark(moduleName = "工单管理", apiName = "删除收藏夹",isPublic = true) @ApiMark(moduleName = "工单管理", apiName = "删除收藏夹",isPublic = true)
public ApiResult<Void> deleteFavorites(@Valid @RequestParam @NotNull Integer favoritesId){ public ApiResult<Void> deleteFavorites(@Valid @RequestParam @NotNull Integer favoritesId){
ticketFavoritesService.deleteFavorites(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),favoritesId); ticketFavoritesService.deleteFavorites(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,favoritesId);
return ApiResult.success(); return ApiResult.success();
} }
@ -207,7 +207,7 @@ public class TicketController extends ControllerBase {
*/ */
@PostMapping("moveFavoritesTicket") @PostMapping("moveFavoritesTicket")
public ApiResult<Void> moveFavoritesTicket(@Valid @RequestBody FavoritesTicketMoveRequest request){ public ApiResult<Void> moveFavoritesTicket(@Valid @RequestBody FavoritesTicketMoveRequest request){
ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),request); ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,request);
return ApiResult.success(); return ApiResult.success();
} }
@ -218,7 +218,7 @@ public class TicketController extends ControllerBase {
@PostMapping("followTiket") @PostMapping("followTiket")
@ApiMark(moduleName = "工单管理", apiName = "关注工单") @ApiMark(moduleName = "工单管理", apiName = "关注工单")
public ApiResult<Void> followTiket(@Valid @RequestBody AdminFollowRequest request){ public ApiResult<Void> followTiket(@Valid @RequestBody AdminFollowRequest request){
ticketFollowService.follow(request, AdminUserUtil.getUserId(),AppUserUtil.getFrom()); ticketFollowService.follow(request, AdminUserUtil.getUserId(),Constant.FROM_ADMIN);
return ApiResult.success(); return ApiResult.success();
} }
@ -228,7 +228,7 @@ public class TicketController extends ControllerBase {
**/ **/
@PostMapping("unfollowTicket") @PostMapping("unfollowTicket")
public ApiResult<Void> unfollowTicket(@Valid @RequestParam @NotNull Integer ticketId){ public ApiResult<Void> unfollowTicket(@Valid @RequestParam @NotNull Integer ticketId){
ticketFollowService.unfollow(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),ticketId); ticketFollowService.unfollow(AdminUserUtil.getUserId(),Constant.FROM_ADMIN,ticketId);
return ApiResult.success(); return ApiResult.success();
} }

View File

@ -15,6 +15,9 @@ public class SearchDeviceRequest extends PageRequest {
// 设备型号 // 设备型号
private String modelNo; private String modelNo;
// 设备编号或设备型号
private String key;
//开始时间 //开始时间
private LocalDate startTime; private LocalDate startTime;

View File

@ -86,6 +86,9 @@
<if test="request.endTime!=null and request.endTime!=''"> <if test="request.endTime!=null and request.endTime!=''">
and d.shipment_date &lt;= #{request.endTime} and d.shipment_date &lt;= #{request.endTime}
</if> </if>
<if test="request.key!=null and request.key!=''">
and (d.device_no LIKE concat('%', #{request.key}, '%') or d.model_no LIKE concat('%', #{request.key}, '%'))
</if>
</select> </select>
<!--定时任务-质保未开始--> <!--定时任务-质保未开始-->
<update id="taskWarrantyStateNotStarted"> <update id="taskWarrantyStateNotStarted">

View File

@ -27,21 +27,21 @@
AND pmp.state = 1 AND pmp.state = 1
AND pmpi.main = 1 AND pmpi.main = 1
AND pmpi.language_code = #{language} AND pmpi.language_code = #{language}
ORDER BY pmpi.main_sort ORDER BY pmpi.main_sort,pmpi.id
</select> </select>
<select id="getMainListForSort" resultType="com.nflg.mobilebroken.common.pojo.vo.ParamsSortListVO"> <select id="getMainListForSort" resultType="com.nflg.mobilebroken.common.pojo.vo.ParamsSortListVO">
select batch_number,name,main_sort as 'sort' select batch_number,name,main_sort as 'sort'
from product_model_params_item from product_model_params_item
where main and model_params_id=#{paramId} and language_code=#{language} where main and model_params_id=#{paramId} and language_code=#{language}
order by main_sort order by main_sort,id
</select> </select>
<select id="getImportantParamsListForSort" resultType="com.nflg.mobilebroken.common.pojo.vo.ParamsSortListVO"> <select id="getImportantParamsListForSort" resultType="com.nflg.mobilebroken.common.pojo.vo.ParamsSortListVO">
select batch_number,name,important_sort as 'sort' select batch_number,name,important_sort as 'sort'
from product_model_params_item from product_model_params_item
where important and model_params_id=#{paramId} and language_code=#{language} where important and model_params_id=#{paramId} and language_code=#{language}
order by important_sort order by important_sort,id
</select> </select>
<select id="getImportantListByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductParamsItemVO"> <select id="getImportantListByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductParamsItemVO">
@ -52,7 +52,7 @@
AND pmp.state = 1 AND pmp.state = 1
AND pmpi.important = 1 AND pmpi.important = 1
AND pmpi.language_code = #{language} AND pmpi.language_code = #{language}
ORDER BY pmpi.important_sort ORDER BY pmpi.important_sort,pmpi.id
</select> </select>
<select id="getCompareListByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductModelParamVO"> <select id="getCompareListByLanguage" resultType="com.nflg.mobilebroken.common.pojo.vo.ProductModelParamVO">