dev.wei
WeiRan 2024-09-29 17:51:53 +08:00
parent aedee04643
commit f27b14dc33
16 changed files with 662 additions and 0 deletions

View File

@ -54,5 +54,9 @@
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
<version>1.2.83</version> <version>1.2.83</version>
</dependency> </dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-system</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -0,0 +1,40 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.domain
* @Projectcloud-server-8
* @nameFirm
* @Date2024/9/27 12:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class Firm {
/**
* ID
*/
@TableId(value = "firm_id")
private Long firmId;
/**
*
*/
@TableField(exist = false)
private String firmName;
/**
*
*/
private String databaseName;
}

View File

@ -0,0 +1,119 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.domain
* @Projectcloud-server-8
* @nameSysUser
* @Date2024/9/28 22:37
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@Tag(name = "用户信息")
@TableName("sys_user")
public class SysUser extends BaseEntity {
/**
* ID
*/
@TableId(value = "user_id")
private Long userId;
/**
* ID
*/
private Long deptId;
/**
*
*/
private String userName;
/**
*
*/
private String nickName;
/**
* 00
*/
private String userType;
/**
*
*/
private String email;
/**
*
*/
private String phonenumber;
/**
* 0 1 2
*/
private Integer sex;
/**
*
*/
private String avatar;
/**
*
*/
private String password;
/**
* 0 1
*/
private Integer status;
/**
* 0 2
*/
private String delFlag;
/**
* IP
*/
private String loginIp;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loginDate;
/**
*
*/
private String databaseName;
/**
* ID
*/
private Long firmId;
/**
*
*/
@TableField(exist = false)
private String firmName;
}

View File

@ -0,0 +1,37 @@
package com.muyu.domain.req;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.domain.req
* @Projectcloud-server-8
* @nameFirmListReq
* @Date2024/9/27 19:19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "公司信息请求对象",description = "公司信息请求对象")
public class FirmListReq {
/**
*
*/
private String firmName;
/**
* 1
*/
private Integer pageNum=1;
/**
*
*/
private Integer pageSize=10;
}

View File

@ -0,0 +1,138 @@
package com.muyu.domain.resp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.domain.SysUser;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.domain.resp
* @Projectcloud-server-8
* @nameFirmListResp
* @Date2024/9/27 19:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name="企业信息响应对象",description = "企业信息响应对象")
public class FirmListResp {
/**
* ID
*/
private Long userId;
/**
* ID
*/
private Long deptId;
/**
*
*/
private String userName;
/**
*
*/
private String nickName;
/**
* 00
*/
private String userType;
/**
*
*/
private String email;
/**
*
*/
private String phonenumber;
/**
* 0 1 2
*/
private Integer sex;
/**
*
*/
private String avatar;
/**
*
*/
private String password;
/**
* 0 1
*/
private Integer status;
/**
* 0 2
*/
private String delFlag;
/**
* IP
*/
private String loginIp;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date loginDate;
/**
*
*/
private String databaseName;
/**
* ID
*/
private Long firmId;
/**
*
*/
@TableField(exist = false)
private String firmName;
/**
*
*/
public static FirmListResp firmListResp(SysUser sysUser){
return FirmListResp.builder()
.userId(sysUser.getUserId())
.deptId(sysUser.getDeptId())
.userName(sysUser.getUserName())
.nickName(sysUser.getNickName())
.userType((sysUser.getUserType()))
.email(sysUser.getEmail())
.phonenumber(sysUser.getPhonenumber())
.sex(sysUser.getSex())
.avatar(sysUser.getAvatar())
.password(sysUser.getPassword())
.status(sysUser.getStatus())
.delFlag(sysUser.getDelFlag())
.loginDate(sysUser.getLoginDate())
.databaseName(sysUser.getDatabaseName())
.firmId(sysUser.getFirmId())
.build();
}
}

View File

