feat: 一些调整

This commit is contained in:
曹鹏飞 2025-02-16 21:06:08 +08:00
parent 2eba102e28
commit f3179d65c5
16 changed files with 64 additions and 17 deletions

View File

@ -263,4 +263,15 @@ public class AdminUserController extends ControllerBase {
} }
return ApiResult.success(); return ApiResult.success();
} }
/**
* 获取当前登录用户信息
* @return 用户信息
**/
@GetMapping("getInfo")
@ApiMark(moduleName = "账号管理", apiName = "获取当前登录用户信息",isPublic = true)
public ApiResult<AdminUserVO> getInfo() {
AdminUserVO adminUserVO = adminUserService.getInfo(AdminUserUtil.getUserId());
return ApiResult.success(adminUserVO);
}
} }

View File

@ -379,6 +379,8 @@ public class TicketController extends ControllerBase {
.setAreaName(appArea.getName()) .setAreaName(appArea.getName())
.setCompanyName(device.getCustomerName()) .setCompanyName(device.getCustomerName())
.setHandle(handle) .setHandle(handle)
.setSolution(ticket.getSolution())
.setSolutionAttachments(StrUtil.isNotBlank(ticket.getSolutionAttachments()) ? StrUtil.split(ticket.getSolutionAttachments(), ",") : Collections.emptyList())
.setEvaluate(getTicketEvaluate(ticket.getId())); .setEvaluate(getTicketEvaluate(ticket.getId()));
return ApiResult.success(vo); return ApiResult.success(vo);
} }
@ -462,7 +464,7 @@ public class TicketController extends ControllerBase {
//推送消息 //推送消息
try { try {
String zone = MultilingualUtil.getZone(); String zone = MultilingualUtil.getZone();
ZoneId zoneId = ZoneId.of(Objects.isNull(zone) ? "Asia/Shanghai" : zone); ZoneId zoneId = ZoneId.of(zone);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).withZone(zoneId); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).withZone(zoneId);
ChatMessageVO messageVO = new ChatMessageVO() ChatMessageVO messageVO = new ChatMessageVO()
.setId(message.getId()) .setId(message.getId())

View File

@ -63,6 +63,7 @@ public class AdminController extends ControllerBase {
.setExtra("roles", roleCodes.stream().map(RoleVO::getCode).collect(Collectors.toList()))); .setExtra("roles", roleCodes.stream().map(RoleVO::getCode).collect(Collectors.toList())));
SaTokenInfo tokenInfo = SaTokenAdminUtil.getTokenInfo(); SaTokenInfo tokenInfo = SaTokenAdminUtil.getTokenInfo();
return ApiResult.success(new AdminLoginVO() return ApiResult.success(new AdminLoginVO()
.setUserId(user.getId())
.setToken(tokenInfo.getTokenValue()) .setToken(tokenInfo.getTokenValue())
.setExpire(tokenInfo.getTokenTimeout()) .setExpire(tokenInfo.getTokenTimeout())
.setRoles(roleCodes.stream().map(RoleVO::getName).collect(Collectors.toList()))); .setRoles(roleCodes.stream().map(RoleVO::getName).collect(Collectors.toList())));

View File

