提交 877a1e8a 作者: zhenjie

加盟商、用户关联单位修改

上级 86dc0a95
...@@ -23,19 +23,18 @@ import java.io.Serializable; ...@@ -23,19 +23,18 @@ import java.io.Serializable;
public class CompanyAuthVO implements Serializable { public class CompanyAuthVO implements Serializable {
private static final long serialVersionUID = 3584743219477515646L; private static final long serialVersionUID = 3584743219477515646L;
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
@NotNull(message = "id不能为空", groups = { Update.class }) @NotNull(message = "id不能为空", groups = {Update.class})
private Integer id; private Integer id;
@ApiModelProperty(value = "用户id", hidden = true) @ApiModelProperty(value = "用户id", hidden = true)
//@NotNull(message = "用户id不能为空", groups = { Insert.class, Update.class})
private Integer userAccountId; private Integer userAccountId;
@ApiModelProperty(value = "企业名称") @ApiModelProperty(value = "企业名称")
@NotBlank(message = "企业名称", groups = { Insert.class, Update.class}) @NotBlank(message = "企业名称", groups = {Insert.class, Update.class})
private String companyName; private String companyName;
@ApiModelProperty(value = "统一社会信用代码") @ApiModelProperty(value = "统一社会信用代码")
@NotBlank(message = "统一社会信用代码", groups = { Insert.class, Update.class}) @NotBlank(message = "统一社会信用代码", groups = {Insert.class, Update.class})
private String creditCode; private String creditCode;
@ApiModelProperty(value = "营业执照") @ApiModelProperty(value = "营业执照")
@NotBlank(message = "营业执照", groups = { Insert.class, Update.class }) @NotBlank(message = "营业执照", groups = {Insert.class, Update.class})
private String licenseImg; private String licenseImg;
@ApiModelProperty(value = "企业认证状态,0未通过,1已通过") @ApiModelProperty(value = "企业认证状态,0未通过,1已通过")
private Integer authStatus; private Integer authStatus;
......
...@@ -24,51 +24,59 @@ import java.util.List; ...@@ -24,51 +24,59 @@ import java.util.List;
@Api(tags = "单位管理") @Api(tags = "单位管理")
@RequestMapping("/company/") @RequestMapping("/company/")
@RestController @RestController
public class CompanyController extends BaseController{ public class CompanyController extends BaseController {
@Autowired @Autowired
private CompanyService companyService; private CompanyService companyService;
@ApiOperation(value = "新增") @ApiOperation(value = "新增")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("add") @PostMapping("add")
public ResultBody add(@Validated(Insert.class) @RequestBody CompanyInfoVO companyInfo){ public ResultBody add(@Validated(Insert.class) @RequestBody CompanyInfoVO companyInfo) {
return companyService.addCompanyInfo(companyInfo); return companyService.addCompanyInfo(companyInfo);
} }
@ApiOperation(value = "移除") @ApiOperation(value = "移除")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("remove") @GetMapping("remove")
public ResultBody remove(@RequestParam Integer id, @RequestHeader String token){ public ResultBody remove(@RequestParam Integer id, @RequestHeader String token) {
return companyService.removeCompanyInfo(id, token); return companyService.removeCompanyInfo(id, token);
} }
@ApiOperation(value = "修改") @ApiOperation(value = "修改")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = ResultBody.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("update") @PostMapping("update")
public ResultBody update(@RequestBody CompanyInfoVO companyInfo){ public ResultBody update(@RequestBody CompanyInfoVO companyInfo) {
return companyService.updateCompanyInfo(companyInfo); return companyService.updateCompanyInfo(companyInfo);
} }
@ApiOperation(value = "单位查询") @ApiOperation(value = "单位查询")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("getCompanyInfoById") @GetMapping("getCompanyInfoById")
public ResultBody<CompanyInfoVO> getCompanyInfoById(@RequestParam Integer id){ public ResultBody<CompanyInfoVO> getCompanyInfoById(@RequestParam Integer id) {
return companyService.getCompanyInfoById(id); return companyService.getCompanyInfoById(id);
} }
@ApiOperation(value = "单位列表") @ApiOperation(value = "单位列表")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@PostMapping("listCompanyPage") @PostMapping("listCompanyPage")
public ResultBody<CompanyInfoVO> listCompanyPage(@RequestBody CompanyInfoQO companyInfoQO, HttpServletRequest request){ public ResultBody<CompanyInfoVO> listCompanyPage(@RequestBody CompanyInfoQO companyInfoQO, HttpServletRequest request) {
return companyService.listCompanyPage(companyInfoQO, this.getUserLoginInfoFromRedis(request)); return companyService.listCompanyPage(companyInfoQO, this.getUserLoginInfoFromRedis(request));
} }
@ApiIgnore @ApiIgnore
@ApiOperation(value = "单位列表-后台使用") @ApiOperation(value = "单位列表-后台使用")
@ApiResponses({ @ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class) }) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@PostMapping("listCompanyPageBack") @PostMapping("listCompanyPageBack")
public List<CompanyInfoVO> listCompanyPageBack(@RequestBody CompanyInfoQO companyInfoQO){ public List<CompanyInfoVO> listCompanyPageBack(@RequestBody CompanyInfoQO companyInfoQO) {
return companyService.listCompanyPageBack(companyInfoQO); return companyService.listCompanyPageBack(companyInfoQO);
} }
@ApiOperation(value = "绑定小程序用户")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyInfoVO.class)})
@GetMapping("bindingCompanyMember")
public ResultBody bindingCompanyMember(@RequestParam Integer userAccountId,
@RequestParam Integer companyInfoId) {
return companyService.bindingCompanyMember(userAccountId, companyInfoId);
}
} }
...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.dao; ...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.dao;
import com.mmc.iuav.user.entity.CompanyBackUserDO; import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO; import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.entity.CompanyMemberDO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO; import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -16,24 +17,28 @@ import java.util.List; ...@@ -16,24 +17,28 @@ import java.util.List;
public interface CompanyDao { public interface CompanyDao {
/** /**
* 添加单位 * 添加单位
*
* @param companyInfoDO * @param companyInfoDO
*/ */
void addCompanyInfo(CompanyInfoDO companyInfoDO); void addCompanyInfo(CompanyInfoDO companyInfoDO);
/** /**
* 移除单位 * 移除单位
*
* @param id * @param id
*/ */
void removeCompanyInfo(Integer id); void removeCompanyInfo(Integer id);
/** /**
* 修改单位 * 修改单位
*
* @param companyInfoDO * @param companyInfoDO
*/ */
void updateCompanyInfo(CompanyInfoDO companyInfoDO); void updateCompanyInfo(CompanyInfoDO companyInfoDO);
/** /**
* 单位查询 * 单位查询
*
* @param id * @param id
* @return * @return
*/ */
...@@ -41,6 +46,7 @@ public interface CompanyDao { ...@@ -41,6 +46,7 @@ public interface CompanyDao {
/** /**
* 单位数量查询 * 单位数量查询
*
* @param param * @param param
* @return * @return
*/ */
...@@ -48,6 +54,7 @@ public interface CompanyDao { ...@@ -48,6 +54,7 @@ public interface CompanyDao {
/** /**
* 单位列表 * 单位列表
*
* @param param * @param param
* @return * @return
*/ */
...@@ -55,6 +62,7 @@ public interface CompanyDao { ...@@ -55,6 +62,7 @@ public interface CompanyDao {
/** /**
* 通过用户ID获取单位信息 * 通过用户ID获取单位信息
*
* @param backUserAccountId * @param backUserAccountId
* @return * @return
*/ */
...@@ -62,18 +70,21 @@ public interface CompanyDao { ...@@ -62,18 +70,21 @@ public interface CompanyDao {
/** /**
* 添加绑定关系 * 添加绑定关系
*
* @param companyBackUserDO * @param companyBackUserDO
*/ */
void addCompanyBackUser(CompanyBackUserDO companyBackUserDO); void addCompanyBackUser(CompanyBackUserDO companyBackUserDO);
/** /**
* 修改绑定关系 * 修改绑定关系
*
* @param companyBackUserDO * @param companyBackUserDO
*/ */
void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO); void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO);
/** /**
* 查询单位绑定的账号数量 * 查询单位绑定的账号数量
*
* @param id * @param id
* @return * @return
*/ */
...@@ -81,6 +92,7 @@ public interface CompanyDao { ...@@ -81,6 +92,7 @@ public interface CompanyDao {
/** /**
* 通过用户id获取单位信息 * 通过用户id获取单位信息
*
* @param backUserIds * @param backUserIds
* @return * @return
*/ */
...@@ -88,9 +100,41 @@ public interface CompanyDao { ...@@ -88,9 +100,41 @@ public interface CompanyDao {
/** /**
* 查询同名单位个数 * 查询同名单位个数
*
* @param id * @param id
* @param companyName * @param companyName
* @return * @return
*/ */
int countCompanyNames(Integer id, String companyName); int countCompanyNames(Integer id, String companyName);
/**
* 通过单位名称查询单位信息
*
* @param companyName
* @return
*/
CompanyInfoDO getCompanyInfoByName(String companyName);
/**
* 企业绑定的成员
*
* @param companyInfoId
* @return
*/
List<CompanyMemberDO> listCompanyMembers(Integer companyInfoId);
/**
* 绑定成员
*
* @param companyMemberDO
*/
void addCompanyMember(CompanyMemberDO companyMemberDO);
/**
* 小程序获取绑定企业信息
*
* @param userAccountId
* @return
*/
CompanyInfoDO getAppCompanyInfoUId(Integer userAccountId);
} }
package com.mmc.iuav.user.entity; package com.mmc.iuav.user.entity;
import com.mmc.iuav.user.model.vo.CompanyAuthVO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO; import com.mmc.iuav.user.model.vo.CompanyInfoVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -27,12 +29,20 @@ public class CompanyInfoDO implements Serializable { ...@@ -27,12 +29,20 @@ public class CompanyInfoDO implements Serializable {
private String phoneNum; private String phoneNum;
private String remark; private String remark;
private Integer backUserAccountId; private Integer backUserAccountId;
private Double lat;
private Double lon;
private String creditCode;
private String licenseImg;
public CompanyInfoVO buildCompanyInfoVO() { public CompanyInfoVO buildCompanyInfoVO() {
return CompanyInfoVO.builder().id(id).companyType(companyType).companyName(companyName).fullName(fullName).province(province) return CompanyInfoVO.builder().id(id).companyType(companyType).companyName(companyName).fullName(fullName).province(province)
.city(city).district(district).address(address).companyUserName(companyUserName).phoneNum(phoneNum).remark(remark).build(); .city(city).district(district).address(address).companyUserName(companyUserName).phoneNum(phoneNum).remark(remark).build();
} }
public CompanyAuthVO buildCompanyAuthVO() {
return CompanyAuthVO.builder().id(this.id).companyName(this.companyName).creditCode(this.creditCode).licenseImg(this.licenseImg).build();
}
public CompanyInfoDO(CompanyInfoVO companyInfo) { public CompanyInfoDO(CompanyInfoVO companyInfo) {
this.id = companyInfo.getId(); this.id = companyInfo.getId();
this.companyType = companyInfo.getCompanyType(); this.companyType = companyInfo.getCompanyType();
......
package com.mmc.iuav.user.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author: zj
* @Date: 2023/7/24 16:10
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CompanyMemberDO implements Serializable {
private static final long serialVersionUID = -794726861746700741L;
private Integer id;
private Integer userAccountId;
private Integer companyInfoId;
private Integer leader;
private Date createTime;
}
...@@ -16,6 +16,7 @@ import java.util.List; ...@@ -16,6 +16,7 @@ import java.util.List;
public interface CompanyService { public interface CompanyService {
/** /**
* 新增 * 新增
*
* @param companyInfo * @param companyInfo
* @return * @return
*/ */
...@@ -23,6 +24,7 @@ public interface CompanyService { ...@@ -23,6 +24,7 @@ public interface CompanyService {
/** /**
* 移除 * 移除
*
* @param id * @param id
* @param token * @param token
* @return * @return
...@@ -31,6 +33,7 @@ public interface CompanyService { ...@@ -31,6 +33,7 @@ public interface CompanyService {
/** /**
* 修改 * 修改
*
* @param companyInfo * @param companyInfo
* @return * @return
*/ */
...@@ -38,6 +41,7 @@ public interface CompanyService { ...@@ -38,6 +41,7 @@ public interface CompanyService {
/** /**
* 单位查询 * 单位查询
*
* @param id * @param id
* @return * @return
*/ */
...@@ -45,6 +49,7 @@ public interface CompanyService { ...@@ -45,6 +49,7 @@ public interface CompanyService {
/** /**
* 单位列表 * 单位列表
*
* @param companyInfoQO * @param companyInfoQO
* @param userLoginInfoFromRedis * @param userLoginInfoFromRedis
* @return * @return
...@@ -53,6 +58,7 @@ public interface CompanyService { ...@@ -53,6 +58,7 @@ public interface CompanyService {
/** /**
* 通过用户id获取单位信息 * 通过用户id获取单位信息
*
* @param backUserAccountId * @param backUserAccountId
* @return * @return
*/ */
...@@ -60,12 +66,14 @@ public interface CompanyService { ...@@ -60,12 +66,14 @@ public interface CompanyService {
/** /**
* 添加绑定关系 * 添加绑定关系
*
* @param companyBackUserDO * @param companyBackUserDO
*/ */
void addCompanyBackUser(CompanyBackUserDO companyBackUserDO); void addCompanyBackUser(CompanyBackUserDO companyBackUserDO);
/** /**
* 修改绑定关系 * 修改绑定关系
*
* @param companyBackUserDO * @param companyBackUserDO
*/ */
void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO); void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO);
...@@ -74,8 +82,18 @@ public interface CompanyService { ...@@ -74,8 +82,18 @@ public interface CompanyService {
/** /**
* 通过用户id获取单位信息 * 通过用户id获取单位信息
*
* @param backUserIds * @param backUserIds
* @return * @return
*/ */
List<CompanyInfoDO> listCompanyInfoByUID(List<Integer> backUserIds); List<CompanyInfoDO> listCompanyInfoByUID(List<Integer> backUserIds);
/**
* 绑定小程序用户
*
* @param userAccountId
* @param companyInfoId
* @return
*/
ResultBody bindingCompanyMember(Integer userAccountId, Integer companyInfoId);
} }
...@@ -7,6 +7,7 @@ import com.mmc.iuav.user.client.PmsClient; ...@@ -7,6 +7,7 @@ import com.mmc.iuav.user.client.PmsClient;
import com.mmc.iuav.user.dao.CompanyDao; import com.mmc.iuav.user.dao.CompanyDao;
import com.mmc.iuav.user.entity.CompanyBackUserDO; import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO; import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.entity.CompanyMemberDO;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO; import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO; import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO; import com.mmc.iuav.user.model.vo.CompanyInfoVO;
...@@ -45,12 +46,12 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -45,12 +46,12 @@ public class CompanyServiceImpl implements CompanyService {
public ResultBody removeCompanyInfo(Integer id, String token) { public ResultBody removeCompanyInfo(Integer id, String token) {
// 查询绑定账号数量是否大于0 // 查询绑定账号数量是否大于0
int backAccountCount = companyDao.countCompanyBackUser(id); int backAccountCount = companyDao.countCompanyBackUser(id);
if (backAccountCount > 0){ if (backAccountCount > 0) {
return ResultBody.error(ResultEnum.REMOVE_COMPANY_BINDING_ERROR); return ResultBody.error(ResultEnum.REMOVE_COMPANY_BINDING_ERROR);
} }
// 查询绑定服务数量是否大于0 // 查询绑定服务数量是否大于0
Integer taskCount = pmsClient.countCompanyTasks(id, token); Integer taskCount = pmsClient.countCompanyTasks(id, token);
if ( taskCount == null || taskCount > 0){ if (taskCount == null || taskCount > 0) {
return ResultBody.error(ResultEnum.REMOVE_COMPANY_TASK_ERROR); return ResultBody.error(ResultEnum.REMOVE_COMPANY_TASK_ERROR);
} }
companyDao.removeCompanyInfo(id); companyDao.removeCompanyInfo(id);
...@@ -71,7 +72,7 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -71,7 +72,7 @@ public class CompanyServiceImpl implements CompanyService {
@Override @Override
public ResultBody getCompanyInfoById(Integer id) { public ResultBody getCompanyInfoById(Integer id) {
CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoById(id); CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoById(id);
if (companyInfoDO != null){ if (companyInfoDO != null) {
return ResultBody.success(companyInfoDO.buildCompanyInfoVO()); return ResultBody.success(companyInfoDO.buildCompanyInfoVO());
} }
return ResultBody.success(); return ResultBody.success();
...@@ -80,11 +81,11 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -80,11 +81,11 @@ public class CompanyServiceImpl implements CompanyService {
@Override @Override
public ResultBody<CompanyInfoVO> listCompanyPage(CompanyInfoQO param, LoginSuccessDTO loginSuccessDTO) { public ResultBody<CompanyInfoVO> listCompanyPage(CompanyInfoQO param, LoginSuccessDTO loginSuccessDTO) {
CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoByBackUserAccountId(loginSuccessDTO.getUserAccountId()); CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoByBackUserAccountId(loginSuccessDTO.getUserAccountId());
if (companyInfoDO != null && !companyInfoDO.getCompanyType().equals(0)){ if (companyInfoDO != null && !companyInfoDO.getCompanyType().equals(0)) {
param.setCompanyInfoId(companyInfoDO.getId()); param.setCompanyInfoId(companyInfoDO.getId());
} }
int count = companyDao.countListCompanyPage(param); int count = companyDao.countListCompanyPage(param);
if (count == 0){ if (count == 0) {
return ResultBody.success(PageResult.buildPage(param.getPageNo(), param.getPageSize(), count)); return ResultBody.success(PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
} }
Integer pageNo = param.getPageNo(); Integer pageNo = param.getPageNo();
...@@ -112,6 +113,7 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -112,6 +113,7 @@ public class CompanyServiceImpl implements CompanyService {
public void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO) { public void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO) {
companyDao.updateCompanyBackUser(companyBackUserDO); companyDao.updateCompanyBackUser(companyBackUserDO);
} }
@Override @Override
public List<CompanyInfoVO> listCompanyPageBack(CompanyInfoQO param) { public List<CompanyInfoVO> listCompanyPageBack(CompanyInfoQO param) {
Integer pageNo = param.getPageNo(); Integer pageNo = param.getPageNo();
...@@ -126,4 +128,14 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -126,4 +128,14 @@ public class CompanyServiceImpl implements CompanyService {
List<CompanyInfoDO> companyInfoDOList = companyDao.listCompanyInfoByUID(backUserIds); List<CompanyInfoDO> companyInfoDOList = companyDao.listCompanyInfoByUID(backUserIds);
return companyInfoDOList; return companyInfoDOList;
} }
@Override
public ResultBody bindingCompanyMember(Integer userAccountId, Integer companyInfoId) {
CompanyMemberDO companyMemberDO = new CompanyMemberDO();
companyMemberDO.setUserAccountId(userAccountId);
companyMemberDO.setCompanyInfoId(companyInfoId);
companyMemberDO.setLeader(0);
companyDao.addCompanyMember(companyMemberDO);
return ResultBody.success();
}
} }
package com.mmc.iuav.user.service.impl; package com.mmc.iuav.user.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.mmc.iuav.http.BizException;
import com.mmc.iuav.page.PageResult; import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum; import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.dao.CompanyAuthDao; import com.mmc.iuav.user.dao.CompanyAuthDao;
import com.mmc.iuav.user.dao.CompanyDao;
import com.mmc.iuav.user.dao.CooperationDao; import com.mmc.iuav.user.dao.CooperationDao;
import com.mmc.iuav.user.entity.*; import com.mmc.iuav.user.entity.*;
import com.mmc.iuav.user.enums.RoleEnums;
import com.mmc.iuav.user.model.dto.WebsiteRangeDTO; import com.mmc.iuav.user.model.dto.WebsiteRangeDTO;
import com.mmc.iuav.user.model.qo.ApplyQO; import com.mmc.iuav.user.model.qo.ApplyQO;
import com.mmc.iuav.user.model.vo.*; import com.mmc.iuav.user.model.vo.*;
import com.mmc.iuav.user.service.BackUserAccountService;
import com.mmc.iuav.user.service.CooperationService; import com.mmc.iuav.user.service.CooperationService;
import com.mmc.iuav.user.service.UserAccountService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -22,6 +30,7 @@ import java.util.stream.Collectors; ...@@ -22,6 +30,7 @@ import java.util.stream.Collectors;
* @author: zj @Date: 2023/5/17 21:19 * @author: zj @Date: 2023/5/17 21:19
*/ */
@Service @Service
@Slf4j
public class CooperationServiceImpl implements CooperationService { public class CooperationServiceImpl implements CooperationService {
@Autowired @Autowired
private CooperationDao cooperationDao; private CooperationDao cooperationDao;
...@@ -29,6 +38,15 @@ public class CooperationServiceImpl implements CooperationService { ...@@ -29,6 +38,15 @@ public class CooperationServiceImpl implements CooperationService {
@Autowired @Autowired
private CompanyAuthDao companyAuthDao; private CompanyAuthDao companyAuthDao;
@Autowired
private BackUserAccountService backUserAccountService;
@Autowired
private UserAccountService userAccountService;
@Autowired
private CompanyDao companyDao;
@Override @Override
public List<CooperationTagVO> listTag() { public List<CooperationTagVO> listTag() {
List<CooperationTagDO> list = cooperationDao.listTags(); List<CooperationTagDO> list = cooperationDao.listTags();
...@@ -143,12 +161,58 @@ public class CooperationServiceImpl implements CooperationService { ...@@ -143,12 +161,58 @@ public class CooperationServiceImpl implements CooperationService {
userTagDO.setCooperationTagId(userApplyTag.getCooperationTagId()); userTagDO.setCooperationTagId(userApplyTag.getCooperationTagId());
cooperationDao.insertUserTag(userTagDO); cooperationDao.insertUserTag(userTagDO);
} }
// 审批通过生成后台对应的账号
BUserAccountVO bUserAccountVO = this.generateBackUserAccountVO(userApplyTag);
ResultBody resultBody = backUserAccountService.insertBAccount(bUserAccountVO);
if (!resultBody.getCode().equals(ResultEnum.SUCCESS.getResultCode())) {
throw new BizException("审核失败,请联系管理人员!");
}
// TODO 发送短信通知
log.info("bUserAccountVO:{}", JSONObject.toJSONString(bUserAccountVO));
} else { } else {
cooperationDao.updateApplyTagStatus(id, 2); cooperationDao.updateApplyTagStatus(id, 2);
} }
return ResultBody.success(); return ResultBody.success();
} }
private BUserAccountVO generateBackUserAccountVO(UserApplyTagDO userApplyTagDO) {
BUserAccountVO bUserAccountVO = new BUserAccountVO();
UserAccountVO userAccountVO = userAccountService.getUserAccountById(userApplyTagDO.getUserAccountId());
bUserAccountVO.setAccountNo(userAccountVO.getPhoneNum());
bUserAccountVO.setUserName(userApplyTagDO.getApplyName());
bUserAccountVO.setPhoneNum(userAccountVO.getPhoneNum());
String password = RandomStringUtils.randomAlphanumeric(8);
bUserAccountVO.setPassWord(password);
bUserAccountVO.setAlertPwd(password);
bUserAccountVO.setAccountStatus(1);
bUserAccountVO.setRoleId(RoleEnums.FRANCHISEE.getId());
// 添加单位id
CompanyInfoDO companyInfo = this.getCompanyInfo(userApplyTagDO);
bUserAccountVO.setCompanyId(companyInfo.getId());
bUserAccountVO.setRemark("加盟商自动生成");
return bUserAccountVO;
}
private CompanyInfoDO getCompanyInfo(UserApplyTagDO userApplyTagDO) {
// 查询小程序用户认证单位信息
CompanyAuthDO companyAuth = companyAuthDao.getCompanyAuth(userApplyTagDO.getUserAccountId());
// 验证是否已经添加单位信息
CompanyInfoDO existCompanyInfo = companyDao.getCompanyInfoByName(companyAuth.getCompanyName());
// 添加单位信息
if (existCompanyInfo == null) {
CompanyInfoDO companyInfoDO = new CompanyInfoDO();
companyInfoDO.setCompanyType(1);
companyInfoDO.setCompanyName(companyAuth.getCompanyName());
companyInfoDO.setFullName(companyAuth.getCompanyName());
companyInfoDO.setCompanyUserName(userApplyTagDO.getApplyName());
companyInfoDO.setPhoneNum(userApplyTagDO.getApplyPhone());
companyDao.addCompanyInfo(companyInfoDO);
return companyInfoDO;
} else {
return existCompanyInfo;
}
}
@Override @Override
public ResultBody editUserApplyTag(ApplyTagEditVO applyTagEditVO) { public ResultBody editUserApplyTag(ApplyTagEditVO applyTagEditVO) {
//判断当前服务商是否通过审核 //判断当前服务商是否通过审核
......
...@@ -4,16 +4,24 @@ ...@@ -4,16 +4,24 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.iuav.user.dao.CompanyDao"> <mapper namespace="com.mmc.iuav.user.dao.CompanyDao">
<insert id="addCompanyInfo" useGeneratedKeys="true" keyProperty="id" parameterType="com.mmc.iuav.user.entity.CompanyInfoDO"> <insert id="addCompanyInfo" useGeneratedKeys="true" keyProperty="id"
insert into company_info(company_type,company_name,full_name,province,city,district,address,company_user_name,phone_num,remark,create_time) parameterType="com.mmc.iuav.user.entity.CompanyInfoDO">
values (#{companyType}, #{companyName}, #{fullName}, #{province}, #{city}, #{district}, #{address}, #{companyUserName}, #{phoneNum}, #{remark}, NOW()) insert into company_info(company_type,company_name,full_name,province,city,district,address,company_user_name,phone_num,remark,create_time,credit_code,license_img)
values (#{companyType}, #{companyName}, #{fullName}, #{province}, #{city}, #{district}, #{address}, #{companyUserName}, #{phoneNum}, #{remark}, NOW(), #{creditCode}, #{licenseImg})
</insert> </insert>
<insert id="addCompanyBackUser" parameterType="com.mmc.iuav.user.entity.CompanyBackUserDO" keyProperty="id" useGeneratedKeys="true"> <insert id="addCompanyBackUser" parameterType="com.mmc.iuav.user.entity.CompanyBackUserDO" keyProperty="id"
useGeneratedKeys="true">
insert into company_back_user(back_user_account_id, company_info_id, create_time) insert into company_back_user(back_user_account_id, company_info_id, create_time)
values (#{backUserAccountId}, #{companyInfoId}, NOW()) values (#{backUserAccountId}, #{companyInfoId}, NOW())
</insert> </insert>
<insert id="addCompanyMember" parameterType="com.mmc.iuav.user.entity.CompanyMemberDO" keyProperty="id"
useGeneratedKeys="true">
insert into company_member(user_account_id, company_info_id, is_leader, create_time)
values (#{userAccountId}, #{companyInfoId}, #{leader}, NOW())
</insert>
<update id="removeCompanyInfo"> <update id="removeCompanyInfo">
update company_info set is_deleted = 1 where id = #{id} update company_info set is_deleted = 1 where id = #{id}
</update> </update>
...@@ -65,7 +73,8 @@ ...@@ -65,7 +73,8 @@
where id = #{id} and is_deleted = 0 where id = #{id} and is_deleted = 0
</select> </select>
<select id="countListCompanyPage" resultType="java.lang.Integer" parameterType="com.mmc.iuav.user.model.qo.CompanyInfoQO"> <select id="countListCompanyPage" resultType="java.lang.Integer"
parameterType="com.mmc.iuav.user.model.qo.CompanyInfoQO">
select count(*) from company_info select count(*) from company_info
where is_deleted = 0 where is_deleted = 0
<if test="companyName != null"> <if test="companyName != null">
...@@ -76,8 +85,10 @@ ...@@ -76,8 +85,10 @@
</if> </if>
</select> </select>
<select id="listCompanyPage" resultType="com.mmc.iuav.user.entity.CompanyInfoDO" parameterType="com.mmc.iuav.user.model.qo.CompanyInfoQO"> <select id="listCompanyPage" resultType="com.mmc.iuav.user.entity.CompanyInfoDO"
select id, company_type, company_name, full_name, province, city, district, address, company_user_name, phone_num, remark, create_time parameterType="com.mmc.iuav.user.model.qo.CompanyInfoQO">
select id, company_type, company_name, full_name, province, city, district, address, company_user_name,
phone_num, remark, create_time
from company_info from company_info
where is_deleted = 0 where is_deleted = 0
<if test="companyName != null"> <if test="companyName != null">
...@@ -105,12 +116,14 @@ ...@@ -105,12 +116,14 @@
</select> </select>
<select id="listCompanyInfoByUID" resultType="com.mmc.iuav.user.entity.CompanyInfoDO"> <select id="listCompanyInfoByUID" resultType="com.mmc.iuav.user.entity.CompanyInfoDO">
SELECT ci.id, ci.company_type, ci.company_name, ci.full_name, ci.province, ci.city, ci.district, ci.address, ci.company_user_name, SELECT ci.id, ci.company_type, ci.company_name, ci.full_name, ci.province, ci.city, ci.district, ci.address,
ci.phone_num, ci.remark, ci.create_time, cbu.back_user_account_id ci.company_user_name,
ci.phone_num, ci.remark, ci.create_time, cbu.back_user_account_id
FROM company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id FROM company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id
WHERE ci.is_deleted = 0 WHERE ci.is_deleted = 0
<if test="backUserIds != null"> <if test="backUserIds != null">
<foreach collection="backUserIds" item="backUserAccountId" open="and cbu.back_user_account_id in (" close=")" separator=","> <foreach collection="backUserIds" item="backUserAccountId" open="and cbu.back_user_account_id in ("
close=")" separator=",">
#{backUserAccountId} #{backUserAccountId}
</foreach> </foreach>
</if> </if>
...@@ -123,4 +136,28 @@ ...@@ -123,4 +136,28 @@
and ci.id != #{id} and ci.id != #{id}
</if> </if>
</select> </select>
<select id="getCompanyInfoByName" resultType="com.mmc.iuav.user.entity.CompanyInfoDO">
select id, company_type, company_name, full_name, province, city, district, address, company_user_name, phone_num, remark, create_time
from company_info
where company_name = #{companyName} and is_deleted = 0
</select>
<select id="listCompanyMembers" resultType="com.mmc.iuav.user.entity.CompanyMemberDO">
select id,user_account_id,company_info_id,is_leader as leader from company_member where company_info_id = #{companyInfoId}
</select>
<select id="getAppCompanyInfoUId" resultType="com.mmc.iuav.user.entity.CompanyInfoDO">
SELECT
ci.id,
ci.company_type,
ci.company_name,
ci.credit_code,
ci.license_img
FROM
company_info ci
INNER JOIN company_member cm ON ci.id = cm.company_info_id
WHERE
cm.user_account_id = #{userAccountId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="companyAuthStatus" column="companyAuthStatus"/> <result property="companyAuthStatus" column="companyAuthStatus"/>
<result property="companyName" column="companyName"/> <result property="companyName" column="company_name"/>
<association property="userRcdDO" javaType="com.mmc.iuav.user.entity.UserRcdDO"> <association property="userRcdDO" javaType="com.mmc.iuav.user.entity.UserRcdDO">
<id property="id" column="user_rcd_id"/> <id property="id" column="user_rcd_id"/>
<result property="rcdUserId" column="rcd_user_id"/> <result property="rcdUserId" column="rcd_user_id"/>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论