diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..087d260
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,7 @@
+FROM openjdk:17
+EXPOSE 8080
+
+VOLUME /tmp
+ADD target/dify-backend-0.0.1-SNAPSHOT.jar /app.jar
+RUN bash -c 'touch /app.jar'
+ENTRYPOINT ["java","-jar","/app.jar"]
diff --git a/pom.xml b/pom.xml
index 8173865..931a44a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
com.zsc.edu
- dify
+ dify-backend
0.0.1-SNAPSHOT
dify-backend
dify-backend
@@ -31,6 +31,7 @@
3.5.11
1.6.2
2.0.53
+ 0.44.0
@@ -96,7 +97,7 @@
org.postgresql
postgresql
- 42.6
+ 42.7.3
com.baomidou
@@ -118,16 +119,6 @@
lombok
true
-
-
-
-
-
-
-
-
-
-
org.mapstruct
mapstruct
@@ -230,6 +221,42 @@
+
+ io.fabric8
+ docker-maven-plugin
+ ${docker-maven-plugin.version}
+
+
+ docker-build
+ package
+
+ build
+
+
+
+
+
+ registry.cn-hangzhou.aliyuncs.com
+
+ vertoryao
+ 71127217311Yao
+
+
+
+
+ registry.cn-hangzhou.aliyuncs.com/harry_yao/${project.artifactId}:latest
+ registry.cn-hangzhou.aliyuncs.com/harry_yao/${project.artifactId}
+
+ ${project.basedir}/Dockerfile
+
+
+
+
+ target/${project.build.finalName}.jar
+
+
+
+
diff --git a/src/main/java/com/zsc/edu/dify/framework/security/CustomAccessDeniedHandler.java b/src/main/java/com/zsc/edu/dify/framework/security/CustomAccessDeniedHandler.java
index 309c6ff..267cc64 100644
--- a/src/main/java/com/zsc/edu/dify/framework/security/CustomAccessDeniedHandler.java
+++ b/src/main/java/com/zsc/edu/dify/framework/security/CustomAccessDeniedHandler.java
@@ -27,6 +27,7 @@ public class CustomAccessDeniedHandler implements AccessDeniedHandler {
@Override
public void handle(HttpServletRequest request, HttpServletResponse response,
AccessDeniedException ex) throws IOException, ServletException {
+ ex.printStackTrace();
response.setContentType("application/json;charset=utf-8");
ExceptionResult result;
if (ex instanceof MissingCsrfTokenException) {
diff --git a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java
index 71785eb..f6c19fb 100644
--- a/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java
+++ b/src/main/java/com/zsc/edu/dify/modules/dify/controller/V1ChatController.java
@@ -9,10 +9,12 @@ import com.zsc.edu.dify.modules.system.service.UserService;
import io.github.guoshiqiufeng.dify.chat.DifyChat;
import io.github.guoshiqiufeng.dify.chat.dto.request.ChatMessageSendRequest;
import io.github.guoshiqiufeng.dify.chat.dto.request.MessageConversationsRequest;
+import io.github.guoshiqiufeng.dify.chat.dto.request.MessagesRequest;
import io.github.guoshiqiufeng.dify.chat.dto.response.ChatMessageSendCompletionResponse;
import io.github.guoshiqiufeng.dify.chat.dto.response.ChatMessageSendResponse;
import io.github.guoshiqiufeng.dify.chat.dto.response.MessageConversationsResponse;
import io.github.guoshiqiufeng.dify.core.pojo.DifyPageResult;
+import io.github.guoshiqiufeng.dify.core.pojo.response.MessagesResponseVO;
import jakarta.annotation.Resource;
import org.springframework.http.MediaType;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -86,6 +88,22 @@ public class V1ChatController {
request.setUserId(SecurityUtil.getUserInfo().id.toString());
return difyChat.conversations(request);
}
+ /**
+ * 获取会话的消息列表
+ *
+ * @param request 请求参数
+ * @return 消息列表
+ */
+ @PostMapping("/messages/{appid}")
+ @PreAuthorize("hasAuthority('dify:chat:query')")
+ public DifyPageResult conversations(
+ @RequestBody MessagesRequest request,
+ @PathVariable String appid
+ ) {
+ String apiKey = appEntityService.getApikey(appid);
+ request.setApiKey(apiKey);
+ return difyChat.messages(request);
+ }
/**
* 停止流式消息
diff --git a/src/main/java/com/zsc/edu/dify/modules/system/controller/RoleController.java b/src/main/java/com/zsc/edu/dify/modules/system/controller/RoleController.java
index 831ef98..545c53d 100644
--- a/src/main/java/com/zsc/edu/dify/modules/system/controller/RoleController.java
+++ b/src/main/java/com/zsc/edu/dify/modules/system/controller/RoleController.java
@@ -31,7 +31,7 @@ public class RoleController {
*
* @return 所有角色列表
*/
- @DataPermission
+// @DataPermission
@GetMapping
@PreAuthorize("hasAuthority('system:role:query')")
public Page query(RoleQuery query, Page page) {
diff --git a/src/main/java/com/zsc/edu/dify/modules/system/service/impl/UserServiceImpl.java b/src/main/java/com/zsc/edu/dify/modules/system/service/impl/UserServiceImpl.java
index 70c5a5e..dfdd1df 100644
--- a/src/main/java/com/zsc/edu/dify/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/zsc/edu/dify/modules/system/service/impl/UserServiceImpl.java
@@ -53,6 +53,7 @@ public class UserServiceImpl extends ServiceImpl implement
dto.setRoleId(dto.getRoleIds().get(0));
userMapper.convert(dto, user);
user.setName(dto.getName());
+ user.setPassword(passwordEncoder.encode(dto.password));
boolean existsByPhone = count(new LambdaQueryWrapper().eq(User::getPhone, dto.getPhone())) > 0;
boolean existsByEmail = count(new LambdaQueryWrapper().eq(User::getEmail, dto.getEmail())) > 0;
if (user.getPhone().equals(dto.getPhone()) && existsByPhone) {
diff --git a/src/test/java/com/zsc/edu/dify/service/system/DeptServiceTest.java b/src/test/java/com/zsc/edu/dify/service/system/DeptServiceTest.java
index 4943b7a..b556463 100644
--- a/src/test/java/com/zsc/edu/dify/service/system/DeptServiceTest.java
+++ b/src/test/java/com/zsc/edu/dify/service/system/DeptServiceTest.java
@@ -92,9 +92,9 @@ class DeptServiceTest {
assertEquals(tmp.getName(), dto.getName());
assertEquals(tmp.getId(), dept2.id);
// 不能改为其他已存在的同名同代码部门
-// assertThrows(ConstraintException.class,
-// () -> service.edit(
-// new DeptDto(dept3.getName(), "remark",null), dept2.id));
+ assertThrows(ConstraintException.class,
+ () -> service.edit(
+ new DeptDto(dept3.getName(), "remark",null), dept2.id));
}
diff --git a/src/test/java/com/zsc/edu/dify/service/system/RoleServiceTest.java b/src/test/java/com/zsc/edu/dify/service/system/RoleServiceTest.java
index 8a58e09..3cab151 100644
--- a/src/test/java/com/zsc/edu/dify/service/system/RoleServiceTest.java
+++ b/src/test/java/com/zsc/edu/dify/service/system/RoleServiceTest.java
@@ -64,7 +64,7 @@ class RoleServiceTest {
assertNotNull(Role.getId());
assertEquals(3, service.list(new QueryWrapper().like("name", "A")).size());
// 不能创建其他已存在的同名同代码部门
-// assertThrows(ConstraintException.class, () -> service.create(new RoleDto(role1.getName(), "remark...", null)));
+ assertThrows(ConstraintException.class, () -> service.create(new RoleDto(role1.getName(), true,"remark...", null)));
}
@Test
diff --git a/src/test/java/com/zsc/edu/dify/service/system/UserServiceTest.java b/src/test/java/com/zsc/edu/dify/service/system/UserServiceTest.java
index 69f6f46..ef2b64c 100644
--- a/src/test/java/com/zsc/edu/dify/service/system/UserServiceTest.java
+++ b/src/test/java/com/zsc/edu/dify/service/system/UserServiceTest.java
@@ -79,7 +79,7 @@ public class UserServiceTest {
@Test
void update() {
UserUpdateDto dto = new UserUpdateDto();
-// dto.setEnable(false);
+ dto.setEnableState(false);
dto.setRemark("remark...");
dto.setPhone("16786899221");
dto.setEmail("@abc.com");