* !44 comment
* !39 添加下行日志打印
* !36 扩展计价领域模型
* !35 webui 初步成型
* !34 webui 初步成型
This commit is contained in:
三丙
2025-09-09 08:23:59 +00:00
parent 921045af8f
commit 58580ca11e
372 changed files with 37900 additions and 1206 deletions

View File

@@ -14,7 +14,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
/**
* @author baigod
* @author 九筒
*/
@ActiveProfiles("test")
@SpringBootTest(classes = JCPPServerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

View File

@@ -10,9 +10,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import sanbing.jcpp.AbstractTestBase;
import sanbing.jcpp.app.dal.config.ibatis.enums.GunOptStatusEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.GunRunStatusEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.OwnerTypeEnum;
import sanbing.jcpp.app.dal.entity.Gun;
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
@@ -22,10 +19,10 @@ import java.util.UUID;
import static sanbing.jcpp.app.dal.mapper.PileMapperIT.NORMAL_PILE_ID;
import static sanbing.jcpp.app.dal.mapper.StationMapperIT.NORMAL_STATION_ID;
import static sanbing.jcpp.app.dal.mapper.UserMapperIT.NORMAL_USER_ID;
/**
* @author baigod
* @author 九筒
*/
class GunMapperIT extends AbstractTestBase {
static final UUID[] NORMAL_GUN_ID = new UUID[]{
@@ -61,11 +58,6 @@ class GunMapperIT extends AbstractTestBase {
.gunCode("202312120000" + new DecimalFormat("00").format(i + 1) + "-02")
.stationId(NORMAL_STATION_ID)
.pileId(pileId)
.ownerId(NORMAL_USER_ID)
.ownerType(OwnerTypeEnum.C)
.runStatus(GunRunStatusEnum.IDLE)
.runStatusUpdatedTime(LocalDateTime.now())
.optStatus(GunOptStatusEnum.AVAILABLE)
.build();
gunMapper.insertOrUpdate(gun);

View File

@@ -1,67 +0,0 @@
/**
* 开源代码,仅供学习和交流研究使用,商用请联系三丙
* 微信mohan_88888
* 抖音:程序员三丙
* 付费课程知识星球https://t.zsxq.com/aKtXo
*/
package sanbing.jcpp.app.dal.mapper;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.jupiter.api.Test;
import sanbing.jcpp.AbstractTestBase;
import sanbing.jcpp.app.dal.config.ibatis.enums.OrderStatusEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.OrderTypeEnum;
import sanbing.jcpp.app.dal.entity.Order;
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.UUID;
import static sanbing.jcpp.app.dal.mapper.GunMapperIT.NORMAL_GUN_ID;
import static sanbing.jcpp.app.dal.mapper.PileMapperIT.NORMAL_PILE_ID;
import static sanbing.jcpp.app.dal.mapper.StationMapperIT.NORMAL_STATION_ID;
import static sanbing.jcpp.app.dal.mapper.UserMapperIT.NORMAL_USER_ID;
/**
* @author baigod
*/
class OrderMapperIT extends AbstractTestBase {
@Resource
OrderMapper orderMapper;
@Test
void testOrderMapper() {
orderMapper.delete(Wrappers.lambdaQuery());
Order order = Order.builder()
.id(UUID.randomUUID())
.internalOrderNo(IdUtil.getSnowflake(1, 1).nextIdStr())
.externalOrderNo(IdUtil.getSnowflake(1, 1).nextIdStr())
.pileOrderNo(RandomStringUtils.secure().nextNumeric(16))
.createdTime(LocalDateTime.now())
.additionalInfo(JacksonUtil.newObjectNode())
.updatedTime(LocalDateTime.now())
.cancelledTime(null)
.status(OrderStatusEnum.IN_CHARGING)
.type(OrderTypeEnum.CHARGE)
.creatorId(NORMAL_USER_ID)
.stationId(NORMAL_STATION_ID)
.pileId(NORMAL_PILE_ID[0])
.gunId(NORMAL_GUN_ID[0])
.plateNo("浙A88888")
.settlementAmount(new BigDecimal(100))
.settlementDetails(JacksonUtil.newObjectNode())
.electricityQuantity(new BigDecimal("100"))
.build();
orderMapper.insertOrUpdate(order);
log.info("{}", orderMapper.selectById(order.getId()));
}
}

View File

@@ -11,8 +11,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import sanbing.jcpp.AbstractTestBase;
import sanbing.jcpp.app.dal.config.ibatis.enums.OwnerTypeEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.PileStatusEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.PileTypeEnum;
import sanbing.jcpp.app.dal.entity.Pile;
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
@@ -25,10 +23,10 @@ import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import static sanbing.jcpp.app.dal.mapper.StationMapperIT.NORMAL_STATION_ID;
import static sanbing.jcpp.app.dal.mapper.UserMapperIT.NORMAL_USER_ID;
/**
* @author baigod
* @author 九筒
*/
class PileMapperIT extends AbstractTestBase {
static final UUID[] NORMAL_PILE_ID = new UUID[]{
@@ -61,12 +59,9 @@ class PileMapperIT extends AbstractTestBase {
.pileCode("202312120000" + new DecimalFormat("00").format(i + 1))
.protocol("yunkuaichongV150")
.stationId(NORMAL_STATION_ID)
.ownerId(NORMAL_USER_ID)
.ownerType(OwnerTypeEnum.C)
.brand("星星")
.model("10A")
.manufacturer("星星")
.status(PileStatusEnum.IDLE)
.type(PileTypeEnum.AC)
.build();
@@ -90,12 +85,9 @@ class PileMapperIT extends AbstractTestBase {
.pileCode("20241015" + new DecimalFormat("000000").format(number.get()))
.protocol("yunkuaichongV150")
.stationId(NORMAL_STATION_ID)
.ownerId(NORMAL_USER_ID)
.ownerType(OwnerTypeEnum.C)
.brand("星星")
.model("10A")
.manufacturer("星星")
.status(PileStatusEnum.IDLE)
.type(PileTypeEnum.AC)
.build();
piles.add(pile);

View File

@@ -10,18 +10,16 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import sanbing.jcpp.AbstractTestBase;
import sanbing.jcpp.app.dal.config.ibatis.enums.OwnerTypeEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.StationStatusEnum;
import sanbing.jcpp.app.dal.entity.Station;
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
import java.time.LocalDateTime;
import java.util.UUID;
import static sanbing.jcpp.app.dal.mapper.UserMapperIT.NORMAL_USER_ID;
/**
* @author baigod
* @author 九筒
*/
class StationMapperIT extends AbstractTestBase {
static final UUID NORMAL_STATION_ID = UUID.fromString("07d80c81-fe99-4a1f-a6aa-dc4d798b5626");
@@ -39,15 +37,12 @@ class StationMapperIT extends AbstractTestBase {
.additionalInfo(JacksonUtil.newObjectNode())
.stationName("三丙家专属充电站")
.stationCode("S20241001001")
.ownerId(NORMAL_USER_ID)
.longitude(120.107936F)
.latitude(30.267014F)
.ownerType(OwnerTypeEnum.C)
.province("浙江省")
.city("杭州市")
.county("西湖区")
.address("西溪路552-1号")
.status(StationStatusEnum.OPERATIONAL)
.build();
stationMapper.insertOrUpdate(station);

View File

@@ -10,15 +10,17 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import sanbing.jcpp.AbstractTestBase;
import sanbing.jcpp.app.dal.config.ibatis.enums.AuthorityEnum;
import sanbing.jcpp.app.dal.config.ibatis.enums.UserStatusEnum;
import sanbing.jcpp.app.dal.entity.User;
import sanbing.jcpp.app.service.security.model.UserCredentials;
import sanbing.jcpp.infrastructure.util.jackson.JacksonUtil;
import java.time.LocalDateTime;
import java.util.UUID;
/**
* @author baigod
* @author 九筒
*/
class UserMapperIT extends AbstractTestBase {
static final UUID NORMAL_USER_ID = UUID.fromString("21cbf909-a23a-4396-840a-f34061f59f95");
@@ -30,17 +32,33 @@ class UserMapperIT extends AbstractTestBase {
void curdTest() {
userMapper.delete(Wrappers.lambdaQuery());
// 创建UserCredentials对象
UserCredentials credentials = new UserCredentials();
credentials.setPassword("$2a$10$mE.qmcV0mFU5NcKh73TZx.z4ueI/.bDWbj0T1BYyqP481kGGarKLG"); // encoded "password123"
credentials.setEnabled(true);
credentials.setFailedLoginAttempts(0);
User user = User.builder()
.id(NORMAL_USER_ID)
.createdTime(LocalDateTime.now())
.additionalInfo(JacksonUtil.newObjectNode())
.status(UserStatusEnum.ENABLE)
.userName("sanbing")
.userCredentials(JacksonUtil.newObjectNode())
.userCredentials(credentials)
.authority(AuthorityEnum.SYS_ADMIN) // 添加权限字段
.version(1) // 添加版本字段
.build();
userMapper.insertOrUpdate(user);
log.info("{}", userMapper.selectById(NORMAL_USER_ID));
User savedUser = userMapper.selectById(NORMAL_USER_ID);
log.info("Saved user: {}", savedUser);
// 验证UserCredentials字段正确保存和读取
assert savedUser != null;
assert savedUser.getUserCredentials() != null;
assert savedUser.getUserCredentials().isEnabled();
assert "sanbing".equals(savedUser.getUserName());
assert AuthorityEnum.SYS_ADMIN.equals(savedUser.getAuthority());
}
}