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 用户信息
**/
@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())
.setCompanyName(device.getCustomerName())
.setHandle(handle)
.setSolution(ticket.getSolution())
.setSolutionAttachments(StrUtil.isNotBlank(ticket.getSolutionAttachments()) ? StrUtil.split(ticket.getSolutionAttachments(), ",") : Collections.emptyList())
.setEvaluate(getTicketEvaluate(ticket.getId()));
return ApiResult.success(vo);
}
@ -462,7 +464,7 @@ public class TicketController extends ControllerBase {
//推送消息
try {
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);
ChatMessageVO messageVO = new ChatMessageVO()
.setId(message.getId())

View File

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

View File

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

View File

@ -160,7 +160,7 @@ public class TiketController extends ControllerBase {
IPage<TicketVO> datas = ticketService.search(request, AppUserUtil.getUser());
return ApiResult.success(PageUtil.convert(datas, d -> {
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()));
}
return d;
@ -214,6 +214,8 @@ public class TiketController extends ControllerBase {
.setSolveTime(ticket.getSolveTime())
.setCompanyName(company.getAgencyCompanyName())
.setHandle(handle)
.setSolution(ticket.getSolution())
.setSolutionAttachments(StrUtil.isNotBlank(ticket.getSolutionAttachments()) ? StrUtil.split(ticket.getSolutionAttachments(), ",") : Collections.emptyList())
.setEvaluate(getTicketEvaluate(ticket.getId()));
return ApiResult.success(vo);
}

View File

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

View File

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

View File

@ -77,9 +77,9 @@ public class AppUserForAdminVO {
private Integer areaId;
/**
* 语言
* 语言编码
*/
private String languageName;
private String languageCode;
//下级账号
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 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> 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);
}
@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) {
TBaseDepartment department = departmentService.lambdaQuery()
.eq(TBaseDepartment::getId, departmentId)

View File

@ -179,6 +179,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
List<Integer> companyIds = lambdaQuery()
.select(AppUser::getCompanyId)
.eq(AppUser::getIsPrimary, true)
.ne(AppUser::getId, request.getId())
.list()
.stream()
.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.getName()), AppUser::getName, request.getName())
.page(new Page<>(request.getPage(), request.getPageSize()));
List<Language> languages= languageService.list();
return PageUtil.convert(page, d -> {
AppArea area = appAreaService.getById(d.getAreaId());
String createBy = "";
@ -261,7 +261,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setUserName(d.getName())
.setCompanyName(StrUtil.join(",", customers))
.setCompanyIds(companyIds)
.setLanguageName(languages.stream().filter(l->StrUtil.equals(l.getCode(),d.getLanguageCode())).findFirst().orElse(new Language()).getName())
.setLanguageCode(d.getLanguageCode())
.setName(d.getName())
.setEmail(d.getEmail())
.setPhone(d.getPhone())
@ -322,7 +322,6 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
}
});
List<AppUser> datas = baseMapper.selectList(queryWrapper);
List<Language> languages= languageService.list();
List<AppUserForAdminVO> vos = datas.stream().map(d -> {
AppArea area = appAreaService.getById(d.getAreaId());
AppUser createUser = getById(d.getCreateBy());
@ -339,7 +338,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setCompanyName(d.getCompanyId())
.setName(d.getSalesUserName())
.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())
.setAreaName(area.getName())
.setUserState(d.getState())
@ -369,7 +368,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
.setLoginName(d.getUserEmail())
.setUserName(d.getUserName())
.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())
.setEmail(d.getUserEmail())
.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())))
.throwMessage("你无权操作该工单");
ticket.setState(TicketState.ProcessingCompleted.getState());
ticket.setSolveTime(LocalDateTime.now());
ticket.setUpdateTime(LocalDateTime.now());
updateById(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'
,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'
,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
INNER JOIN t_base_customer c ON u.company_id=c.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 uu ON u.update_by=uu.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}
<if test="state != null">
AND u.state = #{state}
@ -73,7 +72,11 @@
)
</if>
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
INNER JOIN t_base_customer c ON u.company_id=c.id
INNER JOIN app_area a ON u.area_id=a.id

View File

@ -72,7 +72,8 @@
</sql>
<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
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a ON u.area_id=a.id
@ -83,7 +84,7 @@
</select>
<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
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a ON u.area_id=a.id
@ -94,7 +95,7 @@
</select>
<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
LEFT JOIN app_user u ON t.user_id=u.id
LEFT JOIN app_area a ON u.area_id=a.id