@ -55,6 +55,7 @@ public class AppController extends ControllerBase {
appUserService.updateById(user); appUserService.updateById(user);
SaTokenInfo tokenInfo = SaTokenAppUtil.getTokenInfo(); SaTokenInfo tokenInfo = SaTokenAppUtil.getTokenInfo();
return ApiResult.success(new AppLoginVO() return ApiResult.success(new AppLoginVO()
.setUserId(user.getId())
.setToken(tokenInfo.getTokenValue()) .setToken(tokenInfo.getTokenValue())
.setExpire(tokenInfo.getTokenTimeout()) .setExpire(tokenInfo.getTokenTimeout())
.setLanguageCode(user.getLanguageCode())); .setLanguageCode(user.getLanguageCode()));

View File

@ -160,7 +160,7 @@ public class TiketController extends ControllerBase {
IPage<TicketVO> datas = ticketService.search(request, AppUserUtil.getUser()); IPage<TicketVO> datas = ticketService.search(request, AppUserUtil.getUser());
return ApiResult.success(PageUtil.convert(datas, d -> { return ApiResult.success(PageUtil.convert(datas, d -> {
if (StrUtil.isNotBlank(d.getHandle())) { if (StrUtil.isNotBlank(d.getHandle())) {
List<AdminUser> adminUsers = adminUserService.listByIds(StrUtil.split(",", d.getHandle())); List<AdminUser> adminUsers = adminUserService.listByIds(StrUtil.split(d.getHandle(),",").stream().map(Integer::parseInt).collect(Collectors.toList()));
d.setHandleBy(adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.toList())); d.setHandleBy(adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.toList()));
} }
return d; return d;
@ -214,6 +214,8 @@ public class TiketController extends ControllerBase {
.setSolveTime(ticket.getSolveTime()) .setSolveTime(ticket.getSolveTime())
.setCompanyName(company.getAgencyCompanyName()) .setCompanyName(company.getAgencyCompanyName())
.setHandle(handle) .setHandle(handle)
.setSolution(ticket.getSolution())
.setSolutionAttachments(StrUtil.isNotBlank(ticket.getSolutionAttachments()) ? StrUtil.split(ticket.getSolutionAttachments(), ",") : Collections.emptyList())
.setEvaluate(getTicketEvaluate(ticket.getId())); .setEvaluate(getTicketEvaluate(ticket.getId()));
return ApiResult.success(vo); return ApiResult.success(vo);
} }

View File

@ -9,6 +9,8 @@ import java.util.List;
@Accessors(chain = true) @Accessors(chain = true)
public class AdminLoginVO { public class AdminLoginVO {
private Integer userId;
private String token; private String token;
private Long expire; private Long expire;

View File

@ -7,6 +7,8 @@ import lombok.experimental.Accessors;
@Accessors(chain = true) @Accessors(chain = true)
public class AppLoginVO { public class AppLoginVO {
private Integer userId;
private String token; private String token;
private Long expire; private Long expire;

View File

@ -77,9 +77,9 @@ public class AppUserForAdminVO {
private Integer areaId; private Integer areaId;
/** /**
* 语言 * 语言编码
*/ */
private String languageName; private String languageCode;
//下级账号 //下级账号
private List<AppUserForAdminVO> children; private List<AppUserForAdminVO> children;

View File

@ -95,7 +95,7 @@ public class AppUserVO {
} }
/** /**
* 语言 * 语言编码
*/ */
private String languageName; private String languageCode;
} }

View File

@ -95,6 +95,12 @@ public class TicketInfoVO {
//评价 //评价
private TicketEvaluateVO evaluate; private TicketEvaluateVO evaluate;
//解决方案
private String solution;
//解决方案附件
private List<String> solutionAttachments;
/** /**
* 解决时间 * 解决时间
*/ */

View File

@ -45,4 +45,6 @@ public interface IAdminUserService extends IService<AdminUser> {
List<AdminUser> getByTitleCode(String titleCode); List<AdminUser> getByTitleCode(String titleCode);
List<AdminUser> getForAccountReview(); List<AdminUser> getForAccountReview();
AdminUserVO getInfo(Integer userId);
} }

View File

@ -259,6 +259,20 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
return getBaseMapper().getByRoleCode(Constant.ROLE_CODE_ACCOUNT_REVIEW); return getBaseMapper().getByRoleCode(Constant.ROLE_CODE_ACCOUNT_REVIEW);
} }
@Override
public AdminUserVO getInfo(Integer userId) {
AdminUser user=getById(userId);
TBasePosition title=positionService.getById(user.getTitleId());
return new AdminUserVO()
.setId(user.getId())
.setAvatar(user.getAvatar())
.setEmail(user.getEmail())
.setPhone(user.getPhone())
.setUserName(user.getUserName())
.setTitleName(title.getPositionName())
.setDepartmentName(getDepartmentName(user.getDepartmentId()));
}
private String getDepartmentName(Long departmentId) { private String getDepartmentName(Long departmentId) {
TBaseDepartment department = departmentService.lambdaQuery() TBaseDepartment department = departmentService.lambdaQuery()
.eq(TBaseDepartment::getId, departmentId) .eq(TBaseDepartment::getId, departmentId)

View File

@ -179,6 +179,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
List<Integer> companyIds = lambdaQuery() List<Integer> companyIds = lambdaQuery()
.select(AppUser::getCompanyId) .select(AppUser::getCompanyId)
.eq(AppUser::getIsPrimary, true) .eq(AppUser::getIsPrimary, true)
.ne(AppUser::getId, request.getId())
.list() .list()
.stream() .stream()
.map(AppUser::getCompanyId) .map(AppUser::getCompanyId)
@ -232,7 +233,6 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.like(StrUtil.isNotBlank(request.getLoginName()), AppUser::getLoginName, request.getLoginName()) .like(StrUtil.isNotBlank(request.getLoginName()), AppUser::getLoginName, request.getLoginName())
.like(StrUtil.isNotBlank(request.getName()), AppUser::getName, request.getName()) .like(StrUtil.isNotBlank(request.getName()), AppUser::getName, request.getName())
.page(new Page<>(request.getPage(), request.getPageSize())); .page(new Page<>(request.getPage(), request.getPageSize()));
List<Language> languages= languageService.list();
return PageUtil.convert(page, d -> { return PageUtil.convert(page, d -> {
AppArea area = appAreaService.getById(d.getAreaId()); AppArea area = appAreaService.getById(d.getAreaId());
String createBy = ""; String createBy = "";
@ -261,7 +261,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setUserName(d.getName()) .setUserName(d.getName())
.setCompanyName(StrUtil.join(",", customers)) .setCompanyName(StrUtil.join(",", customers))
.setCompanyIds(companyIds) .setCompanyIds(companyIds)
.setLanguageName(languages.stream().filter(l->StrUtil.equals(l.getCode(),d.getLanguageCode())).findFirst().orElse(new Language()).getName()) .setLanguageCode(d.getLanguageCode())
.setName(d.getName()) .setName(d.getName())
.setEmail(d.getEmail()) .setEmail(d.getEmail())
.setPhone(d.getPhone()) .setPhone(d.getPhone())
@ -322,7 +322,6 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
} }
}); });
List<AppUser> datas = baseMapper.selectList(queryWrapper); List<AppUser> datas = baseMapper.selectList(queryWrapper);
List<Language> languages= languageService.list();
List<AppUserForAdminVO> vos = datas.stream().map(d -> { List<AppUserForAdminVO> vos = datas.stream().map(d -> {
AppArea area = appAreaService.getById(d.getAreaId()); AppArea area = appAreaService.getById(d.getAreaId());
AppUser createUser = getById(d.getCreateBy()); AppUser createUser = getById(d.getCreateBy());
@ -339,7 +338,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setCompanyName(d.getCompanyId()) .setCompanyName(d.getCompanyId())
.setName(d.getSalesUserName()) .setName(d.getSalesUserName())
.setEmail(d.getEmail()) .setEmail(d.getEmail())
.setLanguageName(languages.stream().filter(l->StrUtil.equals(l.getCode(),d.getLanguageCode())).findFirst().orElse(new Language()).getName()) .setLanguageCode(d.getLanguageCode())
.setSalesUserName(d.getSalesUserName()) .setSalesUserName(d.getSalesUserName())
.setAreaName(area.getName()) .setAreaName(area.getName())
.setUserState(d.getState()) .setUserState(d.getState())
@ -369,7 +368,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setLoginName(d.getUserEmail()) .setLoginName(d.getUserEmail())
.setUserName(d.getUserName()) .setUserName(d.getUserName())
.setCompanyName(company.getAgencyCompanyName()) .setCompanyName(company.getAgencyCompanyName())
.setLanguageName(languages.stream().filter(l->StrUtil.equals(l.getCode(),d.getLanguageCode())).findFirst().orElse(new Language()).getName()) .setLanguageCode(d.getLanguageCode())
.setName(d.getSalesUserName()) .setName(d.getSalesUserName())
.setEmail(d.getUserEmail()) .setEmail(d.getUserEmail())
.setSalesUserName(d.getSalesUserName()) .setSalesUserName(d.getSalesUserName())

View File

@ -153,6 +153,7 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
.noneMatch(uid->StrUtil.equals(uid, AdminUserUtil.getUserId().toString()))) .noneMatch(uid->StrUtil.equals(uid, AdminUserUtil.getUserId().toString())))
.throwMessage("你无权操作该工单"); .throwMessage("你无权操作该工单");
ticket.setState(TicketState.ProcessingCompleted.getState()); ticket.setState(TicketState.ProcessingCompleted.getState());
ticket.setSolveTime(LocalDateTime.now());
ticket.setUpdateTime(LocalDateTime.now()); ticket.setUpdateTime(LocalDateTime.now());
updateById(ticket); updateById(ticket);
return ticket; return ticket;

View File

@ -52,14 +52,13 @@
,p.position_name AS 'title',u.expire_time AS 'expireTime',c.agency_company_name AS 'companyName',u.login_name AS 'loginName' ,p.position_name AS 'title',u.expire_time AS 'expireTime',c.agency_company_name AS 'companyName',u.login_name AS 'loginName'
,u.`name`,u.email,u.avatar,a.`name` AS 'areaName',uc.`name` AS 'createBy',u.create_time AS 'createTime',uu.`name` AS 'updateBy' ,u.`name`,u.email,u.avatar,a.`name` AS 'areaName',uc.`name` AS 'createBy',u.create_time AS 'createTime',uu.`name` AS 'updateBy'
,u.update_time AS 'updateTime',u.last_login_time AS 'lastLoginTime',u.expire_time AS 'expireTime',u.is_primary AS 'isPrimary' ,u.update_time AS 'updateTime',u.last_login_time AS 'lastLoginTime',u.expire_time AS 'expireTime',u.is_primary AS 'isPrimary'
,IF(u.expire_time>now(),1,2) AS 'state',l.name AS 'languageName' ,IF(u.expire_time>now(),1,2) AS 'state',u.language_code AS 'languageCode'
FROM app_user u FROM app_user u
INNER JOIN t_base_customer c ON u.company_id=c.id INNER JOIN t_base_customer c ON u.company_id=c.id
INNER JOIN app_area a ON u.area_id=a.id INNER JOIN app_area a ON u.area_id=a.id
LEFT JOIN app_user uc ON u.create_by=uc.id LEFT JOIN app_user uc ON u.create_by=uc.id
LEFT JOIN app_user uu ON u.update_by=uu.id LEFT JOIN app_user uu ON u.update_by=uu.id
LEFT JOIN t_base_position p ON u.title_id=p.id LEFT JOIN t_base_position p ON u.title_id=p.id
LEFT JOIN language l ON u.language_code=l.code
WHERE u.is_primary=false AND u.company_id=#{companyId} WHERE u.is_primary=false AND u.company_id=#{companyId}
<if test="state != null"> <if test="state != null">
AND u.state = #{state} AND u.state = #{state}
@ -73,7 +72,11 @@
) )
</if> </if>
UNION UNION
SELECT u.id,u.user_phone AS 'phone',0 AS 'userState',u.title_id AS 'titleId',u.area_id AS 'areaId',u.company_id AS 'companyId',p.position_name AS 'title',null AS 'expireTime',c.agency_company_name AS 'companyName',u.user_email AS 'loginName',u.user_name AS 'name',u.user_email AS 'email',u.user_avatar AS 'avatar',a.`name` AS 'areaName',uc.`name` AS 'createBy',u.create_time AS 'createTime',null AS 'updateBy',null AS 'updateTime',null AS 'lastLoginTime',null AS 'expireTime',false AS 'isPrimary',0 AS 'state' SELECT u.id,u.user_phone AS 'phone',0 AS 'userState',u.title_id AS 'titleId',u.area_id AS 'areaId',u.company_id AS 'companyId'
,p.position_name AS 'title',null AS 'expireTime',c.agency_company_name AS 'companyName',u.user_email AS 'loginName'
,u.user_name AS 'name',u.user_email AS 'email',u.user_avatar AS 'avatar',a.`name` AS 'areaName',uc.`name` AS 'createBy'
,u.create_time AS 'createTime',null AS 'updateBy',null AS 'updateTime',null AS 'lastLoginTime',null AS 'expireTime'
,false AS 'isPrimary',0 AS 'state',u.language_code AS 'languageCode'
FROM app_user_applyfor u FROM app_user_applyfor u
INNER JOIN t_base_customer c ON u.company_id=c.id INNER JOIN t_base_customer c ON u.company_id=c.id
INNER JOIN app_area a ON u.area_id=a.id INNER JOIN app_area a ON u.area_id=a.id

View File

@ -72,7 +72,8 @@
</sql> </sql>
<select id="searchMy" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO"> <select id="searchMy" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT t.*,a.`name` AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed',u.`name` AS 'createBy',IF(tf.id IS NULL, false, true) AS 'followed' SELECT t.*,a.`name` AS 'areaName',IF(tf.id IS NULL, false, true) AS 'followed',u.`name` AS 'createBy'
,IF(tf.id IS NULL, false, true) AS 'followed',t.handle
FROM ticket t FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a ON u.area_id=a.id LEFT JOIN app_area a ON u.area_id=a.id
@ -83,7 +84,7 @@
</select> </select>
<select id="searchFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO"> <select id="searchFollow" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT t.*,a.`name` AS 'areaName',true AS 'followed',u.`name` AS 'createBy',true AS 'followed' SELECT t.*,a.`name` AS 'areaName',true AS 'followed',u.`name` AS 'createBy',true AS 'followed',t.handle
FROM ticket t FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a ON u.area_id=a.id LEFT JOIN app_area a ON u.area_id=a.id
@ -94,7 +95,7 @@
</select> </select>
<select id="searchArea" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO"> <select id="searchArea" resultType="com.nflg.mobilebroken.common.pojo.vo.TicketVO">
SELECT t.*,a.`name` AS 'areaName',u.`name` AS 'createBy' SELECT t.*,a.`name` AS 'areaName',u.`name` AS 'createBy',t.handle
FROM ticket t FROM ticket t
LEFT JOIN app_user u ON t.user_id=u.id LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a ON u.area_id=a.id LEFT JOIN app_area a ON u.area_id=a.id