@ -0,0 +1,36 @@
package com.muyu.domain.resp;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.domain.resp.firmlist
* @Projectcloud-server-8
* @nameFirmTotalListResp
* @Date2024/9/27 19:42
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Tag(name = "公司数据总数列表",description = "数据总数响应")
public class FirmTotalListResp {
private List<FirmListResp> firmListRespList;
private long total;
public static FirmTotalListResp firmTotalListResp(List<FirmListResp> firmListRespList,long toal){
FirmTotalListResp firmTotalListResp = new FirmTotalListResp();
firmTotalListResp.setFirmListRespList(firmListRespList);
firmTotalListResp.setTotal(toal);
return firmTotalListResp;
}
}

View File

@ -0,0 +1,47 @@
package com.muyu.server.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.domain.req.FirmListReq;
import com.muyu.domain.resp.FirmTotalListResp;
import com.muyu.server.service.FirmManageService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.controller
* @Projectcloud-server-8
* @nameFirmManageController
* @Date2024/9/27 12:27
*/
@RestController
@RequestMapping("/firmmanage")
@Tag(name = "公司相关事务",description = "公司相关事务操作")
public class FirmManageController {
@Autowired
private FirmManageService firmManageService;
/**
*
* @param firmListReq
* @return
*/
@PostMapping("/firmmessageList")
@Operation(summary = "公司信息列表展示",description = "展示公司信息的列表")
public Result firmmessageList(@Validated @RequestBody FirmListReq firmListReq){
FirmTotalListResp firmTotalListResp = firmManageService.firmmessageList(firmListReq);
return Result.success(firmTotalListResp);
}
}

View File

@ -0,0 +1,23 @@
package com.muyu.server.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.domain.Firm;
import com.muyu.domain.SysUser;
import com.muyu.domain.req.FirmListReq;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* +
* @Authorweiran
* @Packagecom.muyu.firmmanage.mapper
* @Projectcloud-server-8
* @nameFirmManageMapper
* @Date2024/9/27 12:28
*/
@Mapper
public interface FirmManageMapper extends MPJBaseMapper<SysUser> {
List<Firm> firmmessageList(FirmListReq firmListReq);
}

View File

@ -0,0 +1,17 @@
package com.muyu.server.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.domain.Firm;
import org.apache.ibatis.annotations.Mapper;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.mapper
* @Projectcloud-server-8
* @nameFirmMapper
* @Date2024/9/29 16:56
*/
@Mapper
public interface FirmMapper extends MPJBaseMapper<Firm> {
}

View File

@ -0,0 +1,16 @@
package com.muyu.server.service;
import com.muyu.common.system.domain.SysUser;
/**
* @Authorweiran
* @Packagecom.muyu.system.service
* @Projectcloud-server-8
* @nameDataBaseCreator
* @Date2024/9/26 20:40
*/
public interface DataBaseCreator {
String createDatbase(SysUser user);
}

View File

@ -0,0 +1,26 @@
package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.SysUser;
import com.muyu.domain.req.FirmListReq;
import com.muyu.domain.resp.FirmTotalListResp;
import java.util.List;
/**
* +
* @Authorweiran
* @Packagecom.muyu.firmmanage.service
* @Projectcloud-server-8
* @nameFirmManageService
* @Date2024/9/27 12:28
*/
public interface FirmManageService extends IService<SysUser> {
/**
*
* @param firmListReq
* @return
*/
FirmTotalListResp firmmessageList(FirmListReq firmListReq);
}

View File

@ -0,0 +1,20 @@
package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.firmmanage.domain.Firm;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.service
* @Projectcloud-server-8
* @nameFirmService
* @Date2024/9/29 16:57
*/
public interface FirmService extends IService<Firm> {
/**
*
* @return
*/
long findcount();
}

View File

