From 79809ab7740e6b28b83ba5238435f9cf441f0ba9 Mon Sep 17 00:00:00 2001 From: Donghuang Date: Tue, 27 Sep 2022 16:15:18 +0800 Subject: [PATCH] create user error fixes --- .../service/support/UserServiceSupport.java | 19 +++++--- .../ambition/crm/service/UserServiceTest.java | 30 ++++++++++++ server/crm/src/test/resources/application.yml | 46 +++++++++++++++++++ server/lib/tigon | 2 +- server/pom.xml | 2 +- 5 files changed, 90 insertions(+), 9 deletions(-) create mode 100644 server/crm/src/test/java/com/pudonghot/ambition/crm/service/UserServiceTest.java create mode 100644 server/crm/src/test/resources/application.yml diff --git a/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java b/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java index 2c2e79e..8904831 100644 --- a/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java +++ b/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java @@ -1,17 +1,18 @@ package com.pudonghot.ambition.crm.service.support; +import lombok.val; import java.util.List; import lombok.extern.slf4j.Slf4j; -import lombok.val; import org.springframework.util.Assert; import me.chyxion.tigon.model.ViewModel; import org.apache.commons.lang3.StringUtils; import com.pudonghot.ambition.crm.model.User; import org.springframework.stereotype.Service; +import me.chyxion.tigon.kit.sequence.IdSequence; import com.pudonghot.ambition.crm.util.Sha512Utils; -import javax.validation.constraints.NotBlank; import com.pudonghot.ambition.crm.mapper.UserMapper; import com.pudonghot.ambition.crm.service.UserService; +import org.springframework.beans.factory.annotation.Autowired; import com.pudonghot.ambition.crm.form.create.UserFormForCreate; import com.pudonghot.ambition.crm.form.update.UserFormForUpdate; import me.chyxion.tigon.service.support.BaseCrudByFormServiceSupport; @@ -31,6 +32,9 @@ public class UserServiceSupport UserFormForCreate, UserFormForUpdate, UserMapper> implements UserService { + @Autowired + private IdSequence idSeq; + /** * {@inheritDoc} */ @@ -48,7 +52,7 @@ public class UserServiceSupport */ @Override public int delete(final String id) { - User user = find(id); + final User user = find(id); Assert.state(user != null, "No user [" + id + "] found"); Assert.state(!user.getEnabled(), "User [" + id + "] is enabled"); return super.delete(id); @@ -59,7 +63,7 @@ public class UserServiceSupport */ @Override public boolean validatePassword(String userId, String password) { - final User user = mapper.find(userId); + val user = mapper.find(userId); return hashPassword(user.getId(), password) .equals((user.getPassword())); } @@ -68,7 +72,7 @@ public class UserServiceSupport * {@inheritDoc} */ @Override - public List> listByCustomerId(@NotBlank String customerId) { + public List> listByCustomerId(final String customerId) { return toViewModel(mapper.listByCustomerId(customerId)); } @@ -80,7 +84,7 @@ public class UserServiceSupport Assert.state(form.getPassword().equals(form.getConfirmPassword()), "Repeat password does not match"); - final User user = mapper.find(userId); + val user = mapper.find(userId); Assert.state(user != null, "No user [" + userId + "] found"); Assert.state(hashPassword(userId, form.getOriginPassword()) .equals((user.getPassword())), "Incorrect origin password"); @@ -94,7 +98,7 @@ public class UserServiceSupport */ @Override public String findAccount(final String id) { - final User user = find(id); + val user = find(id); Assert.state(user != null, "No user [" + id + "] found"); return user.getAccount(); } @@ -105,6 +109,7 @@ public class UserServiceSupport @Override protected void beforeInsert(final User model) { super.beforeInsert(model); + model.setId(idSeq.get()); model.setPassword(hashPassword(model.getId(), model.getPassword())); } diff --git a/server/crm/src/test/java/com/pudonghot/ambition/crm/service/UserServiceTest.java b/server/crm/src/test/java/com/pudonghot/ambition/crm/service/UserServiceTest.java new file mode 100644 index 0000000..8ee4bd6 --- /dev/null +++ b/server/crm/src/test/java/com/pudonghot/ambition/crm/service/UserServiceTest.java @@ -0,0 +1,30 @@ +package com.pudonghot.ambition.crm.service; + +import lombok.val; +import org.junit.Test; +import org.junit.runner.RunWith; +import lombok.extern.slf4j.Slf4j; +import me.chyxion.tigon.mybatis.Search; +import com.pudonghot.ambition.crm.AmbitionCRM; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +/** + * @author Donghuang + * @date Sep 27, 2022 15:28:31 + */ +@Slf4j +@SpringBootTest +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = AmbitionCRM.class) +public class UserServiceTest { + @Autowired + private UserService userService; + + @Test + public void testList() { + val users = userService.list(new Search().limit(1)); + } +} diff --git a/server/crm/src/test/resources/application.yml b/server/crm/src/test/resources/application.yml new file mode 100644 index 0000000..5f428ab --- /dev/null +++ b/server/crm/src/test/resources/application.yml @@ -0,0 +1,46 @@ +server: + port: 8088 + +spring: + jackson: + default-property-inclusion: NON_NULL + time-zone: GMT+8 + serialization: + write-dates-as-timestamps: true + fail-on-empty-beans: false + servlet: + multipart: + max-file-size: 512MB + max-request-size: 512MB + +datasource: + database-name: ambition-crm + host: 172.16.4.6 + password: MySQL2b||!2b + port: 3306 + username: root + +database: + backup-dir: d:/data/database_backups + restore-shell: /data/program/mysql-backup/bin/mysql_restore.sh + +file: + base-dir: /Users/donghuang/Documents/Workspaces/ambition-crm/files/ + base-path: http://127.0.0.1:1217/lm-f/ + +export: + location: d:/data/export + +tigon: + shiro: + session: + validation: + scheduler: + enabled: true + filter-chain: > + /auth/login=anon + /=anon + /index.html=anon + /assets/**=anon + /f/**=anon + /**=user diff --git a/server/lib/tigon b/server/lib/tigon index 1c57bda..2b1df37 160000 --- a/server/lib/tigon +++ b/server/lib/tigon @@ -1 +1 @@ -Subproject commit 1c57bdaf5ab05684239ea1a1e50d33730095d464 +Subproject commit 2b1df37ce5b3aa0ae401c0368c2156b1b8f27d3b diff --git a/server/pom.xml b/server/pom.xml index de9aabd..e253171 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -17,7 +17,7 @@ 1.8 utf-8 - 0.0.1-SNAPSHOT + 0.0.4-SNAPSHOT 2.3.12.RELEASE 1.8.10