Merge branch 'dev_1.1.0' into dev_1.0.0

topo_dev
xueqingkun 8 months ago
commit 3cc2651446

@ -0,0 +1,23 @@
package com.supervision.constant;
public enum RoleEnum {
ADMIN("1820688378166366209", "管理员"),
JINGZHEN_POLICE("1820688265587052546", "经侦民警");
private final String code;
private final String desc;
RoleEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public String getDesc() {
return desc;
}
}

@ -1,6 +1,7 @@
package com.supervision.demo.controller;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.supervision.demo.service.ModelMetricService;
import com.supervision.police.domain.ModelRecordType;
import com.supervision.police.domain.NoteRecordSplit;
@ -18,15 +19,15 @@ import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.ai.chat.ChatResponse;
import org.springframework.ai.chat.Generation;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.SystemMessage;
import org.springframework.ai.chat.messages.UserMessage;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.ollama.OllamaChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StopWatch;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.io.File;
import java.time.LocalDateTime;
@ -255,4 +256,26 @@ public class ExampleChatController {
log.info("分析的结果是:{}", content);
}
@PostMapping("chat")
public String chat(@RequestBody Map<String,String> messages) {
Prompt prompt = null;
if (StrUtil.isNotEmpty(messages.get("message"))){
prompt = new Prompt(new UserMessage(messages.get("message")));
}else {
prompt = new Prompt(List.of(new AssistantMessage(messages.get("assistantMessage")), new UserMessage(messages.get("userMessage"))));
}
ChatResponse call = chatClient.call(prompt);
Generation result = call.getResult();
String content = result.getOutput().getContent();
log.info("分析的结果是:{}", content);
if (StrUtil.isBlank(content)){
content = "{}";
}
return content;
}
}

@ -2,12 +2,15 @@ package com.supervision.police.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.supervision.config.BusinessException;
import com.supervision.constant.RoleEnum;
import com.supervision.police.domain.SystemUser;
import com.supervision.police.dto.MenuDTO;
import com.supervision.police.dto.user.*;
@ -182,16 +185,26 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
@Override
public boolean changePassWord(String account, String password) {
UserInfoDTO user = UserUtil.getUser();
// 账号不为空,且当前操作不是账号归属人出发 (需要管理员权限)
if (StrUtil.isNotEmpty(account) && !StrUtil.equals(user.getAccount(), account)){
long count = user.getUserRoleList().stream().filter(userRoleDTO -> StrUtil.equals(userRoleDTO.getRoleId(), RoleEnum.ADMIN.getCode())).count();
if (count == 0){
log.info("账号:{}不是管理员,不能修改其他账号密码", user.getAccount());
throw new BusinessException("您没有权限修改用户密码!");
}
}
Assert.notEmpty(password, "密码不能为空");
Long count = super.lambdaQuery().eq(SystemUser::getId, user.getId()).count();
if (count == 0){
String userCount = StrUtil.isEmpty(account) ? user.getAccount() : account;
SystemUser systemUser = super.lambdaQuery().eq(SystemUser::getAccount, userCount).one();
if (ObjUtil.isNull(systemUser)){
log.info("账号:{}不存在", account);
return false;
}
return super.lambdaUpdate().set(SystemUser::getUserPd, UserUtil.signPassword(password))
.eq(SystemUser::getId, user.getId()).update();
.eq(SystemUser::getId, systemUser.getId()).update();
}
}

Loading…
Cancel
Save