@ -0,0 +1,51 @@
package com.muyu.server.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.muyu.common.system.domain.SysUser;
import com.muyu.server.service.DataBaseCreator;
import org.springframework.stereotype.Service;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* @Authorweiran
* @Packagecom.muyu.system.service.impl
* @Projectcloud-server-8
* @nameDataBaseCreatorImpl
* @Date2024/9/26 20:40
*/
@Service
public class DataBaseCreatorImpl implements DataBaseCreator {
private static final String DB_URL="jdbc:mysql://159.75.188.178:3306?useSSL=false";
private static final String USER="root";
private static final String PASS="bwie-8666";
@Override
public String createDatbase(SysUser user) {
try {
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
Statement statement = conn.createStatement();
String datbaseName="company"+RandomUtil.randomString(10000);
//创建数据库
String sql="CREATE DATABASE IF NOT EXISTS "+datbaseName;
statement.execute(sql);
//使用数据库
sql="USE "+datbaseName;
statement.execute(sql);
//创建表
sql="CREATE TABLE user ("+
"user_id INT AUTO_INCREMENT PRIMARY KEY,"+
"user_name VARCHAR(50) NOT NULL )";
statement.execute(sql);
return datbaseName;
}catch (Exception e){
e.printStackTrace();
}
return null;
}
}

View File

@ -0,0 +1,54 @@
package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.firmmanage.domain.Firm;
import com.muyu.firmmanage.domain.SysUser;
import com.muyu.firmmanage.domain.req.FirmListReq;
import com.muyu.firmmanage.domain.resp.firmlist.FirmListResp;
import com.muyu.firmmanage.domain.resp.firmlist.FirmTotalListResp;
import com.muyu.firmmanage.mapper.FirmManageMapper;
import com.muyu.firmmanage.service.FirmManageService;
import com.muyu.firmmanage.service.FirmService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* +
* @Authorweiran
* @Packagecom.muyu.firmmanage.service.impl
* @Projectcloud-server-8
* @nameFirmManageServiceImpl
* @Date2024/9/27 12:28
*/
@Service
public class FirmManageServiceImpl extends ServiceImpl<FirmManageMapper, SysUser> implements FirmManageService {
@Autowired
private FirmManageMapper firmManageMapper;
@Autowired
private FirmService firmService;
/**
*
* @param firmListReq
* @return
*/
@Override
public FirmTotalListResp firmmessageList(FirmListReq firmListReq) {
long findcount = firmService.findcount();
MPJLambdaWrapper<SysUser> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(SysUser.class)
.selectAll(Firm.class)
.leftJoin(Firm.class,Firm::getFirmId,SysUser::getFirmId)
.eq(StringUtils.isNotEmpty(firmListReq.getFirmName()),
Firm::getFirmName, firmListReq.getFirmName());
wrapper.last("LIMIT "+((firmListReq.getPageNum()-1)*firmListReq.getPageSize())+","+firmListReq.getPageSize());
List<FirmListResp> firmListResps = firmManageMapper.selectJoinList(FirmListResp.class, wrapper);
return FirmTotalListResp.firmTotalListResp(firmListResps,findcount);
}
}

View File

@ -0,0 +1,32 @@
package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.firmmanage.domain.Firm;
import com.muyu.firmmanage.mapper.FirmMapper;
import com.muyu.firmmanage.service.FirmService;
import org.springframework.stereotype.Service;
/**
*
* @Authorweiran
* @Packagecom.muyu.firmmanage.service.impl
* @Projectcloud-server-8
* @nameFirmServiceImpl
* @Date2024/9/29 16:57
*/
@Service
public class FirmServiceImpl extends ServiceImpl<FirmMapper, Firm> implements FirmService {
/**
*
* @return
*/
@Override
public long findcount() {
LambdaQueryWrapper<Firm> queryWrapper = new LambdaQueryWrapper<>();
long count = this.count(queryWrapper);
return count;
}
}

View File

@ -254,6 +254,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
*/ */
@Override @Override
public boolean registerUser (SysUser user) { public boolean registerUser (SysUser user) {
return userMapper.insertUser(user) > 0; return userMapper.insertUser(user) > 0;
} }