Commit 5ee2448a authored by hcing's avatar hcing

feat(tcm): 风险报送 接口开发

parent a2ec695f
package com.yeejoin.amos.boot.module.tcm.api.dto; package com.yeejoin.amos.boot.module.tcm.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
/** /**
...@@ -63,6 +64,9 @@ public class RiskReportDto extends BaseDto { ...@@ -63,6 +64,9 @@ public class RiskReportDto extends BaseDto {
@ApiModelProperty(value = "风险关联设备recod(目前没用到,冗余)") @ApiModelProperty(value = "风险关联设备recod(目前没用到,冗余)")
private String riskEquipRecord; private String riskEquipRecord;
@ApiModelProperty(value = "操作人userId")
private String operationUserId;
@ApiModelProperty(value = "风险正文-标题") @ApiModelProperty(value = "风险正文-标题")
private String riskMainTitle; private String riskMainTitle;
......
...@@ -2,10 +2,11 @@ package com.yeejoin.amos.boot.module.tcm.api.entity; ...@@ -2,10 +2,11 @@ package com.yeejoin.amos.boot.module.tcm.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.Date; import java.util.Date;
/** /**
...@@ -107,6 +108,12 @@ public class RiskReport extends BaseEntity { ...@@ -107,6 +108,12 @@ public class RiskReport extends BaseEntity {
private String riskEquipRecord; private String riskEquipRecord;
/** /**
* 操作人userId
*/
@TableField("operation_user_id")
private String operationUserId;
/**
* 风险正文-标题 * 风险正文-标题
*/ */
@TableField("risk_main_title") @TableField("risk_main_title")
......
package com.yeejoin.amos.boot.module.tcm.api.mapper; package com.yeejoin.amos.boot.module.tcm.api.mapper;
import com.yeejoin.amos.boot.module.tcm.api.entity.RiskReport;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tcm.api.entity.RiskReport;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/** /**
* 风险报送表 Mapper 接口 * 风险报送表 Mapper 接口
...@@ -11,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface RiskReportMapper extends BaseMapper<RiskReport> { public interface RiskReportMapper extends BaseMapper<RiskReport> {
Page<Map<String, String>> allAgencyWithPage(@Param("page") Page<Map<String, String>> page,
@Param("isAdmin") boolean isAdmin,
@Param("companyName") String companyName);
} }
package com.yeejoin.amos.boot.module.tcm.api.service; package com.yeejoin.amos.boot.module.tcm.api.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import java.util.List;
import java.util.Map;
/** /**
* 风险报送表接口类 * 风险报送表接口类
* *
* @author system_generator * @author system_generator
* @date 2025-08-08 * @date 2025-08-08
*/ */
public interface IRiskReportService {} public interface IRiskReportService {
Page<Map<String, String>> allAgencyWithPage(int current, int size, boolean isAdmin, String companyName);
JSONObject superviseOrgForEnter(String enterSeq);
List<DictionarieValueModel> riskTypeByPermission();
}
...@@ -2,4 +2,23 @@ ...@@ -2,4 +2,23 @@
<!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.yeejoin.amos.boot.module.tcm.api.mapper.RiskReportMapper"> <mapper namespace="com.yeejoin.amos.boot.module.tcm.api.mapper.RiskReportMapper">
<select id="allAgencyWithPage" resultType="java.util.Map">
SELECT
sequence_nbr AS "key",
CONCAT(sequence_nbr, '_', company_name) AS "value",
company_name AS "label"
FROM
privilege_company
<where>
<if test="companyName != null and companyName != ''">
AND company_name LIKE CONCAT('%', TRIM(#{companyName}), '%')
</if>
<if test="isAdmin != null and isAdmin != '' and isAdmin == true">
AND company_type = '监管机构'
</if>
</where>
ORDER BY
sequence_nbr
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.tcm.biz.controller; package com.yeejoin.amos.boot.module.tcm.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tcm.api.entity.RiskReport; import com.yeejoin.amos.boot.module.tcm.api.entity.RiskReport;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.RiskReportServiceImpl; import com.yeejoin.amos.boot.module.tcm.api.service.IRiskReportService;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
...@@ -15,6 +17,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -15,6 +17,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* *
...@@ -23,11 +26,45 @@ import java.util.List; ...@@ -23,11 +26,45 @@ import java.util.List;
*/ */
@RestController @RestController
@Api(tags = "Api") @Api(tags = "Api")
@RequiredArgsConstructor
@RequestMapping(value = "/risk-report") @RequestMapping(value = "/risk-report")
public class RiskReportController extends BaseController { public class RiskReportController extends BaseController {
@Autowired private final IRiskReportService iRiskReportService;
RiskReportServiceImpl riskReportServiceImpl;
/**
* 包含全部监管机构及企业的分页列表
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/allAgency/page")
@ApiOperation(httpMethod = "GET", value = "包含全部监管机构及企业的分页列表", notes = "包含全部监管机构及企业的分页列表")
public ResponseModel<Page<Map<String, String>>> allAgencyWithPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "isAdmin", required = false) String isAdmin,
@RequestParam(value = "companyName", required = false) String companyName) {
return ResponseHelper.buildResponse(iRiskReportService.allAgencyWithPage(current, size, Boolean.parseBoolean(isAdmin), companyName));
}
/**
* 查询企业的监管机构
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/superviseOrgForEnter")
@ApiOperation(httpMethod = "GET", value = "查询企业的监管机构", notes = "查询企业的监管机构")
public ResponseModel<JSONObject> superviseOrgForEnter(@RequestParam(value = "enterSeq") String enterSeq) {
return ResponseHelper.buildResponse(iRiskReportService.superviseOrgForEnter(enterSeq));
}
/**
* 根据是否有权限返回风险类型列表
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/riskTypeByPermission")
@ApiOperation(httpMethod = "GET", value = "根据是否有权限返回风险类型列表", notes = "根据是否有权限返回风险类型列表")
public ResponseModel<List<DictionarieValueModel>> riskTypeByPermission() {
return ResponseHelper.buildResponse(iRiskReportService.riskTypeByPermission());
}
/** /**
* 新增 * 新增
...@@ -38,7 +75,7 @@ public class RiskReportController extends BaseController { ...@@ -38,7 +75,7 @@ public class RiskReportController extends BaseController {
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增") @ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<RiskReport> save(@RequestBody RiskReport entity) { public ResponseModel<RiskReport> save(@RequestBody RiskReport entity) {
entity = riskReportServiceImpl.createWithModel(entity); // entity = riskReportServiceImpl.createWithModel(entity);
return ResponseHelper.buildResponse(entity); return ResponseHelper.buildResponse(entity);
} }
...@@ -51,9 +88,9 @@ public class RiskReportController extends BaseController { ...@@ -51,9 +88,9 @@ public class RiskReportController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<RiskReport> updateBySequenceNbrRiskReport(@RequestBody RiskReport entity,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<RiskReport> updateBySequenceNbrRiskReport(@RequestBody RiskReport entity, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
entity.setSequenceNbr(sequenceNbr); entity.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(riskReportServiceImpl.updateWithModel(entity)); return ResponseHelper.buildResponse(null);
} }
/** /**
...@@ -65,8 +102,8 @@ public class RiskReportController extends BaseController { ...@@ -65,8 +102,8 @@ public class RiskReportController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}") @DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除") @ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){ public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(riskReportServiceImpl.removeById(sequenceNbr)); return ResponseHelper.buildResponse(null);
} }
/** /**
...@@ -77,9 +114,9 @@ public class RiskReportController extends BaseController { ...@@ -77,9 +114,9 @@ public class RiskReportController extends BaseController {
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<RiskReport> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<RiskReport> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(riskReportServiceImpl.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(null);
} }
/** /**
...@@ -91,13 +128,13 @@ public class RiskReportController extends BaseController { ...@@ -91,13 +128,13 @@ public class RiskReportController extends BaseController {
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询") @ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<RiskReport>> queryForPage(@RequestParam(value = "current") int current,@RequestParam public ResponseModel<Page<RiskReport>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) { (value = "size") int size) {
Page<RiskReport> page = new Page<RiskReport>(); Page<RiskReport> page = new Page<RiskReport>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
return ResponseHelper.buildResponse(riskReportServiceImpl.queryForRiskReportPage(page)); return ResponseHelper.buildResponse(null);
} }
/** /**
...@@ -106,9 +143,9 @@ public class RiskReportController extends BaseController { ...@@ -106,9 +143,9 @@ public class RiskReportController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<RiskReport>> selectForList() { public ResponseModel<List<RiskReport>> selectForList() {
return ResponseHelper.buildResponse(riskReportServiceImpl.queryForRiskReportList()); return ResponseHelper.buildResponse(null);
} }
} }
package com.yeejoin.amos.boot.module.tcm.biz.service.impl; package com.yeejoin.amos.boot.module.tcm.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tcm.api.entity.RiskReport; import com.yeejoin.amos.boot.module.tcm.api.entity.RiskReport;
import com.yeejoin.amos.boot.module.tcm.api.enums.PersonManageRoleEnum;
import com.yeejoin.amos.boot.module.tcm.api.mapper.RiskReportMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.RiskReportMapper;
import com.yeejoin.amos.boot.module.tcm.api.service.IRiskReportService; import com.yeejoin.amos.boot.module.tcm.api.service.IRiskReportService;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
/** /**
* 风险报送表服务实现类 * 风险报送表服务实现类
...@@ -16,7 +29,14 @@ import java.util.List; ...@@ -16,7 +29,14 @@ import java.util.List;
* @date 2025-08-08 * @date 2025-08-08
*/ */
@Service @Service
public class RiskReportServiceImpl extends BaseService<RiskReport,RiskReport,RiskReportMapper> implements IRiskReportService { @RequiredArgsConstructor
public class RiskReportServiceImpl extends BaseService<RiskReport, RiskReport, RiskReportMapper> implements IRiskReportService {
/**
* 风险类型
*/
public static final String RISK_TYPE = "RISK_TYPE";
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -28,6 +48,66 @@ public class RiskReportServiceImpl extends BaseService<RiskReport,RiskReport,Ris ...@@ -28,6 +48,66 @@ public class RiskReportServiceImpl extends BaseService<RiskReport,RiskReport,Ris
* 列表查询 示例 * 列表查询 示例
*/ */
public List<RiskReport> queryForRiskReportList() { public List<RiskReport> queryForRiskReportList() {
return this.queryForList("" , false); return this.queryForList("", false);
}
private final RedisUtils redisUtils;
private final RiskReportMapper riskReportMapper;
/**
* 包含全部监管机构及企业的分页列表
*
* @param current 当前页
* @param size 每页数量
* @param isAdmin 是否是监管机构
* @param companyName 公司名称
* @return 列表
*/
@Override
public Page<Map<String, String>> allAgencyWithPage(int current, int size, boolean isAdmin, String companyName) {
Page<Map<String, String>> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return riskReportMapper.allAgencyWithPage(page, isAdmin, companyName);
}
/**
* 查询企业的监管机构
*
* @param enterSeq 企业seq
* @return result
*/
@Override
public JSONObject superviseOrgForEnter(String enterSeq) {
CompanyModel enter = Privilege.companyClient.seleteOne(Long.valueOf(enterSeq)).getResult();
CompanyModel companyModel = Privilege.companyClient.seleteOne(enter.getParentId()).getResult();
return new JSONObject().fluentPut("key", companyModel.getSequenceNbr())
.fluentPut("value", companyModel.getSequenceNbr() + "_" + companyModel.getCompanyName())
.fluentPut("label", companyModel.getCompanyName());
}
/**
* 根据是否有权限返回风险类型列表
*
* @return response
*/
@Override
public List<DictionarieValueModel> riskTypeByPermission() {
List<DictionarieValueModel> result = new ArrayList<>();
AtomicBoolean hasPermission = new AtomicBoolean(false);
AgencyUserModel currentUserInfo = Privilege.agencyUserClient.getme().getResult();
currentUserInfo.getOrgRoleSeqs().values().forEach(roleSeqs -> {
roleSeqs.forEach(roleSeq -> {
if (roleSeq.equals(PersonManageRoleEnum.fxbsy.getId())) {
hasPermission.set(true);
}
});
});
// 有权限
if (hasPermission.get()) {
return Systemctl.dictionarieClient.dictValues(RISK_TYPE).getResult();
}
// 无报送权限
return Collections.emptyList();
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment