@Override
@Transactional
public CommonResult addUnit2(AddUnitReq req) {
//社区
QueryWrapper wrapperHouse = new QueryWrapper();
wrapperHouse.eq("id", req.getHouseId());
RiHouse house = riHouseMapper.selectOne(wrapperHouse);
//楼
QueryWrapper wrapperRiHouseFloor = new QueryWrapper();
wrapperRiHouseFloor.eq("id", req.getFloorId());
RiHouseFloor floor = riHouseFloorMapper.selectOne(wrapperRiHouseFloor);
//单元
RiHouseUnit unit = new RiHouseUnit();
unit.setUnitName(req.getUnitName());
unit.setHouseId(req.getHouseId());
unit.setFloorId(req.getFloorId());
riHouseUnitMapper.insert(unit);
//楼层
RiHouseLayer riHouseLayer = null;
//户数
RiHouseRoom riHouseRoom = null;
StringBuilder str = new StringBuilder();
if (req.getLayerNum() != null) {
for (int i = req.getLayerNum(); i > 0; i--) {
riHouseLayer = new RiHouseLayer();
riHouseLayer.setHouseId(req.getHouseId());
riHouseLayer.setFloorId(req.getFloorId());
riHouseLayer.setUnitId(unit.getId());
riHouseLayer.setLayerName((req.getLayerNum()-i)+1 + "层");
riHouseLayer.setLayerSort(i-1);
riHouseLayerMapper.insert(riHouseLayer);
str.append((req.getLayerNum()-i)+1 + "层");
str.append(",");
List roomList= new ArrayList<>();
if (req.getRoomNum() != null) {//每层每户
for (int i2 = 1; i2 < req.getRoomNum() + 1; i2++) {
riHouseRoom = new RiHouseRoom();
riHouseRoom.setHouseId(req.getHouseId());
riHouseRoom.setFloorId(req.getFloorId());
riHouseRoom.setUnitId(unit.getId());
riHouseRoom.setLayerId(riHouseLayer.getId());
riHouseRoom.setRoomCode("户室" + i2);
//这里户室需要个位数补位
riHouseRoom.setRoomName(((req.getLayerNum()-i)+1)+ "层"+ String.format("%02d", i2));
roomList.add(riHouseRoom);
}
riHouseRoomService.saveBatch(roomList);
} else {//每层一户
riHouseRoom = new RiHouseRoom();
riHouseRoom.setHouseId(req.getHouseId());
riHouseRoom.setFloorId(req.getFloorId());
riHouseRoom.setUnitId(unit.getId());
riHouseRoom.setLayerId(riHouseLayer.getId());
riHouseRoom.setRoomCode("户室1");
riHouseRoom.setRoomName(((req.getLayerNum()-i)+1)+"层01");
riHouseRoomMapper.insert(riHouseRoom);
}
}
} else {//默认一层一户
//楼层
riHouseLayer = new RiHouseLayer();
riHouseLayer.setHouseId(req.getHouseId());
riHouseLayer.setFloorId(req.getFloorId());
riHouseLayer.setUnitId(unit.getId());
riHouseLayer.setLayerName("1层");
riHouseLayer.setLayerSort(0);
riHouseLayerMapper.insert(riHouseLayer);
str.append("1层");
str.append(",");
//户数
riHouseRoom = new RiHouseRoom();
riHouseRoom.setHouseId(req.getHouseId());
riHouseRoom.setFloorId(req.getFloorId());
riHouseRoom.setUnitId(unit.getId());
riHouseRoom.setLayerId(riHouseLayer.getId());
riHouseRoom.setRoomCode("户室1");
riHouseRoom.setRoomName("1层01");
riHouseRoomMapper.insert(riHouseRoom);
}
//待确认
UpdateWrapper wrapperRiHouse = new UpdateWrapper<>();
wrapperRiHouse.eq("id", req.getHouseId()).set("read_flag", false);
riHouseMapper.update(null, wrapperRiHouse);
RiHouseUnitAddResp resp = new RiHouseUnitAddResp();
resp.setId(unit.getId());
return CommonResult.success(resp);
}
方法
1.通过 String.format 方式来进行左位补零操作
// 1为 int 类型、0代表前面要补位的字符、2代表字符串的长度、d表示参数为整数类型
String s = String.format("%02d", 1);//1,是自己传的参数
System.out.println(s);
2.通过 NumberFormat 方式来进行左位补零操作
// 首先通过 getInstance 创建一个 NumberFormat 实例 NumberFormat numberFormat = NumberFormat.getInstance(); // 设置最大和最小整数位数 numberFormat.setMaximumIntegerDigits(2); numberFormat.setMinimumIntegerDigits(2); // 最后通过 format 方法操作要补零的数字即可 System.out.println(numberFormat.format(2));



