修改账号 公司信息
parent
277b61518b
commit
c048af80aa
@ -0,0 +1,15 @@
|
|||||||
|
package com.baiye.model.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date : 2022/1/21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ThreeUserDTO extends UserDto {
|
||||||
|
|
||||||
|
private List<ThreeUserDTO> children;
|
||||||
|
}
|
@ -0,0 +1,62 @@
|
|||||||
|
package com.baiye.modules.system.domain;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date : 2022/1/21
|
||||||
|
*/
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
@Entity
|
||||||
|
@Table(name = "sys_company")
|
||||||
|
@ApiModel(value = "公司")
|
||||||
|
public class Company implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 4841596215574045065L;
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@ApiModelProperty(value = "公司id")
|
||||||
|
@Column(name = "id")
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("AppID")
|
||||||
|
@Column(name = "appid")
|
||||||
|
private String appid;
|
||||||
|
|
||||||
|
@ApiModelProperty("公司名称")
|
||||||
|
@Column(name = "company_name")
|
||||||
|
private String companyName;
|
||||||
|
|
||||||
|
@ApiModelProperty("公司编码")
|
||||||
|
@Column(name = "company_code")
|
||||||
|
private String companyCode;
|
||||||
|
|
||||||
|
@ApiModelProperty("营业执照反面")
|
||||||
|
@Column(name = "business_license_front")
|
||||||
|
private String businessLicenseFront;
|
||||||
|
|
||||||
|
@ApiModelProperty("营业执照反面")
|
||||||
|
@Column(name = "business_license_reverse")
|
||||||
|
private String businessLicenseReverse;
|
||||||
|
|
||||||
|
@ApiModelProperty("用户id")
|
||||||
|
@Column(name = "user_id")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
@ApiModelProperty("是否已经注册")
|
||||||
|
@Column(name = "is_registered")
|
||||||
|
private Integer isRegistered;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019-2020 Zheng Jie
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.baiye.modules.system.repository;
|
||||||
|
|
||||||
|
import com.baiye.modules.system.domain.Company;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date 2022-1-21
|
||||||
|
*/
|
||||||
|
public interface CompanyRepository extends JpaRepository<Company, Long>, JpaSpecificationExecutor<Company> {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id查找公司
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Company findByUserId(Long id);
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.baiye.modules.system.rest;
|
||||||
|
|
||||||
|
import com.baiye.modules.system.service.CompanyService;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyDto;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyQueryCriteria;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date : 2022/1/21
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@Api(tags = "公司管理")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/api/company")
|
||||||
|
public class CompanyController {
|
||||||
|
|
||||||
|
private final CompanyService companyService;
|
||||||
|
|
||||||
|
@ApiOperation("新增公司")
|
||||||
|
@PostMapping
|
||||||
|
public ResponseEntity<Object> create(@Validated @RequestBody CompanyDto companyDto) {
|
||||||
|
companyService.saveCompany(companyDto);
|
||||||
|
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation("公司列表")
|
||||||
|
@GetMapping
|
||||||
|
public ResponseEntity<Object> create(CompanyQueryCriteria criteria, Pageable pageable) {
|
||||||
|
return new ResponseEntity<>(companyService.queryAll(criteria, pageable),HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.baiye.modules.system.service;
|
||||||
|
|
||||||
|
import com.baiye.modules.system.domain.Company;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyDto;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyQueryCriteria;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date : 2022/1/21
|
||||||
|
*/
|
||||||
|
public interface CompanyService {
|
||||||
|
/**
|
||||||
|
* 保存公司资料
|
||||||
|
* @param companyDto
|
||||||
|
*/
|
||||||
|
void saveCompany(CompanyDto companyDto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条件分页
|
||||||
|
* @param criteria
|
||||||
|
* @param pageable
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Map<String,Object> queryAll(CompanyQueryCriteria criteria, Pageable pageable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id查找公司
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Company findCompanyByUserId(Long id);
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019-2020 Zheng Jie
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.baiye.modules.system.service.dto;
|
||||||
|
|
||||||
|
import com.baiye.model.base.BaseDTO;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Zheng Jie
|
||||||
|
* @date 2019-03-25
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class CompanyDto extends BaseDTO implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 2427763395487448366L;
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
private String appid;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
private String companyName;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
private String companyCode;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
private String businessLicenseFront;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
private String businessLicenseReverse;
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
private Integer isRegistered;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019-2020 Zheng Jie
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package com.baiye.modules.system.service.dto;
|
||||||
|
|
||||||
|
import com.baiye.annotation.Query;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Zheng Jie
|
||||||
|
* @date 2019-04-10
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CompanyQueryCriteria {
|
||||||
|
|
||||||
|
@Query
|
||||||
|
private Long userId;
|
||||||
|
}
|
@ -0,0 +1,85 @@
|
|||||||
|
package com.baiye.modules.system.service.dto;
|
||||||
|
|
||||||
|
import com.baiye.model.base.BaseEntity;
|
||||||
|
import com.baiye.modules.system.domain.Job;
|
||||||
|
import com.baiye.modules.system.domain.Role;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.validation.constraints.Email;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date : 2022/1/21
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CreateUserDTO {
|
||||||
|
@NotNull(groups = BaseEntity.Update.class)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户角色")
|
||||||
|
private Set<Role> roles;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户岗位")
|
||||||
|
private Set<Job> jobs;
|
||||||
|
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@ApiModelProperty(value = "用户名称")
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@ApiModelProperty(value = "用户昵称")
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
|
@Email
|
||||||
|
@NotBlank
|
||||||
|
@ApiModelProperty(value = "邮箱")
|
||||||
|
private String email;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@ApiModelProperty(value = "电话号码")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户性别")
|
||||||
|
private String gender;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "头像真实名称",hidden = true)
|
||||||
|
private String avatarName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "头像存储的路径", hidden = true)
|
||||||
|
private String avatarPath;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "密码")
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@ApiModelProperty(value = "是否启用")
|
||||||
|
private Boolean enabled;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "最后修改密码的时间", hidden = true)
|
||||||
|
private Date pwdResetTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建者id")
|
||||||
|
private Long whichUserId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "文件地址")
|
||||||
|
private MultipartFile file;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(id, username);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
package com.baiye.modules.system.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.baiye.constant.DefaultNumberConstants;
|
||||||
|
import com.baiye.modules.system.domain.Company;
|
||||||
|
import com.baiye.modules.system.repository.CompanyRepository;
|
||||||
|
import com.baiye.modules.system.service.CompanyService;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyDto;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyQueryCriteria;
|
||||||
|
import com.baiye.modules.system.service.mapstruct.CompanyMapper;
|
||||||
|
import com.baiye.util.PageUtil;
|
||||||
|
import com.baiye.util.QueryHelp;
|
||||||
|
import com.baiye.util.SecurityUtils;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Enzo
|
||||||
|
* @date : 2022/1/21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class CompanyServiceImpl implements CompanyService {
|
||||||
|
|
||||||
|
private final CompanyRepository companyRepository;
|
||||||
|
|
||||||
|
private final CompanyMapper companyMapper;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void saveCompany(CompanyDto companyDto) {
|
||||||
|
Company company = new Company();
|
||||||
|
BeanUtil.copyProperties(companyDto, company);
|
||||||
|
company.setUserId(SecurityUtils.getCurrentUserId());
|
||||||
|
company.setIsRegistered(DefaultNumberConstants.ONE_NUMBER);
|
||||||
|
companyRepository.save(company);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> queryAll(CompanyQueryCriteria criteria, Pageable pageable) {
|
||||||
|
Page<Company> page = companyRepository.findAll
|
||||||
|
((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
|
||||||
|
return PageUtil.toPage(page.map(companyMapper::toDto).getContent(), page.getTotalElements());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Company findCompanyByUserId(Long id) {
|
||||||
|
return companyRepository.findByUserId(id);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.baiye.modules.system.service.mapstruct;
|
||||||
|
|
||||||
|
import com.baiye.model.base.BaseMapper;
|
||||||
|
import com.baiye.modules.system.domain.Company;
|
||||||
|
import com.baiye.modules.system.service.dto.CompanyDto;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.ReportingPolicy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Zheng Jie
|
||||||
|
* @date 2019-03-25
|
||||||
|
*/
|
||||||
|
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||||
|
public interface CompanyMapper extends BaseMapper<CompanyDto, Company> {
|
||||||
|
}
|
Loading…
Reference in New Issue