fix: 修复一些问题
This commit is contained in:
parent
e843fde8c9
commit
33317cbdc6
|
|
@ -305,7 +305,7 @@ public class AdminUserController extends ControllerBase {
|
|||
String redisKey = StrUtil.format(Constant.REDIS_KEY_USER_UPDATE_KAPTCHA_ADMIN, AdminUserUtil.getEmail());
|
||||
String captcha = redisTemplate.opsForValue().get(redisKey);
|
||||
VUtils.trueThrowBusinessError(StrUtil.isBlank(captcha)).throwMessage("验证码已失效,请重新获取");
|
||||
VUtils.trueThrowBusinessError(StrUtil.equals(captcha, request.getCaptcha())).throwMessage("验证码不正确");
|
||||
VUtils.trueThrowBusinessError(!StrUtil.equals(captcha, request.getCaptcha())).throwMessage("验证码不正确");
|
||||
adminUserService.updatePassword(AdminUserUtil.getUserId(), request.getNewPassword());
|
||||
redisTemplate.delete(redisKey);
|
||||
return ApiResult.success();
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public class MenuController extends ControllerBase {
|
|||
@MethodInfoMark(value = "删除菜单", menuName = "菜单管理")
|
||||
@ApiMark(moduleName = "菜单管理", apiName = "删除菜单")
|
||||
public ApiResult<Void> deleteMenu(@Valid @RequestBody List<Integer> ids) {
|
||||
adminMenuService.removeByIds(ids);
|
||||
adminMenuService.delete(ids);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -132,6 +132,16 @@ public class TicketController extends ControllerBase {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新收藏夹名称
|
||||
* @param request 请求信息
|
||||
*/
|
||||
@PostMapping("updateFavorites")
|
||||
public ApiResult<Void> updateFavorites(@Valid @RequestBody FavoritesUpdateRequest request){
|
||||
ticketFavoritesService.updateFavorites(request,AdminUserUtil.getUserId());
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除收藏夹
|
||||
* @param favoritesId 收藏夹id
|
||||
|
|
@ -144,6 +154,26 @@ public class TicketController extends ControllerBase {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 移动收藏夹
|
||||
* @param request 请求信息
|
||||
*/
|
||||
@PostMapping("moveFavorites")
|
||||
public ApiResult<Void> moveFavorites(@Valid @RequestBody FavoritesMoveRequest request){
|
||||
ticketFavoritesService.moveFavorites(AdminUserUtil.getUserId(),request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 移动收藏夹工单
|
||||
* @param request 请求信息
|
||||
*/
|
||||
@PostMapping("moveFavoritesTicket")
|
||||
public ApiResult<Void> moveFavoritesTicket(@Valid @RequestBody FavoritesTicketMoveRequest request){
|
||||
ticketFavoritesService.moveFavoritesTicket(AdminUserUtil.getUserId(),request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 关注工单
|
||||
* @param request 请求信息
|
||||
|
|
@ -590,11 +620,12 @@ public class TicketController extends ControllerBase {
|
|||
VUtils.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
|
||||
VUtils.trueThrowBusinessError(!Objects.equals(ticket.getState(), TicketState.Processing.getState()))
|
||||
.throwMessage("当前工单状态不允许发送消息");
|
||||
List<Integer> handles=Arrays.stream(ticket.getHandle().split(","))
|
||||
.map(Integer::parseInt).collect(Collectors.toList());
|
||||
VUtils.trueThrowBusinessError(handles.stream()
|
||||
List<Integer> adminUsers=adminUserService.getTickerMangagers();
|
||||
adminUsers.addAll(Arrays.stream(ticket.getHandle().split(","))
|
||||
.map(Integer::parseInt).collect(Collectors.toList()));
|
||||
VUtils.trueThrowBusinessError(adminUsers.stream()
|
||||
.noneMatch(uid -> Objects.equals(uid, AdminUserUtil.getUserId())))
|
||||
.throwMessage("只有工单处理人能发送消息");
|
||||
.throwMessage("你无权发送消息");
|
||||
ticket.setCurrentHandle(AdminUserUtil.getUserId());
|
||||
ticketService.updateById(ticket);
|
||||
AdminUser user = adminUserService.getById(AdminUserUtil.getUserId());
|
||||
|
|
|
|||
|
|
@ -29,4 +29,7 @@ public class AdminTicketSearchRequest extends TicketSearchRequest {
|
|||
//是否是工单管理者
|
||||
@JsonIgnore
|
||||
private boolean ticketManager;
|
||||
|
||||
//收藏夹id
|
||||
private Integer favouritesId;
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.nflg.mobilebroken.common.pojo.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class FavoritesMoveRequest {
|
||||
|
||||
// 拖动的收藏夹id
|
||||
@NotNull
|
||||
private Integer favoritesId;
|
||||
|
||||
// 新的父级id
|
||||
@NotNull
|
||||
private Integer newParentId;
|
||||
|
||||
// 后一个节点的id
|
||||
private Integer nextFavoritesId;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.nflg.mobilebroken.common.pojo.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class FavoritesTicketMoveRequest {
|
||||
|
||||
//工单id
|
||||
@NotNull
|
||||
private Integer ticketId;
|
||||
|
||||
//新的收藏夹id
|
||||
@NotNull
|
||||
private Integer favoritesId;
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.nflg.mobilebroken.common.pojo.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class FavoritesUpdateRequest {
|
||||
|
||||
// 收藏夹id
|
||||
@NotNull
|
||||
private Integer id;
|
||||
|
||||
// 收藏夹新名称
|
||||
|
||||
@NotBlank
|
||||
private String name;
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.nflg.mobilebroken.common.util;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -13,7 +14,7 @@ public class PageUtil {
|
|||
pageData.setPage((int) page.getCurrent());
|
||||
pageData.setPageSize((int) page.getSize());
|
||||
pageData.setTotal((int) page.getTotal());
|
||||
pageData.setItems(page.getRecords().stream().map(mapper).collect(Collectors.toList()));
|
||||
pageData.setItems(page.getRecords().stream().map(mapper).filter(Objects::nonNull).collect(Collectors.toList()));
|
||||
return pageData;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@ public class TicketFavorites implements Serializable {
|
|||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 排序号
|
||||
*/
|
||||
private Integer orderNum;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.nflg.mobilebroken.repository.mapper;
|
|||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AdminTicketSearchRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.TicketSearchRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO;
|
||||
|
|
@ -36,5 +37,7 @@ public interface TicketMapper extends BaseMapper<Ticket> {
|
|||
|
||||
List<AdminTicketVO> searchAllFromAdminAndFollow(AdminTicketSearchRequest request, Integer userId);
|
||||
|
||||
List<TicketVO> getAdminFavorites(Integer favoritesId);
|
||||
List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId);
|
||||
|
||||
IPage<AdminTicketVO> searchByFavouritesId(Integer userId, Integer favouritesId, Page<?> page);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,4 +31,6 @@ public interface IAdminMenuService extends IService<AdminMenu> {
|
|||
List<AuthorizeMenuVO> getMenuForAuthorize(Integer roleId);
|
||||
|
||||
IPage<MenuVO> search(MenuSearchRequest request);
|
||||
|
||||
void delete(List<Integer> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public interface IAdminUserService extends IService<AdminUser> {
|
|||
|
||||
PageData<AdminUserVO> search(SearchAccountRequest request);
|
||||
|
||||
List<AdminUser> getCQM();
|
||||
// List<AdminUser> getCQM();
|
||||
|
||||
void authorizeRole(AuthorizeRoleRequest request);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ package com.nflg.mobilebroken.repository.service;
|
|||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AdminFavoritesRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesMoveRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesTicketMoveRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesUpdateRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.FavoritesVO;
|
||||
import com.nflg.mobilebroken.repository.entity.TicketFavorites;
|
||||
|
||||
|
|
@ -20,4 +23,10 @@ public interface ITicketFavoritesService extends IService<TicketFavorites> {
|
|||
void addFavorites(AdminFavoritesRequest request, Integer userId);
|
||||
|
||||
void deleteFavorites(Integer userId,Integer favoritesId);
|
||||
|
||||
void updateFavorites(FavoritesUpdateRequest request, Integer userId);
|
||||
|
||||
void moveFavorites(Integer userId, FavoritesMoveRequest request);
|
||||
|
||||
void moveFavoritesTicket(Integer userId, FavoritesTicketMoveRequest request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,5 +51,5 @@ public interface ITicketService extends IService<Ticket> {
|
|||
|
||||
List<AdminUserSimpleVO> getTicketHandle(Integer id);
|
||||
|
||||
List<TicketVO> getAdminFavorites(Integer favoritesId);
|
||||
List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import com.nflg.mobilebroken.common.pojo.vo.AuthorizeMenuVO;
|
|||
import com.nflg.mobilebroken.common.pojo.vo.MenuVO;
|
||||
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.PageUtil;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminMenu;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminMenuButton;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminRoleButtonMap;
|
||||
|
|
@ -23,6 +24,7 @@ import com.nflg.mobilebroken.repository.service.IAdminMenuService;
|
|||
import com.nflg.mobilebroken.repository.service.IAdminRoleButtonMapService;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminRoleMenuMapService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
|
|
@ -94,13 +96,40 @@ public class AdminMenuServiceImpl extends ServiceImpl<AdminMenuMapper, AdminMenu
|
|||
updateById(menu);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void enableMenu(EnableMenuRequest request) {
|
||||
if (request.isEnable()){
|
||||
enable(request.getIds());
|
||||
}else {
|
||||
disable(request.getIds());
|
||||
}
|
||||
}
|
||||
|
||||
private void disable(List<Integer> ids){
|
||||
if (CollectionUtil.isNotEmpty(ids)) {
|
||||
lambdaUpdate()
|
||||
.set(AdminMenu::getEnable, false)
|
||||
.set(AdminMenu::getUpdateBy, AdminUserUtil.getUserName())
|
||||
.set(AdminMenu::getUpdateTime, LocalDateTime.now())
|
||||
.in(AdminMenu::getId, ids)
|
||||
.update();
|
||||
adminMenuButtonService.lambdaUpdate()
|
||||
.set(AdminMenuButton::getEnable, false)
|
||||
.set(AdminMenuButton::getUpdateBy, AdminUserUtil.getUserName())
|
||||
.set(AdminMenuButton::getUpdateTime, LocalDateTime.now())
|
||||
.in(AdminMenuButton::getMenuId, ids)
|
||||
.update();
|
||||
disable(lambdaQuery().in(AdminMenu::getParentId, ids).list().stream().map(AdminMenu::getId).collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
|
||||
private void enable(List<Integer> ids){
|
||||
lambdaUpdate()
|
||||
.set(AdminMenu::getEnable, request.isEnable())
|
||||
.set(AdminMenu::getEnable, true)
|
||||
.set(AdminMenu::getUpdateBy, AdminUserUtil.getUserName())
|
||||
.set(AdminMenu::getUpdateTime, LocalDateTime.now())
|
||||
.in(AdminMenu::getId, request.getIds())
|
||||
.in(AdminMenu::getId, ids)
|
||||
.update();
|
||||
}
|
||||
|
||||
|
|
@ -159,6 +188,15 @@ public class AdminMenuServiceImpl extends ServiceImpl<AdminMenuMapper, AdminMenu
|
|||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void delete(List<Integer> ids) {
|
||||
VUtils.trueThrowBusinessError(lambdaQuery().in(AdminMenu::getParentId, ids).exists()).throwMessage("请先删除下级菜单");
|
||||
VUtils.trueThrowBusinessError(adminMenuButtonService.lambdaQuery().in(AdminMenuButton::getMenuId, ids).exists())
|
||||
.throwMessage("请先删除下级按钮");
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
private void getParent(MenuVO child, List<MenuVO> datas) {
|
||||
AdminMenu parent = lambdaQuery().eq(AdminMenu::getId, child.getParentId()).one();
|
||||
if (Objects.nonNull(parent)) {
|
||||
|
|
|
|||
|
|
@ -73,21 +73,36 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
|||
|
||||
@Override
|
||||
public AdminUser add(AccountAddRequest request) {
|
||||
VUtils.trueThrowBusinessError(lambdaQuery().eq(AdminUser::getLoginName, request.getLoginName()).exists())
|
||||
.throwMessage("已存在登录名为"+request.getLoginName()+"的账号");
|
||||
AdminUser user = new AdminUser()
|
||||
.setUserCode(request.getUserCode())
|
||||
.setUserName(request.getUserName())
|
||||
.setAvatar(request.getAvatar())
|
||||
.setDepartmentId(request.getDepartmentId())
|
||||
.setEmail(request.getEmail())
|
||||
.setState(UserState.ToBeActivated.getState())
|
||||
.setLoginName(request.getLoginName())
|
||||
.setPhone(request.getPhone())
|
||||
.setTitleId(request.getTitleId())
|
||||
.setCreateBy(AdminUserUtil.getUserId())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
save(user);
|
||||
AdminUser user=lambdaQuery().eq(AdminUser::getLoginName, request.getLoginName()).one();
|
||||
if (Objects.nonNull(user)){
|
||||
VUtils.trueThrowBusinessError(!user.getIsDel())
|
||||
.throwMessage("登录名已存在");
|
||||
user.setIsDel(false)
|
||||
.setUserCode(request.getUserCode())
|
||||
.setAvatar(request.getAvatar())
|
||||
.setState(UserState.ToBeActivated.getState())
|
||||
.setTitleId(request.getTitleId())
|
||||
.setPhone(request.getPhone())
|
||||
.setUserName(request.getUserName())
|
||||
.setDepartmentId(request.getDepartmentId())
|
||||
.setUpdateBy(AdminUserUtil.getUserId())
|
||||
.setUpdateTime(LocalDateTime.now());
|
||||
updateById(user);
|
||||
}else {
|
||||
user = new AdminUser()
|
||||
.setUserCode(request.getUserCode())
|
||||
.setUserName(request.getUserName())
|
||||
.setAvatar(request.getAvatar())
|
||||
.setDepartmentId(request.getDepartmentId())
|
||||
.setEmail(request.getEmail())
|
||||
.setState(UserState.ToBeActivated.getState())
|
||||
.setLoginName(request.getLoginName())
|
||||
.setPhone(request.getPhone())
|
||||
.setTitleId(request.getTitleId())
|
||||
.setCreateBy(AdminUserUtil.getUserId())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
save(user);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
|
|
@ -137,20 +152,20 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
|||
return pageData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AdminUser> getCQM() {
|
||||
TBasePosition position = positionService.lambdaQuery()
|
||||
.eq(TBasePosition::getDataValidState, 1)
|
||||
.eq(TBasePosition::getPositionCode, Constant.DICTIONARY_TYPE_TITLE_CQM)
|
||||
.one();
|
||||
if (Objects.isNull(position)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return lambdaQuery()
|
||||
.eq(AdminUser::getIsDel,false)
|
||||
.eq(AdminUser::getTitleId, position.getId())
|
||||
.list();
|
||||
}
|
||||
// @Override
|
||||
// public List<AdminUser> getCQM() {
|
||||
// TBasePosition position = positionService.lambdaQuery()
|
||||
// .eq(TBasePosition::getDataValidState, 1)
|
||||
// .eq(TBasePosition::getPositionCode, Constant.DICTIONARY_TYPE_TITLE_CQM)
|
||||
// .one();
|
||||
// if (Objects.isNull(position)) {
|
||||
// return Collections.emptyList();
|
||||
// }
|
||||
// return lambdaQuery()
|
||||
// .eq(AdminUser::getIsDel,false)
|
||||
// .eq(AdminUser::getTitleId, position.getId())
|
||||
// .list();
|
||||
// }
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -134,8 +134,6 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
|
||||
@Override
|
||||
public AppUser addPrimaryAppUser(PrimaryAppUserAddRequest request) {
|
||||
VUtils.trueThrowBusinessError(lambdaQuery().eq(AppUser::getLoginName, request.getLoginName()).exists())
|
||||
.throwMessage("登录名已存在");
|
||||
List<Integer> companyIds = lambdaQuery()
|
||||
.select(AppUser::getCompanyId)
|
||||
.eq(AppUser::getIsPrimary, true)
|
||||
|
|
@ -154,24 +152,46 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
.map(TBaseCustomer::getAgencyCompanyName).collect(Collectors.toList())));
|
||||
}
|
||||
String encodePassword = PASSWORDENCODER.encode(request.getPassword());
|
||||
AppUser user = new AppUser()
|
||||
.setLoginName(request.getLoginName())
|
||||
.setName(request.getUserName())
|
||||
.setAvatar(request.getAvatar())
|
||||
.setEmail(request.getEmail())
|
||||
.setPhone(request.getPhone())
|
||||
.setAreaId(request.getAreaId())
|
||||
.setTitleId(request.getTitleId())
|
||||
.setPassword(encodePassword)
|
||||
.setCompanyId(StrUtil.join(",", request.getCompanyIds()))
|
||||
.setIsPrimary(true)
|
||||
.setLanguageCode(request.getLanguageCode())
|
||||
.setSalesUserName(request.getSalesUserName())
|
||||
.setCreateBy(AdminUserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now())
|
||||
.setState(UserState.ToBeActivated.getState())
|
||||
.setExpireTime(LocalDateTime.of(LocalDateTime.now().getYear(), 12, 31, 8, 0, 0).toLocalDate());
|
||||
save(user);
|
||||
AppUser user=lambdaQuery().eq(AppUser::getLoginName, request.getLoginName()).one();
|
||||
if (Objects.nonNull(user)){
|
||||
VUtils.trueThrowBusinessError(!user.getIsDel()).throwMessage("登录名已存在");
|
||||
user.setIsDel(false)
|
||||
.setName(request.getUserName())
|
||||
.setAvatar(request.getAvatar())
|
||||
.setEmail(request.getEmail())
|
||||
.setPhone(request.getPhone())
|
||||
.setAreaId(request.getAreaId())
|
||||
.setTitleId(request.getTitleId())
|
||||
.setPassword(encodePassword)
|
||||
.setCompanyId(StrUtil.join(",", request.getCompanyIds()))
|
||||
.setIsPrimary(true)
|
||||
.setLanguageCode(request.getLanguageCode())
|
||||
.setSalesUserName(request.getSalesUserName())
|
||||
.setUpdateBy(AdminUserUtil.getUserName())
|
||||
.setUpdateTime(LocalDateTime.now())
|
||||
.setState(UserState.ToBeActivated.getState())
|
||||
.setExpireTime(LocalDateTime.of(LocalDateTime.now().getYear(), 12, 31, 8, 0, 0).toLocalDate());
|
||||
updateById(user);
|
||||
}else {
|
||||
user = new AppUser()
|
||||
.setLoginName(request.getLoginName())
|
||||
.setName(request.getUserName())
|
||||
.setAvatar(request.getAvatar())
|
||||
.setEmail(request.getEmail())
|
||||
.setPhone(request.getPhone())
|
||||
.setAreaId(request.getAreaId())
|
||||
.setTitleId(request.getTitleId())
|
||||
.setPassword(encodePassword)
|
||||
.setCompanyId(StrUtil.join(",", request.getCompanyIds()))
|
||||
.setIsPrimary(true)
|
||||
.setLanguageCode(request.getLanguageCode())
|
||||
.setSalesUserName(request.getSalesUserName())
|
||||
.setCreateBy(AdminUserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now())
|
||||
.setState(UserState.ToBeActivated.getState())
|
||||
.setExpireTime(LocalDateTime.of(LocalDateTime.now().getYear(), 12, 31, 8, 0, 0).toLocalDate());
|
||||
save(user);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
|
|
@ -296,7 +316,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
|
||||
@Override
|
||||
public PageData<AppUserForAdminVO> searchAppUserForAdmin(SearchAppUserForAdminRequest request) {
|
||||
IPage<AppUser> page = lambdaQuery()
|
||||
Page<AppUser> page = lambdaQuery()
|
||||
.eq(AppUser::getIsDel, false)
|
||||
.eq(AppUser::getIsPrimary, true)
|
||||
.eq(Objects.nonNull(request.getUserState()), AppUser::getState, request.getUserState())
|
||||
|
|
@ -346,7 +366,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
if (Objects.nonNull(applyFor)) {
|
||||
vo.setKey("f-" + applyFor.getId()).setId(applyFor.getId()).setState(0);
|
||||
}
|
||||
return vo;
|
||||
return (Objects.isNull(request.getState()) || Objects.equals(request.getState(), vo.getState()))? vo:null;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -135,6 +135,6 @@ public class DictionaryItemTranslateServiceImpl extends ServiceImpl<DictionaryIt
|
|||
if (StrUtil.isNotBlank(value) || StrUtil.equals(language,Constant.DEFAULT_LANGUAGE_CODE)) {
|
||||
return value;
|
||||
}
|
||||
return baseMapper.getValueByCode(dictionaryCode, dictionaryItemCode, language);
|
||||
return baseMapper.getValueByCode(dictionaryCode, dictionaryItemCode, Constant.DEFAULT_LANGUAGE_CODE);
|
||||
}
|
||||
}
|
||||
|
|
@ -2,9 +2,13 @@ package com.nflg.mobilebroken.repository.service.impl;
|
|||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AdminFavoritesRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesMoveRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesTicketMoveRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.FavoritesUpdateRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.FavoritesVO;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
import com.nflg.mobilebroken.repository.entity.TicketFavorites;
|
||||
import com.nflg.mobilebroken.repository.entity.TicketFollow;
|
||||
import com.nflg.mobilebroken.repository.mapper.TicketFavoritesMapper;
|
||||
import com.nflg.mobilebroken.repository.service.ITicketFavoritesService;
|
||||
import com.nflg.mobilebroken.repository.service.ITicketFollowService;
|
||||
|
|
@ -40,7 +44,7 @@ public class TicketFavoritesServiceImpl extends ServiceImpl<TicketFavoritesMappe
|
|||
FavoritesVO vo=new FavoritesVO().setId(favorites.getId()).setName(favorites.getName());
|
||||
vo.setChildren(lambdaQuery().eq(TicketFavorites::getParentId,id).eq(TicketFavorites::getCreateBy,userId).list()
|
||||
.stream().map(f->new FavoritesVO().setId(f.getId()).setName(f.getName())).collect(Collectors.toList()));
|
||||
vo.setTickets(ticketService.getAdminFavorites(id));
|
||||
vo.setTickets(ticketService.getAdminFavorites(userId,id));
|
||||
return vo;
|
||||
}
|
||||
|
||||
|
|
@ -62,4 +66,38 @@ public class TicketFavoritesServiceImpl extends ServiceImpl<TicketFavoritesMappe
|
|||
lambdaUpdate().eq(TicketFavorites::getId,favoritesId).remove();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFavorites(FavoritesUpdateRequest request, Integer userId) {
|
||||
lambdaUpdate()
|
||||
.set(TicketFavorites::getName,request.getName())
|
||||
.eq(TicketFavorites::getId,request.getId())
|
||||
.eq(TicketFavorites::getCreateBy,userId)
|
||||
.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveFavorites(Integer userId, FavoritesMoveRequest request) {
|
||||
int orderNum=100000;
|
||||
if (Objects.nonNull(request.getNextFavoritesId())){
|
||||
orderNum=lambdaQuery()
|
||||
.eq(TicketFavorites::getId,request.getNextFavoritesId())
|
||||
.one().getOrderNum()/2;
|
||||
}
|
||||
lambdaUpdate()
|
||||
.set(TicketFavorites::getOrderNum,orderNum)
|
||||
.set(TicketFavorites::getParentId,request.getNewParentId())
|
||||
.eq(TicketFavorites::getId,request.getFavoritesId())
|
||||
.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void moveFavoritesTicket(Integer userId, FavoritesTicketMoveRequest request) {
|
||||
ticketFollowService.lambdaUpdate()
|
||||
.set(TicketFollow::getFavoritesId,request.getFavoritesId())
|
||||
.eq(TicketFollow::getTicketId,request.getTicketId())
|
||||
.eq(TicketFollow::getUserId,userId)
|
||||
.eq(TicketFollow::getFrom,(byte) 1)
|
||||
.update();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,18 +97,22 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
|
||||
@Override
|
||||
public IPage<AdminTicketVO> searchPage(AdminTicketSearchRequest request) {
|
||||
if (Objects.nonNull(request.getEndTime())){
|
||||
request.setEndTime(request.getEndTime().plusDays(1));
|
||||
if (Objects.nonNull(request.getFavouritesId())){
|
||||
return baseMapper.searchByFavouritesId(AdminUserUtil.getUserId(),request.getFavouritesId(), new Page<>(request.getPage(), request.getPageSize()));
|
||||
}else {
|
||||
if (Objects.nonNull(request.getEndTime())) {
|
||||
request.setEndTime(request.getEndTime().plusDays(1));
|
||||
}
|
||||
if (request.getType() == 2) {
|
||||
return baseMapper.searchFromAdminAndFollow(request, AdminUserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize()));
|
||||
} else if (request.getType() == 4) {
|
||||
Integer userId = AdminUserUtil.getUserId();
|
||||
List<Integer> tickerMangagers = adminUserService.getTickerMangagers();
|
||||
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
||||
return baseMapper.searchFromAdmin(request, userId, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
return new Page<>(request.getPage(), request.getPageSize(), 0);
|
||||
}
|
||||
if (request.getType() == 2) {
|
||||
return baseMapper.searchFromAdminAndFollow(request, AdminUserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize()));
|
||||
} else if (request.getType() == 4) {
|
||||
Integer userId=AdminUserUtil.getUserId();
|
||||
List<Integer> tickerMangagers=adminUserService.getTickerMangagers();
|
||||
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
||||
return baseMapper.searchFromAdmin(request, userId, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
return new Page<>(request.getPage(), request.getPageSize(), 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -304,7 +308,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<TicketVO> getAdminFavorites(Integer favoritesId) {
|
||||
return baseMapper.getAdminFavorites(favoritesId);
|
||||
public List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId) {
|
||||
return baseMapper.getAdminFavorites(userId,favoritesId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@
|
|||
SELECT t.id,t.`no`,t.title,t.state,t.urgency,t.component,t.question,t.solution,IF(u.is_primary,a1.area_name,a2.`name`) AS 'areaName'
|
||||
,d.customer_name AS 'companyName',u.company_id AS 'companyId',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',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'
|
||||
,d.model_no AS 'equipmentModel',d.shipment_date AS 'shipmentDate',true AS 'followed',auc.user_name AS 'cqm'
|
||||
,t.solve_time AS 'closeTime',u.name AS 'primaryUserName',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
|
||||
,t.handle_name AS 'handle'
|
||||
FROM ticket t
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
<select id="searchAllFromAdminAndFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
|
||||
SELECT t.id,t.`no`,t.title,t.state,t.urgency,t.component,t.question,t.solution,IF(u.is_primary,a1.area_name,a2.`name`) AS 'areaName'
|
||||
,d.customer_name AS 'companyName',u.company_id AS 'companyId',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',IF(tf.id IS NULL, false, true) AS 'followed'
|
||||
,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',u.name AS 'primaryUserName',auh.user_name AS 'currentHandle'
|
||||
,dt.cqm_person_name AS 'cqms',t.handle_name AS 'handle'
|
||||
FROM ticket t
|
||||
|
|
@ -218,6 +218,27 @@
|
|||
SELECT t.id,t.no,t.title
|
||||
FROM ticket_follow tf
|
||||
INNER JOIN ticket t ON tf.ticket_id=t.id
|
||||
WHERE tf.`from`=1 AND tf.favorites_id=#{favoritesId}
|
||||
WHERE tf.`from`=1 AND tf.user_id=#{userId} AND tf.favorites_id=#{favoritesId}
|
||||
</select>
|
||||
|
||||
<select id="searchByFavouritesId" resultType="com.nflg.mobilebroken.common.pojo.vo.AdminTicketVO">
|
||||
SELECT t.id,t.`no`,t.title,t.state,t.urgency,t.component,t.question,t.solution,IF(u.is_primary,a1.area_name,a2.`name`) AS 'areaName'
|
||||
,d.customer_name AS 'companyName',u.company_id AS 'companyId',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',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',u.name AS 'primaryUserName',auh.user_name AS 'currentHandle',dt.cqm_person_name AS 'cqms'
|
||||
,t.handle_name AS 'handle'
|
||||
FROM ticket t
|
||||
LEFT JOIN app_user u ON t.user_id=u.id
|
||||
LEFT JOIN t_base_customer c ON u.company_id=c.id
|
||||
LEFT JOIN t_base_area a1 ON u.area_id=a1.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.user_id=#{userId} AND tf.from=1 AND tf.favorites_id=#{favouritesId}
|
||||
LEFT JOIN device d ON t.device_no=d.device_no AND d.data_valid_state=1
|
||||
LEFT JOIN t_base_device_type dt ON d.device_type=dt.device_type
|
||||
LEFT JOIN dictionary_item di ON d.warranty_state=di.id
|
||||
LEFT JOIN admin_user auc ON t.cqm=auc.id
|
||||
LEFT JOIN admin_user auh ON t.current_handle=auh.id
|
||||
ORDER BY t.id DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue