Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/service/AdminBaseAreaService.java
This commit is contained in:
commit
8df67903e3
|
|
@ -163,16 +163,16 @@ public class AppUserController extends ControllerBase {
|
||||||
return ApiResult.success(appUserService.searchAppUserForAdmin(request));
|
return ApiResult.success(appUserService.searchAppUserForAdmin(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 获取代理商子账号列表
|
// * 获取代理商子账号列表
|
||||||
*
|
// *
|
||||||
* @param id 主账号id
|
// * @param id 主账号id
|
||||||
*/
|
// */
|
||||||
@GetMapping("getChildrenOfAppUser")
|
// @GetMapping("getChildrenOfAppUser")
|
||||||
@MethodInfoMark(value = "获取代理商子账号列表", menuName = "代理商管理")
|
// @MethodInfoMark(value = "获取代理商子账号列表", menuName = "代理商管理")
|
||||||
public ApiResult<List<AppUserForAdminVO>> getChildrenOfAppUser(@Valid @RequestParam Integer id) {
|
// public ApiResult<List<AppUserForAdminVO>> getChildrenOfAppUser(@Valid @RequestParam Integer id) {
|
||||||
return ApiResult.success(appUserService.getChildrenOfAppUser(id));
|
// return ApiResult.success(appUserService.getChildrenOfAppUser(id));
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 启用/禁用代理商
|
* 启用/禁用代理商
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ public class BaseAreaController extends ControllerBase {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("getList")
|
@PostMapping("getList")
|
||||||
@MethodInfoMark(value = "获取区域列表" ,menuName = "区域管理")
|
|
||||||
public ApiResult<PageData<TBaseAreaVO>> getList(@RequestBody BaseAreaQuery query){
|
public ApiResult<PageData<TBaseAreaVO>> getList(@RequestBody BaseAreaQuery query){
|
||||||
//
|
//
|
||||||
return adminBaseAreaService.getList(query);
|
return adminBaseAreaService.getList(query);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nflg.mobilebroken.admin.controller;
|
package com.nflg.mobilebroken.admin.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
@ -92,6 +93,7 @@ public class CustomerController extends ControllerBase {
|
||||||
//检查公司名称是否已存在
|
//检查公司名称是否已存在
|
||||||
TBaseCustomer oldEnt = baseCustomerService.getById(customerDTO.getId());
|
TBaseCustomer oldEnt = baseCustomerService.getById(customerDTO.getId());
|
||||||
VUtils.trueThrow(Objects.isNull(oldEnt)).throwMessage(STATE.PageError,customerDTO.getAgencyCompanyName()+"公司不存在");
|
VUtils.trueThrow(Objects.isNull(oldEnt)).throwMessage(STATE.PageError,customerDTO.getAgencyCompanyName()+"公司不存在");
|
||||||
|
BeanUtil.copyProperties(customerDTO,oldEnt);
|
||||||
oldEnt.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
oldEnt.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
||||||
oldEnt.setDataModifyUserName(AdminUserUtil.getUserName());
|
oldEnt.setDataModifyUserName(AdminUserUtil.getUserName());
|
||||||
oldEnt.setDataModifyTime(LocalDateTime.now());
|
oldEnt.setDataModifyTime(LocalDateTime.now());
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.nflg.mobilebroken.admin.controller;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.nflg.mobilebroken.admin.pojo.dto.PositionDetailDTO;
|
import com.nflg.mobilebroken.admin.pojo.dto.PositionDetailDTO;
|
||||||
|
|
@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -51,7 +53,7 @@ public class PositionController extends ControllerBase {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("getList")
|
@PostMapping("getList")
|
||||||
@MethodInfoMark(value = "获取职位列表", menuName = "职位管理")
|
|
||||||
public ApiResult<PageData<TBasePosition>> getList(@RequestBody PositionQuery query) {
|
public ApiResult<PageData<TBasePosition>> getList(@RequestBody PositionQuery query) {
|
||||||
Page<TBasePosition> result = positionService.getList(new Page<>(query.getPage(), query.getPageSize()), query);
|
Page<TBasePosition> result = positionService.getList(new Page<>(query.getPage(), query.getPageSize()), query);
|
||||||
|
|
||||||
|
|
@ -65,16 +67,19 @@ public class PositionController extends ControllerBase {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("getPositionDetail")
|
@GetMapping("getPositionDetail")
|
||||||
@MethodInfoMark(value = "获取职位明细", menuName = "职位管理")
|
|
||||||
public ApiResult<PositionDetailVO> getPositionDetail(@RequestParam("id") Integer id) {
|
public ApiResult<PositionDetailVO> getPositionDetail(@RequestParam("id") Integer id) {
|
||||||
TBasePosition ent = positionService.getById(id);
|
TBasePosition ent = positionService.getById(id);
|
||||||
VUtils.trueThrow(null == ent).throwMessage(STATE.ParamErr, "职位不存在");
|
VUtils.trueThrow(null == ent).throwMessage(STATE.ParamErr, "职位不存在");
|
||||||
|
|
||||||
PositionDetailVO result = Convert.convert(PositionDetailVO.class, ent);
|
PositionDetailVO result = Convert.convert(PositionDetailVO.class, ent);
|
||||||
List<Language> allLanguage = languageService.lambdaQuery().eq(Language::getEnable, true).list();
|
List<Language> allLanguage = languageService.lambdaQuery().eq(Language::getEnable, true).list();
|
||||||
List<PositionLanguageVO> positionLanguage = JSON.parseArray(ent.getPositionLanguage(), PositionLanguageVO.class);
|
Map<String, String> positionLanguageMp=new HashMap<>();
|
||||||
Map<String, String> positionLanguageMp = positionLanguage.stream()
|
if(StrUtil.isNotBlank(ent.getPositionLanguage())) {
|
||||||
.collect(Collectors.toMap(PositionLanguageVO::getCode, PositionLanguageVO::getLanguageValue));
|
List<PositionLanguageVO> positionLanguage = JSON.parseArray(ent.getPositionLanguage(), PositionLanguageVO.class);
|
||||||
|
positionLanguageMp = positionLanguage.stream()
|
||||||
|
.collect(Collectors.toMap(PositionLanguageVO::getCode, PositionLanguageVO::getLanguageValue));
|
||||||
|
}
|
||||||
List<PositionLanguageVO> positionLanguageResult = Convert.toList(PositionLanguageVO.class, allLanguage);
|
List<PositionLanguageVO> positionLanguageResult = Convert.toList(PositionLanguageVO.class, allLanguage);
|
||||||
for (PositionLanguageVO lan : positionLanguageResult) {
|
for (PositionLanguageVO lan : positionLanguageResult) {
|
||||||
if (positionLanguageMp.containsKey(lan.getCode())) {
|
if (positionLanguageMp.containsKey(lan.getCode())) {
|
||||||
|
|
@ -119,11 +124,12 @@ public class PositionController extends ControllerBase {
|
||||||
public ApiResult<Boolean> update(@Valid @RequestBody PositionDetailDTO positionDetailDto) {
|
public ApiResult<Boolean> update(@Valid @RequestBody PositionDetailDTO positionDetailDto) {
|
||||||
VUtils.trueThrow(positionDetailDto.getId()<=0).throwMessage(STATE.ParamErr,"编辑时ID不能等于0");
|
VUtils.trueThrow(positionDetailDto.getId()<=0).throwMessage(STATE.ParamErr,"编辑时ID不能等于0");
|
||||||
TBasePosition ent = Convert.convert(TBasePosition.class, positionDetailDto);
|
TBasePosition ent = Convert.convert(TBasePosition.class, positionDetailDto);
|
||||||
|
ent.setPositionCode(null);
|
||||||
ent.setPositionLanguage(JSON.toJSONString(positionDetailDto.getLanguage()));
|
ent.setPositionLanguage(JSON.toJSONString(positionDetailDto.getLanguage()));
|
||||||
ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
ent.setDataModifyUserNo(AdminUserUtil.getUserNo());
|
||||||
ent.setDataModifyUserName(AdminUserUtil.getUserName());
|
ent.setDataModifyUserName(AdminUserUtil.getUserName());
|
||||||
ent.setDataModifyTime(LocalDateTime.now());
|
ent.setDataModifyTime(LocalDateTime.now());
|
||||||
positionService.save(ent);
|
positionService.updateById(ent);
|
||||||
return ApiResult.success(true);
|
return ApiResult.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import com.nflg.mobilebroken.admin.pojo.vo.PositionLanguageVO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -31,7 +32,7 @@ public class PositionDetailDTO {
|
||||||
/**
|
/**
|
||||||
* 职位属性 1-内部使用 2-外部使用 3-公用
|
* 职位属性 1-内部使用 2-外部使用 3-公用
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "属性不能为空")
|
@NotNull(message = "属性不能为空")
|
||||||
private Integer positionAttribute;
|
private Integer positionAttribute;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public class AdminBaseAreaService {
|
||||||
|
|
||||||
public ApiResult<PageData<TBaseAreaVO>> getList(@RequestBody BaseAreaQuery query){
|
public ApiResult<PageData<TBaseAreaVO>> getList(@RequestBody BaseAreaQuery query){
|
||||||
Page<TBaseAreaVO> result = baseAreaService.getList(new Page<>(query.getPage(),query.getPageSize()), query);
|
Page<TBaseAreaVO> result = baseAreaService.getList(new Page<>(query.getPage(),query.getPageSize()), query);
|
||||||
List<TBaseAreaVO> dataResult = Convert.toList(TBaseAreaVO.class, result);
|
List<TBaseAreaVO> dataResult = Convert.toList(TBaseAreaVO.class, result.getRecords());
|
||||||
if(StrUtil.isNotBlank(query.getAreaCodeOrName())){
|
if(StrUtil.isNotBlank(query.getAreaCodeOrName())){
|
||||||
List<TBaseAreaVO> allAreaList = Convert.toList(TBaseAreaVO.class,baseAreaService.lambdaQuery().eq(TBaseArea::getDelIs,0).list()) ;
|
List<TBaseAreaVO> allAreaList = Convert.toList(TBaseAreaVO.class,baseAreaService.lambdaQuery().eq(TBaseArea::getDelIs,0).list()) ;
|
||||||
Map<Long, TBaseAreaVO> collect = allAreaList.stream().collect(Collectors.toMap(TBaseAreaVO::getId, Function.identity()));
|
Map<Long, TBaseAreaVO> collect = allAreaList.stream().collect(Collectors.toMap(TBaseAreaVO::getId, Function.identity()));
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import java.time.Instant;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -43,8 +42,10 @@ public class TiketController extends ControllerBase {
|
||||||
@Resource
|
@Resource
|
||||||
private ITicketFollowService ticketFollowService;
|
private ITicketFollowService ticketFollowService;
|
||||||
|
|
||||||
|
// @Resource
|
||||||
|
// private ITicketChatService ticketChatService;
|
||||||
@Resource
|
@Resource
|
||||||
private ITicketChatService ticketChatService;
|
private TicketChatService ticketChatService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IAppUserService appUserService;
|
private IAppUserService appUserService;
|
||||||
|
|
@ -107,6 +108,14 @@ public class TiketController extends ControllerBase {
|
||||||
@PostMapping("/addTiket")
|
@PostMapping("/addTiket")
|
||||||
public ApiResult<Void> addTiket(@Valid @RequestBody TicketAddRequest request) {
|
public ApiResult<Void> addTiket(@Valid @RequestBody TicketAddRequest request) {
|
||||||
Integer ticketId = ticketService.add(request, AppUserUtil.getUserId());
|
Integer ticketId = ticketService.add(request, AppUserUtil.getUserId());
|
||||||
|
ticketChatService.add(new TicketChat()
|
||||||
|
.setTicketId(ticketId)
|
||||||
|
.setMessages(Collections.singletonList(new ChatMessageVO()
|
||||||
|
.setFrom("system")
|
||||||
|
.setSenderId(0)
|
||||||
|
.setSenderName("服务助手")
|
||||||
|
.setCreateTime(Instant.now())
|
||||||
|
.setContent("<b>正在为您分派工程师,请稍后</b><br/>工程师将尽快回复您,如需补充信息,请继续留言。"))));
|
||||||
adminMessageService.addCQMNotify(ticketId);
|
adminMessageService.addCQMNotify(ticketId);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
@ -171,11 +180,7 @@ public class TiketController extends ControllerBase {
|
||||||
**/
|
**/
|
||||||
@GetMapping("getChatMessages")
|
@GetMapping("getChatMessages")
|
||||||
public ApiResult<List<ChatMessageVO>> getChatMessages(@Valid @RequestParam @NotNull Integer ticketId) {
|
public ApiResult<List<ChatMessageVO>> getChatMessages(@Valid @RequestParam @NotNull Integer ticketId) {
|
||||||
TicketChat ticketChat=ticketChatService.findByTicketId(ticketId);
|
return ApiResult.success(ticketChatService.getMessages(ticketId));
|
||||||
if (Objects.isNull(ticketChat)){
|
|
||||||
return ApiResult.success(Collections.emptyList());
|
|
||||||
}
|
|
||||||
return ApiResult.success(ticketChat.getMessages());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -185,11 +190,17 @@ public class TiketController extends ControllerBase {
|
||||||
@PostMapping("addChatMessage")
|
@PostMapping("addChatMessage")
|
||||||
public ApiResult<Void> addChatMessage(@Valid @RequestBody AddChatMessageRequest request){
|
public ApiResult<Void> addChatMessage(@Valid @RequestBody AddChatMessageRequest request){
|
||||||
ChatMessageVO message = new ChatMessageVO()
|
ChatMessageVO message = new ChatMessageVO()
|
||||||
.setSenderId(Integer.toString(AppUserUtil.getUserId()))
|
.setFrom("app")
|
||||||
|
.setSenderId(AppUserUtil.getUserId())
|
||||||
|
.setSenderName(AppUserUtil.getUserName())
|
||||||
.setContent(request.getContent())
|
.setContent(request.getContent())
|
||||||
.setCreateTime(Instant.now())
|
.setCreateTime(Instant.now())
|
||||||
.setAttachments(request.getAttachments());
|
.setAttachments(request.getAttachments());
|
||||||
ticketChatService.pushMessage(request.getTicketId(),message);
|
// ticketChatService.pushMessage(request.getTicketId(),message);
|
||||||
|
// TicketChat chat=ticketChatService.findByTicketId(request.getTicketId());
|
||||||
|
// chat.getMessages().add(message);
|
||||||
|
// ticketChatService.save(chat);
|
||||||
|
ticketChatService.addMessage(request.getTicketId(), message);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,31 +2,41 @@ package com.nflg.mobilebroken.common.pojo.request;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class AccountAddRequest {
|
public class AccountAddRequest {
|
||||||
|
|
||||||
//登录名称
|
//登录名称
|
||||||
|
@NotBlank
|
||||||
private String loginName;
|
private String loginName;
|
||||||
|
|
||||||
//用户名
|
//用户名
|
||||||
|
@NotBlank
|
||||||
private String userName;
|
private String userName;
|
||||||
|
|
||||||
//手机号码
|
//手机号码
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
//邮箱
|
//邮箱
|
||||||
|
@NotBlank
|
||||||
private String email;
|
private String email;
|
||||||
|
|
||||||
//部门id
|
//部门id
|
||||||
|
@NotNull
|
||||||
private Integer departmentId;
|
private Integer departmentId;
|
||||||
|
|
||||||
//职位id
|
//职位id
|
||||||
|
@NotNull
|
||||||
private Integer titleId;
|
private Integer titleId;
|
||||||
|
|
||||||
//用户号
|
//用户号
|
||||||
|
@NotBlank
|
||||||
private String userCode;
|
private String userCode;
|
||||||
|
|
||||||
//是否启用
|
//是否启用
|
||||||
|
@NotNull
|
||||||
private Boolean enabled;
|
private Boolean enabled;
|
||||||
|
|
||||||
//头像
|
//头像
|
||||||
|
|
|
||||||
|
|
@ -34,5 +34,5 @@ public class MenuAddRequest {
|
||||||
|
|
||||||
// 是否显示
|
// 是否显示
|
||||||
@NotNull
|
@NotNull
|
||||||
private boolean isShow;
|
private boolean show;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
|
|
@ -63,4 +64,7 @@ public class AppUserForAdminVO {
|
||||||
|
|
||||||
//是否主账号
|
//是否主账号
|
||||||
private boolean isPrimary;
|
private boolean isPrimary;
|
||||||
|
|
||||||
|
//下级账号
|
||||||
|
private List<AppUserForAdminVO> children;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,11 @@ import java.util.List;
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
public class ChatMessageVO {
|
public class ChatMessageVO {
|
||||||
|
|
||||||
|
//来源
|
||||||
|
private String from;
|
||||||
|
|
||||||
// 发送者id
|
// 发送者id
|
||||||
private String senderId;
|
private Integer senderId;
|
||||||
|
|
||||||
// 发送者名称
|
// 发送者名称
|
||||||
private String senderName;
|
private String senderName;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class MenuVO {
|
||||||
private boolean enable;
|
private boolean enable;
|
||||||
|
|
||||||
// 是否显示
|
// 是否显示
|
||||||
private boolean isShow;
|
private boolean show;
|
||||||
|
|
||||||
// 创建人
|
// 创建人
|
||||||
private String createBy;
|
private String createBy;
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class TBaseAreaVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 预期名称
|
* 预期名称
|
||||||
*/
|
*/
|
||||||
private Long areaName;
|
private String areaName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
package com.nflg.mobilebroken.repository.entity;
|
package com.nflg.mobilebroken.repository.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 后台-菜单
|
* 后台-菜单
|
||||||
|
|
@ -56,7 +58,8 @@ public class AdminMenu implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 是否显示
|
* 是否显示
|
||||||
*/
|
*/
|
||||||
private Boolean isShow;
|
@TableField(value = "`show`")
|
||||||
|
private Boolean show;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序
|
* 排序
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.nflg.mobilebroken.repository.entity;
|
||||||
|
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO;
|
import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
import org.springframework.data.annotation.Id;
|
import org.springframework.data.annotation.Id;
|
||||||
import org.springframework.data.mongodb.core.mapping.Document;
|
import org.springframework.data.mongodb.core.mapping.Document;
|
||||||
|
|
||||||
|
|
@ -9,6 +10,7 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
@Document(collection = "TicketChat")
|
@Document(collection = "TicketChat")
|
||||||
public class TicketChat {
|
public class TicketChat {
|
||||||
|
|
||||||
|
|
@ -18,4 +20,4 @@ public class TicketChat {
|
||||||
private Integer ticketId;
|
private Integer ticketId;
|
||||||
|
|
||||||
private List<ChatMessageVO> messages = new ArrayList<>();
|
private List<ChatMessageVO> messages = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.nflg.mobilebroken.repository.service;
|
||||||
|
|
||||||
|
import com.nflg.mobilebroken.common.pojo.vo.ChatMessageVO;
|
||||||
|
import com.nflg.mobilebroken.repository.entity.TicketChat;
|
||||||
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||||
|
import org.springframework.data.mongodb.core.query.Criteria;
|
||||||
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
|
import org.springframework.data.mongodb.core.query.Update;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class TicketChatService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MongoTemplate mongoTemplate;
|
||||||
|
|
||||||
|
public void add(TicketChat ticketChat) {
|
||||||
|
mongoTemplate.save(ticketChat);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ChatMessageVO> getMessages(Integer ticketId) {
|
||||||
|
Query query = new Query(Criteria.where("ticketId").is(ticketId));
|
||||||
|
TicketChat ticketChat = mongoTemplate.findOne(query, TicketChat.class);
|
||||||
|
if (Objects.isNull(ticketChat)) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
} else {
|
||||||
|
return ticketChat.getMessages();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addMessage(Integer ticketId, ChatMessageVO newMessage) {
|
||||||
|
// 创建查询条件,查找 ticketId = ticketId 的 TicketChat
|
||||||
|
Query query = new Query(Criteria.where("ticketId").is(ticketId));
|
||||||
|
// 创建更新操作,向 messages 列表中添加新消息
|
||||||
|
Update update = new Update().push("messages", newMessage);
|
||||||
|
// 执行更新操作
|
||||||
|
mongoTemplate.findAndModify(query, update, TicketChat.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -71,7 +71,7 @@ public class AdminMenuServiceImpl extends ServiceImpl<AdminMenuMapper, AdminMenu
|
||||||
.setUrl(request.getUrl())
|
.setUrl(request.getUrl())
|
||||||
.setSort(request.getSort())
|
.setSort(request.getSort())
|
||||||
.setEnable(request.isEnable())
|
.setEnable(request.isEnable())
|
||||||
.setIsShow(request.isShow())
|
.setShow(request.isShow())
|
||||||
.setParentId(request.getParentId())
|
.setParentId(request.getParentId())
|
||||||
.setCreateBy(AdminUserUtil.getUserName())
|
.setCreateBy(AdminUserUtil.getUserName())
|
||||||
.setCreateTime(LocalDateTime.now());
|
.setCreateTime(LocalDateTime.now());
|
||||||
|
|
@ -87,7 +87,7 @@ public class AdminMenuServiceImpl extends ServiceImpl<AdminMenuMapper, AdminMenu
|
||||||
.setUrl(request.getUrl())
|
.setUrl(request.getUrl())
|
||||||
.setSort(request.getSort())
|
.setSort(request.getSort())
|
||||||
.setEnable(request.isEnable())
|
.setEnable(request.isEnable())
|
||||||
.setIsShow(request.isShow())
|
.setShow(request.isShow())
|
||||||
.setParentId(request.getParentId())
|
.setParentId(request.getParentId())
|
||||||
.setUpdateBy(AdminUserUtil.getUserName())
|
.setUpdateBy(AdminUserUtil.getUserName())
|
||||||
.setUpdateTime(LocalDateTime.now());
|
.setUpdateTime(LocalDateTime.now());
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.chrono.ChronoLocalDate;
|
import java.time.chrono.ChronoLocalDate;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
@ -178,25 +179,27 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
||||||
if (Objects.nonNull(d.getUpdateBy())) {
|
if (Objects.nonNull(d.getUpdateBy())) {
|
||||||
updateBy = getById(d.getUpdateBy()).getName();
|
updateBy = getById(d.getUpdateBy()).getName();
|
||||||
}
|
}
|
||||||
|
List<Integer> companyIds = Arrays.stream(d.getCompanyId().split(",")).filter(StrUtil::isNotBlank).map(Integer::valueOf).collect(Collectors.toList());
|
||||||
|
List<String> customers = customerService.listByIds(companyIds).stream().map(TBaseCustomer::getAgencyCompanyName).collect(Collectors.toList());
|
||||||
return new AppUserForAdminVO()
|
return new AppUserForAdminVO()
|
||||||
.setId(d.getId())
|
.setId(d.getId())
|
||||||
.setAvatar(d.getAvatar())
|
.setAvatar(d.getAvatar())
|
||||||
.setLoginName(d.getLoginName())
|
.setLoginName(d.getLoginName())
|
||||||
.setUserName(d.getName())
|
.setUserName(d.getName())
|
||||||
.setCompanyName(d.getCompanyId())
|
.setCompanyName(StrUtil.join(",", customers))
|
||||||
.setName(d.getSalesUserName())
|
.setName(d.getSalesUserName())
|
||||||
.setEmail(d.getEmail())
|
.setEmail(d.getEmail())
|
||||||
.setSalesUserName(d.getSalesUserName())
|
.setSalesUserName(d.getSalesUserName())
|
||||||
.setAreaName(area.getName())
|
.setAreaName(area.getName())
|
||||||
.setEnable(d.getEnable())
|
.setEnable(d.getEnable())
|
||||||
.setEnable(d.getEnable())
|
|
||||||
.setExpireTime(d.getExpireTime())
|
.setExpireTime(d.getExpireTime())
|
||||||
.setCreateBy(appUser.getName())
|
.setCreateBy(appUser.getName())
|
||||||
.setCreateTime(d.getCreateTime())
|
.setCreateTime(d.getCreateTime())
|
||||||
.setUpdateBy(updateBy)
|
.setUpdateBy(updateBy)
|
||||||
.setPrimary(true)
|
.setPrimary(true)
|
||||||
.setState(d.getExpireTime().isAfter(ChronoLocalDate.from(LocalDateTime.now())) ? 1 : 2)
|
.setState(d.getExpireTime().isAfter(ChronoLocalDate.from(LocalDateTime.now())) ? 1 : 2)
|
||||||
.setLastLoginTime(d.getLastLoginTime());
|
.setLastLoginTime(d.getLastLoginTime())
|
||||||
|
.setChildren(getChildrenOfAppUser(d.getId()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
package com.nflg.mobilebroken.repository.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
@ -62,12 +63,10 @@ public class ParamConfigServiceImpl extends ServiceImpl<ParamConfigMapper, Param
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageData<ParamConfigVO> search(SearchConfigRequest request) {
|
public PageData<ParamConfigVO> search(SearchConfigRequest request) {
|
||||||
IPage<ParamConfig> page = new Page<>();
|
IPage<ParamConfig> page = lambdaQuery()
|
||||||
page.setCurrent(request.getPage());
|
.like(StrUtil.isNotBlank(request.getName()), ParamConfig::getName, request.getName())
|
||||||
page.setSize(request.getPageSize());
|
.like(StrUtil.isNotBlank(request.getCode()), ParamConfig::getCode, request.getCode())
|
||||||
lambdaQuery().like(ParamConfig::getName, request.getName())
|
.page(new Page<>(request.getPage(), request.getPageSize()));
|
||||||
.like(ParamConfig::getCode, request.getCode())
|
|
||||||
.page(page);
|
|
||||||
if (CollectionUtil.isEmpty(page.getRecords())) {
|
if (CollectionUtil.isEmpty(page.getRecords())) {
|
||||||
return new PageData<>();
|
return new PageData<>();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
<update id="delByIds">
|
<update id="delByIds">
|
||||||
update t_base_area set del_is=1 , data_modify_time=now(), data_modify_user_no=#{userNo},
|
update t_base_area set del_is=1 , data_modify_time=now(), data_modify_user_no=#{userNo},
|
||||||
data_modify_user_name=#{userName} where id in
|
data_modify_user_name=#{userName} where id in
|
||||||
<foreach collection="ids" item="=item" open="(" close=")" separator=",">
|
<foreach collection="ids" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</update>
|
</update>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
<sql id="whr">
|
<sql id="whr">
|
||||||
<if test="query.positionCode!=null and query.positionCode!=''">
|
<if test="query.positionCode!=null and query.positionCode!=''">
|
||||||
and position_code=#{positionCode}
|
and position_code=#{query.positionCode}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.positionName!=null and query.positionName!=''">
|
<if test="query.positionName!=null and query.positionName!=''">
|
||||||
and position_name=#{query.positionName}
|
and position_name=#{query.positionName}
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ public class CodeGenerator {
|
||||||
.enableChainModel()
|
.enableChainModel()
|
||||||
.enableFileOverride();
|
.enableFileOverride();
|
||||||
builder.controllerBuilder().disable();
|
builder.controllerBuilder().disable();
|
||||||
|
builder.addExclude("admin_menu");
|
||||||
})
|
})
|
||||||
.templateEngine(new FreemarkerTemplateEngine())
|
.templateEngine(new FreemarkerTemplateEngine())
|
||||||
.execute();
|
.execute();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue