dev-tmp1
luotaiqian 2026-08-14 09:19:59 +08:00
parent a1b283433b
commit ac132611a3
6 changed files with 61 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringListPageQr
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringStatCo;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -53,6 +54,12 @@ public class EvalProjectOrgWaringController implements Serializable {
return Response.buildSuccess();
}
@GetMapping("/org/stat")
@ApiOperation("机构端-险预警统计(总数、本周新增)")
public SingleResponse<EvalProjectOrgWaringStatCo> orgStat() {
return SingleResponse.of(evalProjectOrgWaringServiceI.statEvalProjectOrgWaring());
}
@PostMapping("/handle")
@ApiOperation("处理机构端-险预警")
public Response handle(@Validated @RequestBody EvalProjectOrgWaringHandleCmd evalProjectOrgWaringHandleCmd) {

View File

@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
import org.qinan.safetyeval.client.waring.request.*;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringStatCo;
/**
* -
@ -76,5 +77,12 @@ public interface EvalProjectOrgWaringServiceI {
*/
PageResponse<EvalProjectOrgWaringListCo> listOrgWaringPage(EvalProjectOrgWaringListPageQry evalProjectOrgWaringListPageQry);
/**
* -
*
* @return
*/
EvalProjectOrgWaringStatCo statEvalProjectOrgWaring();
}

View File

@ -18,6 +18,7 @@ import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringPageQry;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringUpdateCmd;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringStatCo;
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
import org.qinan.safetyeval.infrastructure.persistence.mapper.EvalProjectOrgWaringMapper;
import org.springframework.stereotype.Service;
@ -82,4 +83,11 @@ public class EvalProjectOrgWaringServiceImpl implements EvalProjectOrgWaringServ
return PageHelper.pageToResponse(result, result.getRecords());
}
@Override
public EvalProjectOrgWaringStatCo statEvalProjectOrgWaring() {
Long orgId = ThreadLocalUserInfoAdapter.getOrgId();
EvalProjectOrgWaringStatCo co = evalProjectOrgWaringMapper.selectStat(orgId);
return co != null ? co : new EvalProjectOrgWaringStatCo();
}
}

View File

@ -0,0 +1,21 @@
package org.qinan.safetyeval.client.waring.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* -
*/
@Data
public class EvalProjectOrgWaringStatCo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("总数")
private Integer totalCount;
@ApiModelProperty("本周新增数")
private Integer weekNewCount;
}

View File

@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.qinan.safetyeval.client.waring.request.EvalProjectOrgWaringListPageQry;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringListCo;
import org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringStatCo;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.EvalProjectOrgWaringDO;
/**
@ -22,4 +23,9 @@ public interface EvalProjectOrgWaringMapper extends BaseMapper<EvalProjectOrgWar
*/
IPage<EvalProjectOrgWaringListCo> selectOrgWaringPage(IPage<EvalProjectOrgWaringListCo> page,
@Param("query") EvalProjectOrgWaringListPageQry query);
/**
* -SQL
*/
EvalProjectOrgWaringStatCo selectStat(@Param("orgId") Long orgId);
}

View File

@ -60,4 +60,15 @@
</if>
ORDER BY epow.id DESC
</select>
<!-- 机构端-险预警统计:总数 + 本周新增一条SQL -->
<select id="selectStat"
resultType="org.qinan.safetyeval.client.waring.response.EvalProjectOrgWaringStatCo">
SELECT
COUNT(*) AS total_count,
SUM(CASE WHEN create_time >= DATE(NOW() - INTERVAL WEEKDAY(NOW()) DAY) THEN 1 ELSE 0 END) AS week_new_count
FROM eval_project_org_waring
WHERE delete_enum = 'false'
AND org_id = #{orgId}
</select>
</mapper>