create user error fixes

This commit is contained in:
Donghuang 2022-09-27 16:15:18 +08:00
parent e0f9f7ae47
commit 79809ab774
5 changed files with 90 additions and 9 deletions

View File

@ -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<ViewModel<User>> listByCustomerId(@NotBlank String customerId) {
public List<ViewModel<User>> 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()));
}

View File

@ -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));
}
}

View File

@ -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

@ -1 +1 @@
Subproject commit 1c57bdaf5ab05684239ea1a1e50d33730095d464
Subproject commit 2b1df37ce5b3aa0ae401c0368c2156b1b8f27d3b

View File

@ -17,7 +17,7 @@
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<tigon.version>0.0.1-SNAPSHOT</tigon.version>
<tigon.version>0.0.4-SNAPSHOT</tigon.version>
<spring-boot.version>2.3.12.RELEASE</spring-boot.version>
<aspectj.version>1.8.10</aspectj.version>
</properties>