gongyingshangxinxi denglu

This commit is contained in:
houjishuang
2025-06-09 11:27:54 +08:00
parent caa540c57e
commit 2dbaf8c27a
14 changed files with 183 additions and 53 deletions

View File

@ -0,0 +1,5 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.constant;
public interface SupplierRoleConstant {
String SUPPLIER_ROLE_AGENT_ID = "121";
}

View File

@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO; import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.ICoscoSupplierBaseService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.ISupplierBaseService;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -26,10 +28,10 @@ import javax.validation.Valid;
@RestController @RestController
@RequestMapping("/supplier/base") @RequestMapping("/supplier/base")
@Api(tags = "中远海运供应商基本信息管理") @Api(tags = "中远海运供应商基本信息管理")
public class CoscoSupplierBaseController { public class SupplierBaseController {
@Resource @Resource
private ICoscoSupplierBaseService coscoSupplierBaseService; private ISupplierBaseService coscoSupplierBaseService;
/** /**
* 插入新数据 * 插入新数据
@ -116,4 +118,12 @@ public class CoscoSupplierBaseController {
return BaseResponse.success(coscoSupplierBaseService.getProviderForAgency(providerId)); return BaseResponse.success(coscoSupplierBaseService.getProviderForAgency(providerId));
} }
@ApiOperation("selectByMainContactId")
@PostMapping("/supplierContact/agents")
public BaseResponse<IPage<ContactDTO>> selectByMainContactId(ContactSearchVO searchVO) {
return BaseResponse.success(coscoSupplierBaseService.selectByMainContactId(searchVO));
}
} }

View File

@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Param;
* @date 2024-01-29 * @date 2024-01-29
*/ */
@Mapper @Mapper
public interface CoscoSupplierBaseMapper extends BaseMapper<CoscoSupplierBase> { public interface SupplierBaseMapper extends BaseMapper<CoscoSupplierBase> {
IPage<CoscoSupplierBaseDTO> getAccessedOfMyOrgPage(IPage<CoscoSupplierBaseDTO> page,@Param("coscoSupplierBase") SupplierAccessedOfMyOrgVO coscoSupplierBase); IPage<CoscoSupplierBaseDTO> getAccessedOfMyOrgPage(IPage<CoscoSupplierBaseDTO> page,@Param("coscoSupplierBase") SupplierAccessedOfMyOrgVO coscoSupplierBase);
CoscoSupplierBaseDTO getProviderForAgency(String providerId); CoscoSupplierBaseDTO getProviderForAgency(String providerId);

View File

@ -1,8 +1,14 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.dao; package com.chinaunicom.zyhy.ebtp.supplier.base.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.entity.SupplierContact; import com.chinaunicom.zyhy.ebtp.supplier.base.entity.SupplierContact;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 中远海运供应商联系人Mapper接口 * 中远海运供应商联系人Mapper接口
@ -11,4 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface SupplierContactMapper extends BaseMapper<SupplierContact> { public interface SupplierContactMapper extends BaseMapper<SupplierContact> {
IPage<ContactDTO> selectByMainContactId(IPage<ContactDTO> page, @Param("searchVO") ContactSearchVO searchVO);
} }

View File

@ -10,4 +10,6 @@ import lombok.experimental.Accessors;
@ApiModel(description = "中远海运供应商联系人DTO") @ApiModel(description = "中远海运供应商联系人DTO")
public class ContactDTO extends SupplierContact { public class ContactDTO extends SupplierContact {
private String roleCode; private String roleCode;
private String roleName;
private Boolean hasAgentRole;
} }

View File

@ -2,8 +2,10 @@ package com.chinaunicom.zyhy.ebtp.supplier.base.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO; import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO;
/** /**
@ -11,8 +13,11 @@ import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO;
* @author Craft * @author Craft
* @date 2024-01-29 * @date 2024-01-29
*/ */
public interface ICoscoSupplierBaseService extends IService<CoscoSupplierBase> { public interface ISupplierBaseService extends IService<CoscoSupplierBase> {
IPage<CoscoSupplierBaseDTO> getAccessedOfMyOrgPage(SupplierAccessedOfMyOrgVO coscoSupplierBase); IPage<CoscoSupplierBaseDTO> getAccessedOfMyOrgPage(SupplierAccessedOfMyOrgVO coscoSupplierBase);
CoscoSupplierBaseDTO getProviderForAgency(String providerId); CoscoSupplierBaseDTO getProviderForAgency(String providerId);
IPage<ContactDTO> selectByMainContactId(ContactSearchVO searchVO);
} }

View File

@ -1,44 +0,0 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.zyhy.ebtp.supplier.base.dao.CoscoSupplierBaseMapper;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.ICoscoSupplierBaseService;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 中远海运供应商基本信息Service实现类
* @author Craft
* @date 2024-01-29
*/
@Service
public class CoscoSupplierBaseServiceImpl extends ServiceImpl<CoscoSupplierBaseMapper, CoscoSupplierBase> implements ICoscoSupplierBaseService {
@Resource
private CoscoSupplierBaseMapper coscoSupplierBaseMapper;
@Resource
private IBaseCacheUserService cacheUserService;
@Override
public IPage<CoscoSupplierBaseDTO> getAccessedOfMyOrgPage( SupplierAccessedOfMyOrgVO coscoSupplierBase) {
IPage<CoscoSupplierBaseDTO> page= new Page<>(coscoSupplierBase.getPageNo(),coscoSupplierBase.getPageSize());
BaseCacheUser cacheUser = cacheUserService.getCacheUser();
if((cacheUser!=null)&&(cacheUser.getDeptId()!=null)){
coscoSupplierBase.setDeptId(cacheUser.getDeptId());
}
return coscoSupplierBaseMapper.getAccessedOfMyOrgPage(page,coscoSupplierBase);
}
@Override
public CoscoSupplierBaseDTO getProviderForAgency(String providerId) {
return coscoSupplierBaseMapper.getProviderForAgency(providerId);
}
}

View File

@ -0,0 +1,78 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
import com.chinaunicom.zyhy.ebtp.supplier.base.constant.SupplierRoleConstant;
import com.chinaunicom.zyhy.ebtp.supplier.base.dao.SupplierBaseMapper;
import com.chinaunicom.zyhy.ebtp.supplier.base.dao.SupplierContactMapper;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.dto.CoscoSupplierBaseDTO;
import com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase;
import com.chinaunicom.zyhy.ebtp.supplier.base.service.ISupplierBaseService;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.ContactSearchVO;
import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SupplierAccessedOfMyOrgVO;
import com.chinaunicom.zyhy.ebtp.supplier.feign.SystemApi;
import com.chinaunicom.zyhy.ebtp.supplier.feign.vo.SysUserRole;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 中远海运供应商基本信息Service实现类
* @author Craft
* @date 2024-01-29
*/
@Service
public class SupplierBaseServiceImpl extends ServiceImpl<SupplierBaseMapper, CoscoSupplierBase> implements ISupplierBaseService {
@Resource
private SupplierBaseMapper supplierBaseMapper;
@Resource
private IBaseCacheUserService cacheUserService;
@Resource
private SupplierContactMapper supplierContactMapper;
@Resource
private SystemApi systemApi;
@Override
public IPage<CoscoSupplierBaseDTO> getAccessedOfMyOrgPage( SupplierAccessedOfMyOrgVO coscoSupplierBase) {
IPage<CoscoSupplierBaseDTO> page= new Page<>(coscoSupplierBase.getPageNo(),coscoSupplierBase.getPageSize());
BaseCacheUser cacheUser = cacheUserService.getCacheUser();
if((cacheUser!=null)&&(cacheUser.getDeptId()!=null)){
coscoSupplierBase.setDeptId(cacheUser.getDeptId());
}
return supplierBaseMapper.getAccessedOfMyOrgPage(page,coscoSupplierBase);
}
@Override
public CoscoSupplierBaseDTO getProviderForAgency(String providerId) {
return supplierBaseMapper.getProviderForAgency(providerId);
}
@Override
public IPage<ContactDTO> selectByMainContactId(ContactSearchVO searchVO) {
BaseCacheUser cacheUser = cacheUserService.getCacheUser();
if((cacheUser==null)||(cacheUser.getUserId()==null)){
throw new RuntimeException("用户未登录");
}
IPage<ContactDTO> page= new Page<>(searchVO.getPageNo(),searchVO.getPageSize());
searchVO.setMainContactAccountId(cacheUser.getUserId());
page=supplierContactMapper.selectByMainContactId(page,searchVO);
if(page!=null && page.getRecords()!=null && page.getRecords().size()>0){
for(ContactDTO contactDTO:page.getRecords()){
SysUserRole userRole = new SysUserRole(contactDTO.getAcount(), SupplierRoleConstant.SUPPLIER_ROLE_AGENT_ID);//(contactDTO.getContactId(),cacheUser.getUserId());
BaseResponse<Boolean> booleanBaseResponse = systemApi.hasRole(userRole);
contactDTO.setHasAgentRole(booleanBaseResponse.isSuccess()&&(booleanBaseResponse.getData()!=null)?booleanBaseResponse.getData().booleanValue():false);
contactDTO.setRoleCode(booleanBaseResponse.isSuccess()&&(booleanBaseResponse.getData()!=null)?SupplierRoleConstant.SUPPLIER_ROLE_AGENT_ID:"");
}
}
return page;
}
}

View File

@ -1,4 +1,12 @@
package com.chinaunicom.zyhy.ebtp.supplier.base.vo; package com.chinaunicom.zyhy.ebtp.supplier.base.vo;
public class ContactSearchVO { import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
public class ContactSearchVO extends BasePageRequest {
@NotEmpty
String mainContactAccountId ;
String name ;
} }

View File

@ -0,0 +1,18 @@
package com.chinaunicom.zyhy.ebtp.supplier.feign;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.zyhy.ebtp.supplier.feign.vo.SysUserRole;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
@FeignClient(value = "${mconfig.service-name-system}")
public interface SystemApi {
@PostMapping("/v1/sysuserrole/hasRole")
public BaseResponse<Boolean> hasRole (@Valid @ApiParam(value = "对象数据", required = true) @RequestBody SysUserRole sysUserRole);
}

View File

@ -0,0 +1,36 @@
package com.chinaunicom.zyhy.ebtp.supplier.feign.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
/**
* 实体类 SysUserRole-用户与角色关系表
*
* @author yss
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "SysUserRole对象", description = "用户与角色关系表")
public class SysUserRole implements Serializable {
private static final long serialVersionUID = 1L;
@NotEmpty
@ApiModelProperty(value = "用户ID")
private String userId;
@NotEmpty
@ApiModelProperty(value = "角色ID")
private String roleId;
}

View File

@ -138,6 +138,7 @@ mconfig:
service-name-resps: biz-service-ebtp-resps #标段应答文件 service-name-resps: biz-service-ebtp-resps #标段应答文件
service-name-rsms: biz-service-ebtp-rsms #评审微服务 service-name-rsms: biz-service-ebtp-rsms #评审微服务
service-name-tender: biz-service-ebtp-tender #标段投标微服务 service-name-tender: biz-service-ebtp-tender #标段投标微服务
service-name-system: sys-manager-ebtp-project #系统管理微服务
wfSectionNo: '080' wfSectionNo: '080'
wfSectionName: 标段重新评审审批单 wfSectionName: 标段重新评审审批单

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.chinaunicom.zyhy.ebtp.supplier.base.dao.CoscoSupplierBaseMapper"> <mapper namespace="com.chinaunicom.zyhy.ebtp.supplier.base.dao.SupplierBaseMapper">
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase"> <resultMap id="BaseResultMap" type="com.chinaunicom.zyhy.ebtp.supplier.base.entity.CoscoSupplierBase">

View File

@ -36,13 +36,16 @@
limit 1 limit 1
</select> </select>
<select id="selectByMainContactId" resultMap="BaseResultMap"> <select id="selectByMainContactId" resultType="com.chinaunicom.zyhy.ebtp.supplier.base.dto.ContactDTO">
select select
sub.id, sub.name, sub.phone, sub.email, sub.acount, sub.main, sub.status, sub.supplier_base_id sub.id, sub.name, sub.phone, sub.email, sub.acount, sub.main, sub.status, sub.supplier_base_id
from cosco_supplier_contact mainc,cosco_supplier_base sub from cosco_supplier_contact mainc,cosco_supplier_base sub
where mainc.supplier_base_id =sub.supplier_base_id where mainc.supplier_base_id =sub.supplier_base_id
and mainc.main= '1' and sub.main='0' and mainc.main= '1' and sub.main='0'
and mainc.id = #{id} and mainc.acount = #{searchVO.mainContactAccountId}
<if test="searchVO.name!=null and searchVO.name!=''">
and sub.name like concat('%', #{searchVO.name}, '%')
</if>
</select> </select>
</mapper> </mapper>