feat: bug-384 用户端需要支持管理端用户添加工单和后续操作
This commit is contained in:
parent
6badf25305
commit
79c970e8ef
|
|
@ -154,7 +154,7 @@ public class TicketController extends ControllerBase {
|
|||
@GetMapping("getFavorites")
|
||||
@ApiMark(moduleName = "工单管理", apiName = "获取收藏夹",isPublic = true)
|
||||
public ApiResult<FavoritesVO> getFavorites(@RequestParam(defaultValue ="0") Integer id){
|
||||
return ApiResult.success(ticketFavoritesService.getList(AdminUserUtil.getUserId(),id));
|
||||
return ApiResult.success(ticketFavoritesService.getList(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -165,7 +165,7 @@ public class TicketController extends ControllerBase {
|
|||
@PostMapping("addFavorites")
|
||||
@ApiMark(moduleName = "工单管理", apiName = "添加收藏夹",isPublic = true)
|
||||
public ApiResult<Void> addFavorites(@Valid @RequestBody AdminFavoritesRequest request){
|
||||
ticketFavoritesService.addFavorites(request,AdminUserUtil.getUserId());
|
||||
ticketFavoritesService.addFavorites(request,AdminUserUtil.getUserId(),AppUserUtil.getFrom());
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -175,7 +175,7 @@ public class TicketController extends ControllerBase {
|
|||
*/
|
||||
@PostMapping("updateFavorites")
|
||||
public ApiResult<Void> updateFavorites(@Valid @RequestBody FavoritesUpdateRequest request){
|
||||
ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId());
|
||||
ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId(),AppUserUtil.getFrom());
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -187,7 +187,7 @@ public class TicketController extends ControllerBase {
|
|||
@PostMapping("deleteFavorites")
|
||||
@ApiMark(moduleName = "工单管理", apiName = "删除收藏夹",isPublic = true)
|
||||
public ApiResult<Void> deleteFavorites(@Valid @RequestParam @NotNull Integer favoritesId){
|
||||
ticketFavoritesService.deleteFavorites(AdminUserUtil.getUserId(),favoritesId);
|
||||
ticketFavoritesService.deleteFavorites(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),favoritesId);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -197,7 +197,7 @@ public class TicketController extends ControllerBase {
|
|||
*/
|
||||
@PostMapping("moveFavorites")
|
||||
public ApiResult<Void> moveFavorites(@Valid @RequestBody FavoritesMoveRequest request){
|
||||
ticketFavoritesService.moveFavorites(AdminUserUtil.getUserId(),request);
|
||||
ticketFavoritesService.moveFavorites(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ public class TicketController extends ControllerBase {
|
|||
*/
|
||||
@PostMapping("moveFavoritesTicket")
|
||||
public ApiResult<Void> moveFavoritesTicket(@Valid @RequestBody FavoritesTicketMoveRequest request){
|
||||
ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),request);
|
||||
ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -218,7 +218,7 @@ public class TicketController extends ControllerBase {
|
|||
@PostMapping("followTiket")
|
||||
@ApiMark(moduleName = "工单管理", apiName = "关注工单")
|
||||
public ApiResult<Void> followTiket(@Valid @RequestBody AdminFollowRequest request){
|
||||
ticketFollowService.follow(request, AdminUserUtil.getUserId());
|
||||
ticketFollowService.follow(request, AdminUserUtil.getUserId(),AppUserUtil.getFrom());
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ public class TicketController extends ControllerBase {
|
|||
**/
|
||||
@PostMapping("unfollowTicket")
|
||||
public ApiResult<Void> unfollowTicket(@Valid @RequestParam @NotNull Integer ticketId){
|
||||
ticketFollowService.unfollow(AdminUserUtil.getUserId(),ticketId);
|
||||
ticketFollowService.unfollow(AdminUserUtil.getUserId(),AppUserUtil.getFrom(),ticketId);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ public class TicketCompleteEvent extends ApplicationEvent implements Application
|
|||
//我的消息
|
||||
appMessageService.add(new AppMessage()
|
||||
.setUserId(ticket.getUserId())
|
||||
.setUserPlatform(ticket.getUserPlatform())
|
||||
.setTicketId(ticket.getId())
|
||||
.setSubType(MessageSubType.TicketCompletion.getState())
|
||||
.setIsRead(false)
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@ public class TicketReplyEvent extends ApplicationEvent implements ApplicationCon
|
|||
//我的消息
|
||||
appMessageService.add(new AppMessage()
|
||||
.setUserId(ticket.getUserId())
|
||||
.setUserPlatform(ticket.getUserPlatform())
|
||||
.setTicketId(ticket.getId())
|
||||
.setSubType(MessageSubType.TicketNewMessage.getState())
|
||||
.setIsRead(false)
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class MessageController extends ControllerBase {
|
|||
*/
|
||||
@PostMapping("searchMessages")
|
||||
public ApiResult<PageData<AppMessageVO>> searchMessages(@RequestBody AppMessageSearchRequest request) {
|
||||
return ApiResult.success(appMessageService.search(AppUserUtil.getUserId(), request));
|
||||
return ApiResult.success(appMessageService.search(AppUserUtil.getUserId(),AppUserUtil.getFrom(), request));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -50,7 +50,7 @@ public class MessageController extends ControllerBase {
|
|||
*/
|
||||
@PostMapping("setReaded")
|
||||
public ApiResult<Void> setReaded(@Valid @RequestBody List<Integer> ids) {
|
||||
appMessageService.setReaded(AppUserUtil.getUserId(),ids);
|
||||
appMessageService.setReaded(AppUserUtil.getUserId(),AppUserUtil.getFrom(),ids);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ public class MessageController extends ControllerBase {
|
|||
*/
|
||||
@PostMapping("setNotRead")
|
||||
public ApiResult<Void> setNotRead(@Valid @RequestBody List<Integer> ids) {
|
||||
appMessageService.setNotRead(AppUserUtil.getUserId(),ids);
|
||||
appMessageService.setNotRead(AppUserUtil.getUserId(),AppUserUtil.getFrom(),ids);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ public class MessageController extends ControllerBase {
|
|||
*/
|
||||
@GetMapping("getNotReadMessages")
|
||||
public ApiResult<PageData<AppMessageVO>> getNotReadMessages(@RequestParam(defaultValue = "10") Integer num) {
|
||||
return ApiResult.success(appMessageService.getNotReadMessage(AppUserUtil.getUserId(), num));
|
||||
return ApiResult.success(appMessageService.getNotReadMessage(AppUserUtil.getUserId(),AppUserUtil.getFrom(), num));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -80,7 +80,7 @@ public class MessageController extends ControllerBase {
|
|||
*/
|
||||
@GetMapping("getNotReadMessageCount")
|
||||
public ApiResult<Integer> getNotReadMessageCount(){
|
||||
return ApiResult.success(appMessageService.getNotReadMessageCount(AppUserUtil.getUserId()));
|
||||
return ApiResult.success(appMessageService.getNotReadMessageCount(AppUserUtil.getUserId(),AppUserUtil.getFrom()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ public class TicketController extends ControllerBase {
|
|||
**/
|
||||
@PostMapping("followTiket")
|
||||
public ApiResult<Void> followTiket(@Valid @RequestBody FollowRequest request){
|
||||
ticketFollowService.handle(request, AppUserUtil.getUserId());
|
||||
ticketFollowService.handle(request, AppUserUtil.getUserId(),AppUserUtil.getFrom());
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
@ -198,17 +198,27 @@ public class TicketController extends ControllerBase {
|
|||
public ApiResult<TicketInfoVO> getTicket(@Valid @RequestParam @NotNull Integer id) {
|
||||
Ticket ticket = ticketService.getById(id);
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("未找到工单");
|
||||
AppUser user = appUserService.getById(ticket.getUserId());
|
||||
String areaName = "";
|
||||
if (user.getIsPrimary()){
|
||||
areaName=StrUtil.join(",",customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
|
||||
}else if (Objects.nonNull(user.getAreaId())){
|
||||
AppArea area = appAreaService.getById(user.getAreaId());
|
||||
if (Objects.nonNull(area)) {
|
||||
areaName = area.getName();
|
||||
List<TBaseCustomer> companys=new ArrayList<>();
|
||||
String userName,userAvatar;
|
||||
if (StrUtil.equals(ticket.getUserPlatform(),"app")) {
|
||||
AppUser user = appUserService.getById(ticket.getUserId());
|
||||
userName = user.getName();
|
||||
userAvatar = user.getAvatar();
|
||||
if (user.getIsPrimary()) {
|
||||
areaName = StrUtil.join(",", customerService.getAreas(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())));
|
||||
} else if (Objects.nonNull(user.getAreaId())) {
|
||||
AppArea area = appAreaService.getById(user.getAreaId());
|
||||
if (Objects.nonNull(area)) {
|
||||
areaName = area.getName();
|
||||
}
|
||||
}
|
||||
companys = customerService.listByIds(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()));
|
||||
}else {
|
||||
AdminUser adminUser=adminUserService.getById(ticket.getUserId());
|
||||
userName = adminUser.getUserName();
|
||||
userAvatar = adminUser.getAvatar();
|
||||
}
|
||||
List<TBaseCustomer> companys = customerService.listByIds(Arrays.stream(user.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()));
|
||||
DeviceInfoVO device = deviceService.getByDeviceNo(ticket.getDeviceNo());
|
||||
String handle = ticket.getHandle();
|
||||
if (StrUtil.isNotBlank(handle)) {
|
||||
|
|
@ -230,8 +240,8 @@ public class TicketController extends ControllerBase {
|
|||
.setImages(getFileVOs(ticket.getImages()))
|
||||
.setAttachments(getFileVOs(ticket.getAttachments()))
|
||||
.setCreateUserId(ticket.getUserId())
|
||||
.setCreateUserName(user.getName())
|
||||
.setCreateUserAvatar(user.getAvatar())
|
||||
.setCreateUserName(userName)
|
||||
.setCreateUserAvatar(userAvatar)
|
||||
.setCreateTime(ticket.getCreateTime())
|
||||
.setAreaName(areaName)
|
||||
.setSolveTime(ticket.getSolveTime())
|
||||
|
|
@ -338,22 +348,25 @@ public class TicketController extends ControllerBase {
|
|||
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
|
||||
VUtils.trueThrowBusinessError(Byte.compare(ticket.getState(), TicketState.Processing.getState()) > 1)
|
||||
.throwMessage("当前工单状态不允许发送消息");
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getUserId(),AppUserUtil.getUserId()))
|
||||
VUtils.trueThrowBusinessError(!(Objects.equals(ticket.getUserId(),AppUserUtil.getUserId()) && StrUtil.equals(ticket.getUserPlatform(), AppUserUtil.getFrom())))
|
||||
.throwMessage("工单创建人才能发送消息");
|
||||
AppUser user = appUserService.getById(AppUserUtil.getUserId());
|
||||
ChatMessageDTO message = new ChatMessageDTO()
|
||||
.setId(IdUtil.getSnowflakeNextIdStr())
|
||||
.setFrom("app")
|
||||
.setTicketState(ticket.getState())
|
||||
.setSenderId(user.getId())
|
||||
.setSenderName(user.getName())
|
||||
.setSenderAvatar(user.getAvatar())
|
||||
.setContent(request.getContent())
|
||||
.setCreateTime(Instant.now())
|
||||
.setAttachments(request.getAttachments())
|
||||
.setImages(request.getImages())
|
||||
.setRemindUsers(request.getRemindUsers())
|
||||
.setAudioUrl(request.getAudioUrl());
|
||||
if (StrUtil.equals(ticket.getUserPlatform(),"app")){
|
||||
AppUser user = appUserService.getById(AppUserUtil.getUserId());
|
||||
message.setSenderId(user.getId()).setSenderName(user.getName()).setSenderAvatar(user.getAvatar());
|
||||
}else {
|
||||
AdminUser adminUser= adminUserService.getById(AppUserUtil.getUserId());
|
||||
message.setSenderId(adminUser.getId()).setSenderName(adminUser.getUserName()).setSenderAvatar(adminUser.getAvatar());
|
||||
}
|
||||
if(Objects.nonNull(request.getQuoteId())){
|
||||
ChatMessageDTO quoteMessage = ticketChatService.getMessage(request.getTicketId(), request.getQuoteId());
|
||||
message.setQuote(quoteMessage);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.nflg.mobilebroken.cfs.event;
|
|||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.constant.MessageSubType;
|
||||
import com.nflg.mobilebroken.common.constant.MessageType;
|
||||
|
|
@ -87,12 +88,19 @@ public class TicketCreateEvent extends ApplicationEvent implements ApplicationCo
|
|||
|
||||
private void sendEmail(){
|
||||
try {
|
||||
AppUser appUser=appUserService.getById(ticket.getUserId());
|
||||
String tickerUserName;
|
||||
if (StrUtil.equals(ticket.getUserPlatform(),"app")){
|
||||
AppUser appUser=appUserService.getById(ticket.getUserId());
|
||||
tickerUserName=appUser.getName();
|
||||
}else {
|
||||
AdminUser adminUser=adminUserService.getById(ticket.getUserId());
|
||||
tickerUserName=adminUser.getUserName();
|
||||
}
|
||||
String subject=dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_EMAIL_NOTIFY,Constant.DICTIONARY_ITEM_EMAIL_TITLE_TICKET_CREATE,language);
|
||||
String content=dictionaryItemTranslateService.getValueByCode(Constant.DICTIONARY_EMAIL_NOTIFY,Constant.DICTIONARY_ITEM_EMAIL_CONTENT_TICKET_NOTIFY,language)
|
||||
.replace("${no}",ticket.getNo())
|
||||
.replace("${title}",ticket.getTitle())
|
||||
.replace("${createUser}",appUser.getName())
|
||||
.replace("${createUser}",tickerUserName)
|
||||
.replace("${handleUser}","")
|
||||
.replace("${createTime}",toTimeString(ticket.getCreateTime()))
|
||||
.replace("${msg}",subject);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public class Constant {
|
|||
|
||||
public static final String REDIS_KEY_MESSAGE_NOT_READ_COUNT_ADMIN = "admin:message:unread";
|
||||
|
||||
public static final String REDIS_KEY_MESSAGE_NOT_READ_COUNT_APP = "app:message:unread";
|
||||
public static final String REDIS_KEY_MESSAGE_NOT_READ_COUNT_APP = "app:message:unread:{}";
|
||||
|
||||
public static final String REDIS_KEY_MESSAGECONFIG_WX = "wxNotifyEnabled";
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,9 @@ public class UserDTO {
|
|||
//是否是主账号
|
||||
private Boolean isPrimary;
|
||||
|
||||
//用户来源平台,app或者admin
|
||||
private String from;
|
||||
|
||||
//公司id
|
||||
private List<Integer> companyIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,4 +17,6 @@ public class AreaSearchRequest extends PageRequest {
|
|||
//区域创建人id
|
||||
@JsonIgnore
|
||||
private Integer createBy;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ public class AppUserUtil {
|
|||
user.setEmail(getEmail());
|
||||
user.setCompanyIds(getCompanyIds());
|
||||
user.setIsPrimary(isPrimary());
|
||||
user.setFrom(getFrom());
|
||||
return user;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@ public class AppMessage implements Serializable {
|
|||
*/
|
||||
private Integer userId;
|
||||
|
||||
/**
|
||||
* 用户来源平台,app或者admin
|
||||
*/
|
||||
private String userPlatform;
|
||||
|
||||
/**
|
||||
* 任务事项,5:工单新消息;6:工单完成;10:工单超时
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -82,6 +82,11 @@ public class Ticket implements Serializable {
|
|||
*/
|
||||
private Integer userId;
|
||||
|
||||
/**
|
||||
* 用户来源平台,app或者admin
|
||||
*/
|
||||
private String userPlatform;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -49,6 +49,11 @@ public class TicketFavorites implements Serializable {
|
|||
*/
|
||||
private Integer createBy;
|
||||
|
||||
/**
|
||||
* 用户来源平台,app或者admin
|
||||
*/
|
||||
private String userPlatform;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import com.nflg.mobilebroken.repository.entity.AppMessage;
|
|||
*/
|
||||
public interface AppMessageMapper extends BaseMapper<AppMessage> {
|
||||
|
||||
IPage<AppMessageVO> getNotReadMessage(Integer userId, Integer num, IPage<AppMessageVO> page);
|
||||
IPage<AppMessageVO> getNotReadMessage(Integer userId,String from, Integer num, IPage<AppMessageVO> page);
|
||||
|
||||
IPage<AppMessageVO> search(Integer userId, String title, IPage<AppMessageVO> page);
|
||||
IPage<AppMessageVO> search(Integer userId,String from, String title, IPage<AppMessageVO> page);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ import java.util.List;
|
|||
*/
|
||||
public interface TicketMapper extends BaseMapper<Ticket> {
|
||||
|
||||
IPage<TicketVO> searchMy(IPage<?> page, TicketSearchRequest request, Integer userId,String language);
|
||||
IPage<TicketVO> searchMy(IPage<?> page, TicketSearchRequest request, Integer userId,String from,String language);
|
||||
|
||||
IPage<TicketVO> searchFollow(IPage<?> page, TicketSearchRequest request, Integer userId,String language);
|
||||
IPage<TicketVO> searchFollow(IPage<?> page, TicketSearchRequest request, Integer userId,String from,String language);
|
||||
|
||||
IPage<TicketVO> searchArea(IPage<?> page, TicketSearchRequest request, String companyId, Integer userId,String language,Boolean isPrimary,String companyCode);
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ public interface TicketMapper extends BaseMapper<Ticket> {
|
|||
|
||||
List<AdminTicketVO> searchAllFromAdminAndFollow(AdminTicketSearchRequest request, Integer userId);
|
||||
|
||||
List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId);
|
||||
List<TicketVO> getAdminFavorites(Integer userId,String from,Integer favoritesId);
|
||||
|
||||
IPage<AdminTicketVO> searchByFavouritesId(Integer userId, Integer favouritesId, Page<?> page);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,15 +18,15 @@ import java.util.List;
|
|||
*/
|
||||
public interface IAppMessageService extends IService<AppMessage> {
|
||||
|
||||
IPage<AppMessageVO> getNotReadMessage(Integer userId, Integer num);
|
||||
IPage<AppMessageVO> getNotReadMessage(Integer userId,String from, Integer num);
|
||||
|
||||
IPage<AppMessageVO> search(Integer userId, AppMessageSearchRequest request);
|
||||
IPage<AppMessageVO> search(Integer userId,String from, AppMessageSearchRequest request);
|
||||
|
||||
void setReaded(Integer userId,List<Integer> ids);
|
||||
void setReaded(Integer userId,String from,List<Integer> ids);
|
||||
|
||||
void setNotRead(Integer userId,List<Integer> ids);
|
||||
void setNotRead(Integer userId,String from,List<Integer> ids);
|
||||
|
||||
void add(AppMessage message);
|
||||
|
||||
Integer getNotReadMessageCount(Integer userId);
|
||||
Integer getNotReadMessageCount(Integer userId,String from);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,15 +18,15 @@ import com.nflg.mobilebroken.repository.entity.TicketFavorites;
|
|||
*/
|
||||
public interface ITicketFavoritesService extends IService<TicketFavorites> {
|
||||
|
||||
FavoritesVO getList(Integer userId,Integer id);
|
||||
FavoritesVO getList(Integer userId,String from,Integer id);
|
||||
|
||||
void addFavorites(AdminFavoritesRequest request, Integer userId);
|
||||
void addFavorites(AdminFavoritesRequest request, Integer userId,String from);
|
||||
|
||||
void deleteFavorites(Integer userId,Integer favoritesId);
|
||||
void deleteFavorites(Integer userId,String from,Integer favoritesId);
|
||||
|
||||
void updateFavorites(FavoritesUpdateRequest request, Integer userId);
|
||||
void updateFavorites(FavoritesUpdateRequest request, Integer userId,String from);
|
||||
|
||||
void moveFavorites(Integer userId, FavoritesMoveRequest request);
|
||||
void moveFavorites(FavoritesMoveRequest request);
|
||||
|
||||
void moveFavoritesTicket(Integer userId, FavoritesTicketMoveRequest request);
|
||||
void moveFavoritesTicket(Integer userId,String from, FavoritesTicketMoveRequest request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ import com.nflg.mobilebroken.repository.entity.TicketFollow;
|
|||
*/
|
||||
public interface ITicketFollowService extends IService<TicketFollow> {
|
||||
|
||||
void handle(FollowRequest request, Integer userId);
|
||||
void handle(FollowRequest request, Integer userId,String from);
|
||||
|
||||
void follow(AdminFollowRequest request, Integer userId);
|
||||
void follow(AdminFollowRequest request, Integer userId,String from);
|
||||
|
||||
void unfollow(Integer userId, Integer ticketId);
|
||||
void unfollow(Integer userId,String from, Integer ticketId);
|
||||
|
||||
void deleteFavorites(Integer userId, Integer favoritesId);
|
||||
void deleteFavorites(Integer userId,String from, Integer favoritesId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public interface ITicketService extends IService<Ticket> {
|
|||
|
||||
List<AdminUserSimpleVO> getTicketHandle(Integer id);
|
||||
|
||||
List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId);
|
||||
List<TicketVO> getAdminFavorites(Integer userId,String from,Integer favoritesId);
|
||||
|
||||
Ticket rejectTicket(Integer id);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AreaSearchRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.EnableRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AreaVO;
|
||||
|
|
@ -56,6 +57,9 @@ public class AppAreaServiceImpl extends ServiceImpl<AppAreaMapper, AppArea> impl
|
|||
|
||||
@Override
|
||||
public IPage<AreaVO> search(AreaSearchRequest request) {
|
||||
if (StrUtil.equals(AppUserUtil.getFrom(), Constant.FROM_ADMIN)){
|
||||
return new Page<>(request.getPage(), request.getPageSize());
|
||||
}
|
||||
if (AppUserUtil.isPrimary()){
|
||||
request.setCreateBy(AppUserUtil.getUserId());
|
||||
}else {
|
||||
|
|
|
|||
|
|
@ -37,13 +37,13 @@ public class AppMessageServiceImpl extends ServiceImpl<AppMessageMapper, AppMess
|
|||
private RedisTemplate<String,Object> redisTemplate;
|
||||
|
||||
@Override
|
||||
public IPage<AppMessageVO> getNotReadMessage(Integer userId, Integer num) {
|
||||
return baseMapper.getNotReadMessage(userId, num, new Page<>(1, num));
|
||||
public IPage<AppMessageVO> getNotReadMessage(Integer userId,String from, Integer num) {
|
||||
return baseMapper.getNotReadMessage(userId,from, num, new Page<>(1, num));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<AppMessageVO> search(Integer userId, AppMessageSearchRequest request) {
|
||||
IPage<AppMessageVO> datas = baseMapper.search(userId, request.getTitle(), new Page<>(request.getPage(), request.getPageSize()));
|
||||
public IPage<AppMessageVO> search(Integer userId,String from, AppMessageSearchRequest request) {
|
||||
IPage<AppMessageVO> datas = baseMapper.search(userId,from, request.getTitle(), new Page<>(request.getPage(), request.getPageSize()));
|
||||
Map<Integer, String> userMap = new HashMap<>();
|
||||
datas.getRecords().forEach(d -> {
|
||||
if (StrUtil.isNotBlank(d.getTicketHandleBy())) {
|
||||
|
|
@ -64,23 +64,23 @@ public class AppMessageServiceImpl extends ServiceImpl<AppMessageMapper, AppMess
|
|||
}
|
||||
|
||||
@Override
|
||||
public void setReaded(Integer userId,List<Integer> ids) {
|
||||
public void setReaded(Integer userId,String from,List<Integer> ids) {
|
||||
lambdaUpdate()
|
||||
.set(AppMessage::getIsRead, true)
|
||||
.eq(AppMessage::getUserId, userId)
|
||||
.in(AppMessage::getId, ids)
|
||||
.update();
|
||||
setUnreadMessageCount(userId);
|
||||
setUnreadMessageCount(userId,from);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNotRead(Integer userId,List<Integer> ids) {
|
||||
public void setNotRead(Integer userId,String from,List<Integer> ids) {
|
||||
lambdaUpdate()
|
||||
.set(AppMessage::getIsRead, false)
|
||||
.eq(AppMessage::getUserId, userId)
|
||||
.in(AppMessage::getId, ids)
|
||||
.update();
|
||||
setUnreadMessageCount(userId);
|
||||
setUnreadMessageCount(userId,from);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -88,21 +88,23 @@ public class AppMessageServiceImpl extends ServiceImpl<AppMessageMapper, AppMess
|
|||
remove(new LambdaQueryWrapper<AppMessage>()
|
||||
.eq(AppMessage::getIsRead, false)
|
||||
.eq(AppMessage::getSubType, message.getSubType())
|
||||
.eq(AppMessage::getUserId, message.getUserId()));
|
||||
.eq(AppMessage::getUserId, message.getUserId())
|
||||
.eq(AppMessage::getUserPlatform, message.getUserPlatform()));
|
||||
save(message);
|
||||
setUnreadMessageCount(message.getUserId());
|
||||
setUnreadMessageCount(message.getUserId(),message.getUserPlatform());
|
||||
}
|
||||
|
||||
private void setUnreadMessageCount(Integer userId){
|
||||
private void setUnreadMessageCount(Integer userId,String from){
|
||||
Integer count= Math.toIntExact(lambdaQuery()
|
||||
.eq(AppMessage::getIsRead, false)
|
||||
.eq(AppMessage::getUserId, userId)
|
||||
.eq(AppMessage::getUserPlatform, from)
|
||||
.count());
|
||||
redisTemplate.opsForHash().put(Constant.REDIS_KEY_MESSAGE_NOT_READ_COUNT_APP, userId, count);
|
||||
redisTemplate.opsForHash().put(StrUtil.format(Constant.REDIS_KEY_MESSAGE_NOT_READ_COUNT_APP,from), userId, count);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getNotReadMessageCount(Integer userId) {
|
||||
return Optional.ofNullable((Integer) redisTemplate.opsForHash().get(Constant.REDIS_KEY_MESSAGE_NOT_READ_COUNT_APP, userId)).orElse(0);
|
||||
public Integer getNotReadMessageCount(Integer userId, String from) {
|
||||
return Optional.ofNullable((Integer) redisTemplate.opsForHash().get(StrUtil.format(Constant.REDIS_KEY_MESSAGE_NOT_READ_COUNT_APP,from), userId)).orElse(0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.nflg.mobilebroken.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
|
||||
import com.nflg.mobilebroken.common.pojo.request.SearchDeviceRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceAgentVO;
|
||||
|
|
@ -50,13 +52,10 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||
|
||||
@Override
|
||||
public Page<DeviceVO> searchDevice(SearchDeviceRequest request,String language) {
|
||||
// IPage<Device> page = lambdaQuery()
|
||||
// .like(StrUtil.isNotBlank(request.getDeviceNo()), Device::getDeviceNo, request.getDeviceNo())
|
||||
// .like(StrUtil.isNotBlank(request.getModelNo()), Device::getModelNo, request.getModelNo())
|
||||
// .between(Objects.nonNull(request.getStartTime()), Device::getShipmentDate, request.getStartTime(), request.getEndTime())
|
||||
// .page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
// return PageUtil.convert(page, d -> Convert.convert(DeviceVO.class, d));
|
||||
List<Integer> companyIds = AppUserUtil.getCompanyIds();
|
||||
List<Integer> companyIds = null;
|
||||
if (StrUtil.equals(AppUserUtil.getFrom(), Constant.FROM_APP)){
|
||||
companyIds = AppUserUtil.getCompanyIds();
|
||||
}
|
||||
return baseMapper.searchDevice(request, companyIds,language ,new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.mobilebroken.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AdminFavoritesRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesMoveRequest;
|
||||
|
|
@ -39,45 +40,46 @@ public class TicketFavoritesServiceImpl extends ServiceImpl<TicketFavoritesMappe
|
|||
private ITicketFollowService ticketFollowService;
|
||||
|
||||
@Override
|
||||
public FavoritesVO getList(Integer userId,Integer id) {
|
||||
public FavoritesVO getList(Integer userId,String from,Integer id) {
|
||||
TicketFavorites favorites= Objects.equals(id, 0)? new TicketFavorites().setId(0).setName("收藏夹") : lambdaQuery().eq(TicketFavorites::getId,id).one();
|
||||
FavoritesVO vo=new FavoritesVO().setId(favorites.getId()).setName(favorites.getName());
|
||||
vo.setChildren(lambdaQuery().eq(TicketFavorites::getParentId,id).eq(TicketFavorites::getCreateBy,userId).orderByAsc(TicketFavorites::getOrderNum).list()
|
||||
vo.setChildren(lambdaQuery().eq(TicketFavorites::getParentId,id).eq(TicketFavorites::getCreateBy,userId).eq(TicketFavorites::getUserPlatform,from).orderByAsc(TicketFavorites::getOrderNum).list()
|
||||
.stream().map(f->new FavoritesVO().setId(f.getId()).setName(f.getName())).collect(Collectors.toList()));
|
||||
vo.setTickets(ticketService.getAdminFavorites(userId,id));
|
||||
vo.setTickets(ticketService.getAdminFavorites(userId,from,id));
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addFavorites(AdminFavoritesRequest request, Integer userId) {
|
||||
public void addFavorites(AdminFavoritesRequest request, Integer userId,String from) {
|
||||
VUtils.trueThrowBusinessError(lambdaQuery().eq(TicketFavorites::getParentId,request.getParentId()).eq(TicketFavorites::getName,request.getName()).exists())
|
||||
.throwMessage("已存在该名称的收藏夹");
|
||||
save(new TicketFavorites().setParentId(request.getParentId()).setName(request.getName()).setCreateBy(userId).setCreateTime(LocalDateTime.now()));
|
||||
save(new TicketFavorites().setParentId(request.getParentId()).setName(request.getName()).setCreateBy(userId).setUserPlatform(from).setCreateTime(LocalDateTime.now()));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void deleteFavorites(Integer userId, Integer favoritesId) {
|
||||
public void deleteFavorites(Integer userId,String from, Integer favoritesId) {
|
||||
TicketFavorites favorites = lambdaQuery().eq(TicketFavorites::getId, favoritesId).one();
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(favorites)).throwMessage("该收藏夹不存在");
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(favorites.getCreateBy(), userId)).throwMessage("无权限删除该收藏夹");
|
||||
ticketFollowService.deleteFavorites(userId, favoritesId);
|
||||
ticketFollowService.deleteFavorites(userId,from, favoritesId);
|
||||
if (!Objects.equals(favoritesId, 0)){
|
||||
lambdaUpdate().eq(TicketFavorites::getId,favoritesId).remove();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFavorites(FavoritesUpdateRequest request, Integer userId) {
|
||||
public void updateFavorites(FavoritesUpdateRequest request, Integer userId,String from) {
|
||||
lambdaUpdate()
|
||||
.set(TicketFavorites::getName,request.getName())
|
||||
.eq(TicketFavorites::getId,request.getId())
|
||||
.eq(TicketFavorites::getCreateBy,userId)
|
||||
.eq(TicketFavorites::getUserPlatform,from)
|
||||
.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveFavorites(Integer userId, FavoritesMoveRequest request) {
|
||||
public void moveFavorites(FavoritesMoveRequest request) {
|
||||
int orderNum=100000;
|
||||
if (Objects.nonNull(request.getNextFavoritesId())){
|
||||
orderNum=lambdaQuery()
|
||||
|
|
@ -92,12 +94,12 @@ public class TicketFavoritesServiceImpl extends ServiceImpl<TicketFavoritesMappe
|
|||
}
|
||||
|
||||
@Override
|
||||
public void moveFavoritesTicket(Integer userId, FavoritesTicketMoveRequest request) {
|
||||
public void moveFavoritesTicket(Integer userId,String from, FavoritesTicketMoveRequest request) {
|
||||
ticketFollowService.lambdaUpdate()
|
||||
.set(TicketFollow::getFavoritesId,request.getFavoritesId())
|
||||
.eq(TicketFollow::getTicketId,request.getTicketId())
|
||||
.eq(TicketFollow::getUserId,userId)
|
||||
.eq(TicketFollow::getFrom,(byte) 1)
|
||||
.eq(TicketFollow::getFrom, StrUtil.equals(from, "app")?0:1)
|
||||
.update();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.mobilebroken.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AdminFollowRequest;
|
||||
|
|
@ -25,18 +26,19 @@ import java.util.Objects;
|
|||
public class TicketFollowServiceImpl extends ServiceImpl<TicketFollowMapper, TicketFollow> implements ITicketFollowService {
|
||||
|
||||
@Override
|
||||
public void handle(FollowRequest request, Integer userId) {
|
||||
public void handle(FollowRequest request, Integer userId,String from) {
|
||||
byte bf = (byte) (StrUtil.equals(from, "app") ? 0 : 1);
|
||||
if (request.getIsFollow()) {
|
||||
TicketFollow ticketFollow = lambdaQuery()
|
||||
.eq(TicketFollow::getTicketId, request.getTicketId())
|
||||
.eq(TicketFollow::getUserId, userId)
|
||||
.eq(TicketFollow::getFrom, (byte) 0)
|
||||
.eq(TicketFollow::getFrom, bf)
|
||||
.one();
|
||||
if (Objects.isNull(ticketFollow)) {
|
||||
TicketFollow follow = new TicketFollow()
|
||||
.setTicketId(request.getTicketId())
|
||||
.setUserId(userId)
|
||||
.setFrom((byte) 0)
|
||||
.setFrom(bf)
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
save(follow);
|
||||
}
|
||||
|
|
@ -44,40 +46,43 @@ public class TicketFollowServiceImpl extends ServiceImpl<TicketFollowMapper, Tic
|
|||
LambdaQueryWrapper<TicketFollow> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(TicketFollow::getTicketId, request.getTicketId());
|
||||
lambdaQueryWrapper.eq(TicketFollow::getUserId, userId);
|
||||
lambdaQueryWrapper.eq(TicketFollow::getFrom, (byte) 0);
|
||||
lambdaQueryWrapper.eq(TicketFollow::getFrom, bf);
|
||||
this.remove(lambdaQueryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void follow(AdminFollowRequest request, Integer userId) {
|
||||
public void follow(AdminFollowRequest request, Integer userId,String from) {
|
||||
byte bf = (byte) (StrUtil.equals(from, "app") ? 0 : 1);
|
||||
this.remove(new LambdaQueryWrapper<TicketFollow>()
|
||||
.eq(TicketFollow::getTicketId, request.getTicketId())
|
||||
.eq(TicketFollow::getUserId, userId)
|
||||
.eq(TicketFollow::getFrom, (byte) 1));
|
||||
.eq(TicketFollow::getFrom, bf));
|
||||
TicketFollow ticketFollow = new TicketFollow()
|
||||
.setTicketId(request.getTicketId())
|
||||
.setUserId(userId)
|
||||
.setFavoritesId(request.getFavoritesId())
|
||||
.setFrom((byte) 1)
|
||||
.setFrom(bf)
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
save(ticketFollow);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unfollow(Integer userId, Integer ticketId) {
|
||||
public void unfollow(Integer userId,String from, Integer ticketId) {
|
||||
byte bf = (byte) (StrUtil.equals(from, "app") ? 0 : 1);
|
||||
this.remove(new LambdaQueryWrapper<TicketFollow>()
|
||||
.eq(TicketFollow::getTicketId, ticketId)
|
||||
.eq(TicketFollow::getUserId, userId)
|
||||
.eq(TicketFollow::getFrom, (byte) 1));
|
||||
.eq(TicketFollow::getFrom, bf));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteFavorites(Integer userId, Integer favoritesId) {
|
||||
public void deleteFavorites(Integer userId,String from, Integer favoritesId) {
|
||||
byte bf = (byte) (StrUtil.equals(from, "app") ? 0 : 1);
|
||||
this.remove(new LambdaQueryWrapper<TicketFollow>()
|
||||
.eq(TicketFollow::getFavoritesId, favoritesId)
|
||||
.eq(TicketFollow::getUserId, userId)
|
||||
.eq(TicketFollow::getFrom, (byte) 1));
|
||||
.eq(TicketFollow::getFrom, bf));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
.setDescription(request.getDescription())
|
||||
.setState(TicketState.PendingProcessing.getState())
|
||||
.setUserId(userId)
|
||||
.setUserPlatform(AppUserUtil.getFrom())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
save(ticket);
|
||||
// Collection<String> files=CollectionUtil.addAll(request.getImages(),request.getAttachments());
|
||||
|
|
@ -131,9 +132,9 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
request.setEndTime(request.getEndTime().plusDays(1));
|
||||
}
|
||||
if (request.getType()==1){
|
||||
return baseMapper.searchMy(new Page<>(request.getPage(), request.getPageSize()), request, user.getId(),language);
|
||||
return baseMapper.searchMy(new Page<>(request.getPage(), request.getPageSize()), request, user.getId(),user.getFrom(),language);
|
||||
}else if (request.getType()==2){
|
||||
return baseMapper.searchFollow(new Page<>(request.getPage(), request.getPageSize()), request, user.getId(),language);
|
||||
return baseMapper.searchFollow(new Page<>(request.getPage(), request.getPageSize()), request, user.getId(),user.getFrom(),language);
|
||||
}else if (request.getType()==3) {
|
||||
String companyCode = "";
|
||||
if (!user.getIsPrimary()){
|
||||
|
|
@ -305,7 +306,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
@Override
|
||||
public Ticket revoked(Integer id) {
|
||||
Ticket ticket=lambdaQuery().eq(Ticket::getId, id).one();
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()))
|
||||
VUtils.trueThrowBusinessError(!(Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()) && StrUtil.equals(ticket.getUserPlatform(), AppUserUtil.getFrom())))
|
||||
.throwMessage("无权操作该工单");
|
||||
VUtils.trueThrowBusinessError(Byte.compare(ticket.getState(), TicketState.ProcessingCompleted.getState())>0)
|
||||
.throwMessage("当前工单状态不允许撤销");
|
||||
|
|
@ -320,7 +321,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
@Override
|
||||
public Ticket reopen(Integer id) {
|
||||
Ticket ticket=lambdaQuery().eq(Ticket::getId, id).one();
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()))
|
||||
VUtils.trueThrowBusinessError(!(Objects.equals(ticket.getUserId(), AppUserUtil.getUserId()) && StrUtil.equals(ticket.getUserPlatform(), AppUserUtil.getFrom())))
|
||||
.throwMessage("无权操作该工单");
|
||||
VUtils.trueThrowBusinessError(Byte.compare(ticket.getState(), TicketState.ProcessingCompleted.getState())>0)
|
||||
.throwMessage("当前工单状态不允许重新打开");
|
||||
|
|
@ -367,8 +368,8 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId) {
|
||||
return baseMapper.getAdminFavorites(userId,favoritesId);
|
||||
public List<TicketVO> getAdminFavorites(Integer userId,String from,Integer favoritesId) {
|
||||
return baseMapper.getAdminFavorites(userId,from,favoritesId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
FROM app_message m
|
||||
INNER JOIN ticket t ON m.ticket_id=t.id
|
||||
INNER JOIN app_user u ON t.user_id=u.id
|
||||
WHERE m.is_read=0 AND m.user_id=#{userId}
|
||||
WHERE m.is_read=0 AND m.user_id=#{userId} AND m.user_platform=#{from}
|
||||
ORDER BY m.create_time DESC
|
||||
</select>
|
||||
<select id="search" resultType="com.nflg.mobilebroken.common.pojo.vo.AppMessageVO">
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
FROM app_message m
|
||||
INNER JOIN ticket t ON m.ticket_id=t.id
|
||||
INNER JOIN app_user u ON t.user_id=u.id
|
||||
WHERE m.user_id=#{userId}
|
||||
WHERE m.user_id=#{userId} AND m.user_platform=#{from}
|
||||
<if test="title != null and title != ''">
|
||||
AND (t.title LIKE CONCAT('%',#{title},'%') OR t.no LIKE CONCAT('%',#{title},'%'))
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -67,10 +67,13 @@
|
|||
INNER JOIN dictionary_item di ON di.id=d.device_state
|
||||
LEFT JOIN dictionary_item di2 ON di2.id=d.warranty_state
|
||||
LEFT JOIN dictionary_item_translate dit2 ON dit2.dictionary_item_id=d.warranty_state AND dit2.language_code=#{language}
|
||||
WHERE d.data_valid_state=1 AND di.`code`='Normal' AND c.id IN
|
||||
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
|
||||
#{companyId}
|
||||
</foreach>
|
||||
WHERE d.data_valid_state=1 AND di.`code`='Normal'
|
||||
<if test="companyIds!=null">
|
||||
AND c.id IN
|
||||
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
|
||||
#{companyId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.deviceNo!=null and request.deviceNo!=''">
|
||||
and d.device_no LIKE concat('%', #{request.deviceNo}, '%')
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -89,11 +89,11 @@
|
|||
FROM ticket t
|
||||
LEFT JOIN app_user u ON t.user_id=u.id
|
||||
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
||||
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=0
|
||||
LEFT JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.user_id=#{userId} AND tf.from=IF(#{from}='app',0,1)
|
||||
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
|
||||
LEFT JOIN t_base_part p ON t.component_id=p.id
|
||||
LEFT JOIN t_base_language_data l ON p.id=l.source_id AND l.language_code=#{language}
|
||||
WHERE t.user_id=#{userId} AND t.state!=4
|
||||
WHERE t.user_id=#{userId} AND t.user_platform=#{from} AND t.state!=4
|
||||
<include refid="searchWhereCondition"/>
|
||||
ORDER BY t.id DESC
|
||||
</select>
|
||||
|
|
@ -105,11 +105,11 @@
|
|||
FROM ticket t
|
||||
LEFT JOIN app_user u ON t.user_id=u.id
|
||||
LEFT JOIN app_area a2 ON u.area_id=a2.id
|
||||
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.from=0
|
||||
INNER JOIN ticket_follow tf ON t.id=tf.ticket_id AND tf.from=IF(#{from}='app',0,1)
|
||||
LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2
|
||||
LEFT JOIN t_base_part p ON t.component_id=p.id
|
||||
LEFT JOIN t_base_language_data l ON p.id=l.source_id AND l.language_code=#{language}
|
||||
WHERE tf.user_id=#{userId} AND t.state!=4
|
||||
WHERE tf.user_id=#{userId} AND t.user_platform=#{from} AND t.state!=4
|
||||
<include refid="searchWhereCondition"/>
|
||||
ORDER BY t.id DESC
|
||||
</select>
|
||||
|
|
@ -229,7 +229,7 @@
|
|||
FROM ticket_follow tf
|
||||
INNER JOIN ticket t ON tf.ticket_id = t.id
|
||||
WHERE tf.`from` = 1
|
||||
AND tf.user_id = #{userId}
|
||||
AND tf.user_id = #{userId} AND tf.from=IF(#{from}='app',0,1)
|
||||
AND tf.favorites_id = #{favoritesId}
|
||||
ORDER BY t.state,t.id DESC
|
||||
</select>
|
||||
|
|
|
|||
Loading…
Reference in New Issue