Commit d2767159 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 0d40636f e95b2dbb
......@@ -282,3 +282,14 @@ ALTER TABLE `mortals_xhx_sst_agreement` ADD COLUMN `protocolType` tinyint(2) DE
INSERT INTO `mortals_xhx_param` (`name`, `firstOrganize`, `secondOrganize`, `paramKey`, `paramValue`, `validStatus`, `modStatus`, `displayType`, `remark`, `createTime`, `createUserId`, `createUserName`) VALUES ('协议类型', 'SstAgreement', 'protocolType', '1', '注册协议', '1', '4', '0', NULL, NULL, NULL, NULL);
INSERT INTO `mortals_xhx_param` (`name`, `firstOrganize`, `secondOrganize`, `paramKey`, `paramValue`, `validStatus`, `modStatus`, `displayType`, `remark`, `createTime`, `createUserId`, `createUserName`) VALUES ('协议类型', 'SstAgreement', 'protocolType', '2', '申报协议', '1', '4', '0', NULL, NULL, NULL, NULL);
DROP TABLE IF EXISTS `mortals_xhx_converge_apps_interface`;
CREATE TABLE `mortals_xhx_converge_apps_interface` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号,主键,自增长',
`ecode` varchar(128) DEFAULT NULL COMMENT '设备唯一标识',
`applicationId` varchar(128) DEFAULT NULL COMMENT '应用ID',
`interfaceUniqueId` varchar(128) DEFAULT NULL COMMENT '接口标识',
`interfaceName` varchar(128) DEFAULT NULL COMMENT '接口名称',
`totalInvokeSum` int(8) DEFAULT NULL COMMENT '接口调用次数',
`createTime` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='应用接口';
\ No newline at end of file
......@@ -30,6 +30,9 @@
<profiles.kafka.brokers>192.168.0.251:9092</profiles.kafka.brokers>
<profiles.rabbitmq.host>192.168.0.98</profiles.rabbitmq.host>
<profiles.rabbitmq.port>5672</profiles.rabbitmq.port>
<profiles.rabbitmq.username>taxi_mq</profiles.rabbitmq.username>
<profiles.rabbitmq.password>admin@2020</profiles.rabbitmq.password>
<profiles.rabbitmq.virtualhost>/</profiles.rabbitmq.virtualhost>
<profiles.nacos.server-addr>192.168.0.252:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
......
package com.mortals.xhx.module.converge.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import com.mortals.xhx.module.converge.model.vo.InterfaceStatsVO;
import java.util.List;
/**
* 应用接口Dao
* 应用接口 DAO接口
*
* @author zxfei
* @date 2023-08-17
*/
public interface ConvergeAppsInterfaceDao extends ICRUDDao<ConvergeAppsInterfaceEntity,Long>{
/***
* 获取接口访问次数统计
* @param query
* @return
*/
List<InterfaceStatsVO> getTotalInvokeSum(ConvergeAppsInterfaceEntity query);
}
package com.mortals.xhx.module.converge.dao.ibatis;
import com.mortals.xhx.module.converge.model.vo.InterfaceStatsVO;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.converge.dao.ConvergeAppsInterfaceDao;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 应用接口DaoImpl DAO接口
*
* @author zxfei
* @date 2023-08-17
*/
@Repository("convergeAppsInterfaceDao")
public class ConvergeAppsInterfaceDaoImpl extends BaseCRUDDaoMybatis<ConvergeAppsInterfaceEntity,Long> implements ConvergeAppsInterfaceDao {
@Override
public List<InterfaceStatsVO> getTotalInvokeSum(ConvergeAppsInterfaceEntity query) {
return this.getSqlSession().selectList(this.getSqlId("getTotalInvokeSum"),query);
}
}
package com.mortals.xhx.module.converge.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.converge.model.vo.ConvergeAppsInterfaceVo;
import lombok.Data;
/**
* 应用接口实体对象
*
* @author zxfei
* @date 2023-08-17
*/
@Data
public class ConvergeAppsInterfaceEntity extends ConvergeAppsInterfaceVo {
private static final long serialVersionUID = 1L;
/**
* 应用ID
*/
private String applicationId;
/**
* 接口标识
*/
private String interfaceUniqueId;
/**
* 接口名称
*/
private String interfaceName;
/**
* 接口调用次数
*/
private Integer totalInvokeSum;
/**
* 设备唯一标识
*/
private String ecode;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof ConvergeAppsInterfaceEntity) {
ConvergeAppsInterfaceEntity tmp = (ConvergeAppsInterfaceEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.applicationId = "";
this.interfaceUniqueId = "";
this.interfaceName = "";
this.totalInvokeSum = -1;
this.ecode = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.converge.model;
import java.util.List;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
/**
* 应用接口查询对象
*
* @author zxfei
* @date 2023-08-17
*/
public class ConvergeAppsInterfaceQuery extends ConvergeAppsInterfaceEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
/** 结束 序号,主键,自增长 */
private Long idEnd;
/** 增加 序号,主键,自增长 */
private Long idIncrement;
/** 序号,主键,自增长列表 */
private List <Long> idList;
/** 序号,主键,自增长排除列表 */
private List <Long> idNotList;
/** 应用ID */
private List<String> applicationIdList;
/** 应用ID排除列表 */
private List <String> applicationIdNotList;
/** 接口标识 */
private List<String> interfaceUniqueIdList;
/** 接口标识排除列表 */
private List <String> interfaceUniqueIdNotList;
/** 接口名称 */
private List<String> interfaceNameList;
/** 接口名称排除列表 */
private List <String> interfaceNameNotList;
/** 开始 接口调用次数 */
private Integer totalInvokeSumStart;
/** 结束 接口调用次数 */
private Integer totalInvokeSumEnd;
/** 增加 接口调用次数 */
private Integer totalInvokeSumIncrement;
/** 接口调用次数列表 */
private List <Integer> totalInvokeSumList;
/** 接口调用次数排除列表 */
private List <Integer> totalInvokeSumNotList;
/** 开始 创建时间 */
private String createTimeStart;
/** 结束 创建时间 */
private String createTimeEnd;
/** 设备唯一标识 */
private List<String> ecodeList;
/** 设备唯一标识排除列表 */
private List <String> ecodeNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<ConvergeAppsInterfaceQuery> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<ConvergeAppsInterfaceQuery> andConditionList;
public ConvergeAppsInterfaceQuery(){}
/**
* 获取 开始 序号,主键,自增长
* @return idStart
*/
public Long getIdStart(){
return this.idStart;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public void setIdStart(Long idStart){
this.idStart = idStart;
}
/**
* 获取 结束 序号,主键,自增长
* @return $idEnd
*/
public Long getIdEnd(){
return this.idEnd;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public void setIdEnd(Long idEnd){
this.idEnd = idEnd;
}
/**
* 获取 增加 序号,主键,自增长
* @return idIncrement
*/
public Long getIdIncrement(){
return this.idIncrement;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public void setIdIncrement(Long idIncrement){
this.idIncrement = idIncrement;
}
/**
* 获取 序号,主键,自增长
* @return idList
*/
public List<Long> getIdList(){
return this.idList;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public void setIdList(List<Long> idList){
this.idList = idList;
}
/**
* 获取 序号,主键,自增长
* @return idNotList
*/
public List<Long> getIdNotList(){
return this.idNotList;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public void setIdNotList(List<Long> idNotList){
this.idNotList = idNotList;
}
/**
* 获取 应用ID
* @return applicationIdList
*/
public List<String> getApplicationIdList(){
return this.applicationIdList;
}
/**
* 设置 应用ID
* @param applicationIdList
*/
public void setApplicationIdList(List<String> applicationIdList){
this.applicationIdList = applicationIdList;
}
/**
* 获取 应用ID
* @return applicationIdNotList
*/
public List<String> getApplicationIdNotList(){
return this.applicationIdNotList;
}
/**
* 设置 应用ID
* @param applicationIdNotList
*/
public void setApplicationIdNotList(List<String> applicationIdNotList){
this.applicationIdNotList = applicationIdNotList;
}
/**
* 获取 接口标识
* @return interfaceUniqueIdList
*/
public List<String> getInterfaceUniqueIdList(){
return this.interfaceUniqueIdList;
}
/**
* 设置 接口标识
* @param interfaceUniqueIdList
*/
public void setInterfaceUniqueIdList(List<String> interfaceUniqueIdList){
this.interfaceUniqueIdList = interfaceUniqueIdList;
}
/**
* 获取 接口标识
* @return interfaceUniqueIdNotList
*/
public List<String> getInterfaceUniqueIdNotList(){
return this.interfaceUniqueIdNotList;
}
/**
* 设置 接口标识
* @param interfaceUniqueIdNotList
*/
public void setInterfaceUniqueIdNotList(List<String> interfaceUniqueIdNotList){
this.interfaceUniqueIdNotList = interfaceUniqueIdNotList;
}
/**
* 获取 接口名称
* @return interfaceNameList
*/
public List<String> getInterfaceNameList(){
return this.interfaceNameList;
}
/**
* 设置 接口名称
* @param interfaceNameList
*/
public void setInterfaceNameList(List<String> interfaceNameList){
this.interfaceNameList = interfaceNameList;
}
/**
* 获取 接口名称
* @return interfaceNameNotList
*/
public List<String> getInterfaceNameNotList(){
return this.interfaceNameNotList;
}
/**
* 设置 接口名称
* @param interfaceNameNotList
*/
public void setInterfaceNameNotList(List<String> interfaceNameNotList){
this.interfaceNameNotList = interfaceNameNotList;
}
/**
* 获取 开始 接口调用次数
* @return totalInvokeSumStart
*/
public Integer getTotalInvokeSumStart(){
return this.totalInvokeSumStart;
}
/**
* 设置 开始 接口调用次数
* @param totalInvokeSumStart
*/
public void setTotalInvokeSumStart(Integer totalInvokeSumStart){
this.totalInvokeSumStart = totalInvokeSumStart;
}
/**
* 获取 结束 接口调用次数
* @return $totalInvokeSumEnd
*/
public Integer getTotalInvokeSumEnd(){
return this.totalInvokeSumEnd;
}
/**
* 设置 结束 接口调用次数
* @param totalInvokeSumEnd
*/
public void setTotalInvokeSumEnd(Integer totalInvokeSumEnd){
this.totalInvokeSumEnd = totalInvokeSumEnd;
}
/**
* 获取 增加 接口调用次数
* @return totalInvokeSumIncrement
*/
public Integer getTotalInvokeSumIncrement(){
return this.totalInvokeSumIncrement;
}
/**
* 设置 增加 接口调用次数
* @param totalInvokeSumIncrement
*/
public void setTotalInvokeSumIncrement(Integer totalInvokeSumIncrement){
this.totalInvokeSumIncrement = totalInvokeSumIncrement;
}
/**
* 获取 接口调用次数
* @return totalInvokeSumList
*/
public List<Integer> getTotalInvokeSumList(){
return this.totalInvokeSumList;
}
/**
* 设置 接口调用次数
* @param totalInvokeSumList
*/
public void setTotalInvokeSumList(List<Integer> totalInvokeSumList){
this.totalInvokeSumList = totalInvokeSumList;
}
/**
* 获取 接口调用次数
* @return totalInvokeSumNotList
*/
public List<Integer> getTotalInvokeSumNotList(){
return this.totalInvokeSumNotList;
}
/**
* 设置 接口调用次数
* @param totalInvokeSumNotList
*/
public void setTotalInvokeSumNotList(List<Integer> totalInvokeSumNotList){
this.totalInvokeSumNotList = totalInvokeSumNotList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
*/
public String getCreateTimeStart(){
return this.createTimeStart;
}
/**
* 设置 开始 创建时间
* @param createTimeStart
*/
public void setCreateTimeStart(String createTimeStart){
this.createTimeStart = createTimeStart;
}
/**
* 获取 结束 创建时间
* @return createTimeEnd
*/
public String getCreateTimeEnd(){
return this.createTimeEnd;
}
/**
* 设置 结束 创建时间
* @param createTimeEnd
*/
public void setCreateTimeEnd(String createTimeEnd){
this.createTimeEnd = createTimeEnd;
}
/**
* 获取 设备唯一标识
* @return ecodeList
*/
public List<String> getEcodeList(){
return this.ecodeList;
}
/**
* 设置 设备唯一标识
* @param ecodeList
*/
public void setEcodeList(List<String> ecodeList){
this.ecodeList = ecodeList;
}
/**
* 获取 设备唯一标识
* @return ecodeNotList
*/
public List<String> getEcodeNotList(){
return this.ecodeNotList;
}
/**
* 设置 设备唯一标识
* @param ecodeNotList
*/
public void setEcodeNotList(List<String> ecodeNotList){
this.ecodeNotList = ecodeNotList;
}
/**
* 设置 序号,主键,自增长
* @param id
*/
public ConvergeAppsInterfaceQuery id(Long id){
setId(id);
return this;
}
/**
* 设置 开始 序号,主键,自增长
* @param idStart
*/
public ConvergeAppsInterfaceQuery idStart(Long idStart){
this.idStart = idStart;
return this;
}
/**
* 设置 结束 序号,主键,自增长
* @param idEnd
*/
public ConvergeAppsInterfaceQuery idEnd(Long idEnd){
this.idEnd = idEnd;
return this;
}
/**
* 设置 增加 序号,主键,自增长
* @param idIncrement
*/
public ConvergeAppsInterfaceQuery idIncrement(Long idIncrement){
this.idIncrement = idIncrement;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idList
*/
public ConvergeAppsInterfaceQuery idList(List<Long> idList){
this.idList = idList;
return this;
}
/**
* 设置 序号,主键,自增长
* @param idNotList
*/
public ConvergeAppsInterfaceQuery idNotList(List<Long> idNotList){
this.idNotList = idNotList;
return this;
}
/**
* 设置 应用ID
* @param applicationId
*/
public ConvergeAppsInterfaceQuery applicationId(String applicationId){
setApplicationId(applicationId);
return this;
}
/**
* 设置 应用ID
* @param applicationIdList
*/
public ConvergeAppsInterfaceQuery applicationIdList(List<String> applicationIdList){
this.applicationIdList = applicationIdList;
return this;
}
/**
* 设置 接口标识
* @param interfaceUniqueId
*/
public ConvergeAppsInterfaceQuery interfaceUniqueId(String interfaceUniqueId){
setInterfaceUniqueId(interfaceUniqueId);
return this;
}
/**
* 设置 接口标识
* @param interfaceUniqueIdList
*/
public ConvergeAppsInterfaceQuery interfaceUniqueIdList(List<String> interfaceUniqueIdList){
this.interfaceUniqueIdList = interfaceUniqueIdList;
return this;
}
/**
* 设置 接口名称
* @param interfaceName
*/
public ConvergeAppsInterfaceQuery interfaceName(String interfaceName){
setInterfaceName(interfaceName);
return this;
}
/**
* 设置 接口名称
* @param interfaceNameList
*/
public ConvergeAppsInterfaceQuery interfaceNameList(List<String> interfaceNameList){
this.interfaceNameList = interfaceNameList;
return this;
}
/**
* 设置 接口调用次数
* @param totalInvokeSum
*/
public ConvergeAppsInterfaceQuery totalInvokeSum(Integer totalInvokeSum){
setTotalInvokeSum(totalInvokeSum);
return this;
}
/**
* 设置 开始 接口调用次数
* @param totalInvokeSumStart
*/
public ConvergeAppsInterfaceQuery totalInvokeSumStart(Integer totalInvokeSumStart){
this.totalInvokeSumStart = totalInvokeSumStart;
return this;
}
/**
* 设置 结束 接口调用次数
* @param totalInvokeSumEnd
*/
public ConvergeAppsInterfaceQuery totalInvokeSumEnd(Integer totalInvokeSumEnd){
this.totalInvokeSumEnd = totalInvokeSumEnd;
return this;
}
/**
* 设置 增加 接口调用次数
* @param totalInvokeSumIncrement
*/
public ConvergeAppsInterfaceQuery totalInvokeSumIncrement(Integer totalInvokeSumIncrement){
this.totalInvokeSumIncrement = totalInvokeSumIncrement;
return this;
}
/**
* 设置 接口调用次数
* @param totalInvokeSumList
*/
public ConvergeAppsInterfaceQuery totalInvokeSumList(List<Integer> totalInvokeSumList){
this.totalInvokeSumList = totalInvokeSumList;
return this;
}
/**
* 设置 接口调用次数
* @param totalInvokeSumNotList
*/
public ConvergeAppsInterfaceQuery totalInvokeSumNotList(List<Integer> totalInvokeSumNotList){
this.totalInvokeSumNotList = totalInvokeSumNotList;
return this;
}
/**
* 设置 设备唯一标识
* @param ecode
*/
public ConvergeAppsInterfaceQuery ecode(String ecode){
setEcode(ecode);
return this;
}
/**
* 设置 设备唯一标识
* @param ecodeList
*/
public ConvergeAppsInterfaceQuery ecodeList(List<String> ecodeList){
this.ecodeList = ecodeList;
return this;
}
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<ConvergeAppsInterfaceQuery> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public void setOrConditionList(List<ConvergeAppsInterfaceQuery> orConditionList){
this.orConditionList = orConditionList;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<ConvergeAppsInterfaceQuery> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public void setAndConditionList(List<ConvergeAppsInterfaceQuery> andConditionList){
this.andConditionList = andConditionList;
}
}
\ No newline at end of file
package com.mortals.xhx.module.converge.model.vo;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import lombok.Data;
import java.util.List;
@Data
public class AppVO {
/**
......@@ -40,4 +43,6 @@ public class AppVO {
* 操作类型
*/
private String opr;
List<InterfaceStatsVO> interfaceStats;
}
......@@ -3,6 +3,8 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.converge.model.ConvergeAppsAccessEntity;
import java.util.ArrayList;
import java.util.List;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
......@@ -16,4 +18,5 @@ import java.util.Date;
@Data
public class ConvergeAppsAccessVo extends BaseEntityLong {
private List<ConvergeAppsInterfaceEntity> interfaceList;
}
\ No newline at end of file
package com.mortals.xhx.module.converge.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
import java.util.Date;
/**
* 应用接口视图对象
*
* @author zxfei
* @date 2023-08-17
*/
@Data
public class ConvergeAppsInterfaceVo extends BaseEntityLong {
}
\ No newline at end of file
......@@ -3,6 +3,8 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.converge.model.ConvergeAppsEntity;
import java.util.ArrayList;
import java.util.List;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import lombok.Data;
import com.mortals.framework.annotation.Excel;
import java.math.BigDecimal;
......@@ -15,5 +17,5 @@ import java.util.Date;
*/
@Data
public class ConvergeAppsVo extends BaseEntityLong {
List<InterfaceStatsVO> interfaceEntityList;
}
\ No newline at end of file
package com.mortals.xhx.module.converge.model.vo;
import lombok.Data;
@Data
public class InterfaceStatsVO {
/**
* 接口标识
*/
private String interfaceUniqueId;
/**
* 接口名称
*/
private String interfaceName;
/**
* 接口调用次数
*/
private Integer totalInvokeSum;
/**
* 操作类型
*/
private String opr="U";
}
package com.mortals.xhx.module.converge.service;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import com.mortals.xhx.module.converge.dao.ConvergeAppsInterfaceDao;
import com.mortals.xhx.module.converge.model.vo.InterfaceStatsVO;
import java.util.List;
/**
* ConvergeAppsInterfaceService
*
* 应用接口 service接口
*
* @author zxfei
* @date 2023-08-17
*/
public interface ConvergeAppsInterfaceService extends ICRUDService<ConvergeAppsInterfaceEntity,Long>{
ConvergeAppsInterfaceDao getDao();
/***
* 获取接口访问次数统计
* @param query
* @return
*/
List<InterfaceStatsVO> getTotalInvokeSum(ConvergeAppsInterfaceEntity query) throws AppException;
}
\ No newline at end of file
package com.mortals.xhx.module.converge.service.impl;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import com.mortals.xhx.module.converge.model.vo.AppsAccessVo;
import com.mortals.xhx.module.converge.service.ConvergeAppsInterfaceService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -9,6 +13,7 @@ import com.mortals.xhx.module.converge.model.ConvergeAppsAccessEntity;
import com.mortals.xhx.module.converge.service.ConvergeAppsAccessService;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -23,6 +28,9 @@ import java.util.Map;
@Slf4j
public class ConvergeAppsAccessServiceImpl extends AbstractCRUDServiceImpl<ConvergeAppsAccessDao, ConvergeAppsAccessEntity, Long> implements ConvergeAppsAccessService {
@Autowired
private ConvergeAppsInterfaceService convergeAppsInterfaceService;
@Override
public List<AppsAccessVo> getAppsAccessPv(Map<String,String> condition) throws AppException {
return dao.getAppsAccessPv(condition);
......@@ -32,4 +40,21 @@ public class ConvergeAppsAccessServiceImpl extends AbstractCRUDServiceImpl<Conve
public List<AppsAccessVo> getAppsAccessUv(Map<String,String> condition) throws AppException {
return dao.getAppsAccessUv(condition);
}
@Override
protected void saveAfter(ConvergeAppsAccessEntity entity, Context context) throws AppException {
super.saveAfter(entity,context);
if(CollectionUtils.isNotEmpty(entity.getInterfaceList())){
for(ConvergeAppsInterfaceEntity item:entity.getInterfaceList()){
item.setApplicationId(entity.getApplicationId());
item.setEcode(entity.getEcode());
item.setCreateTime(new Date());
if(item.getTotalInvokeSum()==null ||item.getTotalInvokeSum()==0){
item.setTotalInvokeSum(1);
}
}
convergeAppsInterfaceService.save(entity.getInterfaceList());
}
}
}
\ No newline at end of file
package com.mortals.xhx.module.converge.service.impl;
import com.mortals.xhx.module.converge.model.vo.InterfaceStatsVO;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.converge.dao.ConvergeAppsInterfaceDao;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import com.mortals.xhx.module.converge.service.ConvergeAppsInterfaceService;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* ConvergeAppsInterfaceService
* 应用接口 service实现
*
* @author zxfei
* @date 2023-08-17
*/
@Service("convergeAppsInterfaceService")
@Slf4j
public class ConvergeAppsInterfaceServiceImpl extends AbstractCRUDServiceImpl<ConvergeAppsInterfaceDao, ConvergeAppsInterfaceEntity, Long> implements ConvergeAppsInterfaceService {
@Override
public List<InterfaceStatsVO> getTotalInvokeSum(ConvergeAppsInterfaceEntity query) throws AppException {
return dao.getTotalInvokeSum(query);
}
}
\ No newline at end of file
......@@ -10,6 +10,8 @@ import com.mortals.xhx.module.converge.model.*;
import com.mortals.xhx.module.converge.model.vo.AppVO;
import com.mortals.xhx.module.converge.model.vo.BranchVO;
import com.mortals.xhx.module.converge.model.vo.EquipmentVO;
import com.mortals.xhx.module.converge.model.vo.InterfaceStatsVO;
import com.mortals.xhx.module.converge.service.ConvergeAppsInterfaceService;
import com.mortals.xhx.module.converge.service.ConvergeAppsService;
import com.mortals.xhx.module.converge.service.ConvergeDeviceService;
import org.apache.commons.collections4.CollectionUtils;
......@@ -46,6 +48,8 @@ public class ConvergeSiteServiceImpl extends AbstractCRUDServiceImpl<ConvergeSit
private ConvergeDeviceService convergeDeviceService;
@Autowired
private ConvergeAppsService convergeAppsService;
@Autowired
private ConvergeAppsInterfaceService convergeAppsInterfaceService;
@Override
public List<BranchVO> getConvergeData() throws AppException {
......@@ -65,6 +69,16 @@ public class ConvergeSiteServiceImpl extends AbstractCRUDServiceImpl<ConvergeSit
if(CollectionUtils.isEmpty(apps)){
continue;
}
for(ConvergeAppsEntity item:apps){
ConvergeAppsInterfaceEntity query = new ConvergeAppsInterfaceEntity();
query.setEcode(deviceEntity.getLogo());
query.setApplicationId(item.getAppEname());
List<InterfaceStatsVO> interfaceEntityList = convergeAppsInterfaceService.getTotalInvokeSum(query);
if(CollectionUtils.isEmpty(interfaceEntityList) || interfaceEntityList.get(0) == null){
interfaceEntityList=null;
}
item.setInterfaceEntityList(interfaceEntityList);
}
equipmentVO.setAppStats(convertAppVO(apps));
equipments.add(equipmentVO);
}
......@@ -149,8 +163,12 @@ public class ConvergeSiteServiceImpl extends AbstractCRUDServiceImpl<ConvergeSit
}else {
List<AppVO> voList = new ArrayList<>();
for (ConvergeAppsEntity item:apps){
if(CollectionUtils.isEmpty(item.getInterfaceEntityList()) || item.getInterfaceEntityList().get(0) == null){
item.setInterfaceEntityList(Collections.emptyList());
}
AppVO vo = new AppVO();
BeanUtils.copyProperties(item,vo,BeanUtil.getNullPropertyNames(item));
vo.setInterfaceStats(item.getInterfaceEntityList());
voList.add(vo);
}
return voList;
......
package com.mortals.xhx.module.converge.web;
import com.alibaba.fastjson.JSONArray;
import com.mortals.framework.annotation.RepeatSubmit;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.model.BaseEntity;
......@@ -9,6 +10,7 @@ import com.mortals.framework.utils.BeanUtil;
import com.mortals.framework.utils.ReflectUtils;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -143,6 +145,13 @@ public class ConvergeAppsAccessController extends BaseCRUDJsonBodyMappingControl
entity.setAppSimpleName(request.getParameter("appSimpleName"));
entity.setProvider(request.getParameter("provider"));
entity.setOrigin(request.getParameter("origin"));
String interfaceStats = request.getParameter("interfaceStats");
try {
List<ConvergeAppsInterfaceEntity> interfaceList = JSONArray.parseArray(interfaceStats,ConvergeAppsInterfaceEntity.class);
entity.setInterfaceList(interfaceList);
}catch (Exception e){
}
try {
this.saveBefore(entity, model, context);
if (entity.newEntity()) {
......
package com.mortals.xhx.module.converge.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity;
import com.mortals.xhx.module.converge.service.ConvergeAppsInterfaceService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 应用接口
*
* @author zxfei
* @date 2023-08-17
*/
@RestController
@RequestMapping("converge/apps/interface")
public class ConvergeAppsInterfaceController extends BaseCRUDJsonBodyMappingController<ConvergeAppsInterfaceService,ConvergeAppsInterfaceEntity,Long> {
@Autowired
private ParamService paramService;
public ConvergeAppsInterfaceController(){
super.setModuleDesc( "应用接口");
}
@Override
protected void init(Map<String, Object> model, Context context) {
super.init(model, context);
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.converge.dao.ibatis.ConvergeAppsInterfaceDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ConvergeAppsInterfaceEntity" id="ConvergeAppsInterfaceEntity-Map">
<id property="id" column="id" />
<result property="applicationId" column="applicationId" />
<result property="interfaceUniqueId" column="interfaceUniqueId" />
<result property="interfaceName" column="interfaceName" />
<result property="totalInvokeSum" column="totalInvokeSum" />
<result property="createTime" column="createTime" />
<result property="ecode" column="ecode" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('applicationId') or colPickMode == 1 and data.containsKey('applicationId')))">
a.applicationId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('interfaceUniqueId') or colPickMode == 1 and data.containsKey('interfaceUniqueId')))">
a.interfaceUniqueId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('interfaceName') or colPickMode == 1 and data.containsKey('interfaceName')))">
a.interfaceName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('totalInvokeSum') or colPickMode == 1 and data.containsKey('totalInvokeSum')))">
a.totalInvokeSum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ecode') or colPickMode == 1 and data.containsKey('ecode')))">
a.ecode,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ConvergeAppsInterfaceEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_converge_apps_interface
(applicationId,interfaceUniqueId,interfaceName,totalInvokeSum,createTime,ecode)
VALUES
(#{applicationId},#{interfaceUniqueId},#{interfaceName},#{totalInvokeSum},#{createTime},#{ecode})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_converge_apps_interface
(applicationId,interfaceUniqueId,interfaceName,totalInvokeSum,createTime,ecode)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.applicationId},#{item.interfaceUniqueId},#{item.interfaceName},#{item.totalInvokeSum},#{item.createTime},#{item.ecode})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_converge_apps_interface as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('applicationId')) or (colPickMode==1 and !data.containsKey('applicationId'))">
a.applicationId=#{data.applicationId},
</if>
<if test="(colPickMode==0 and data.containsKey('interfaceUniqueId')) or (colPickMode==1 and !data.containsKey('interfaceUniqueId'))">
a.interfaceUniqueId=#{data.interfaceUniqueId},
</if>
<if test="(colPickMode==0 and data.containsKey('interfaceName')) or (colPickMode==1 and !data.containsKey('interfaceName'))">
a.interfaceName=#{data.interfaceName},
</if>
<if test="(colPickMode==0 and data.containsKey('totalInvokeSum')) or (colPickMode==1 and !data.containsKey('totalInvokeSum'))">
a.totalInvokeSum=#{data.totalInvokeSum},
</if>
<if test="(colPickMode==0 and data.containsKey('totalInvokeSumIncrement')) or (colPickMode==1 and !data.containsKey('totalInvokeSumIncrement'))">
a.totalInvokeSum=ifnull(a.totalInvokeSum,0) + #{data.totalInvokeSumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('ecode')) or (colPickMode==1 and !data.containsKey('ecode'))">
a.ecode=#{data.ecode},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_converge_apps_interface as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="applicationId=(case" suffix="ELSE applicationId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('applicationId')) or (colPickMode==1 and !item.containsKey('applicationId'))">
when a.id=#{item.id} then #{item.applicationId}
</if>
</foreach>
</trim>
<trim prefix="interfaceUniqueId=(case" suffix="ELSE interfaceUniqueId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('interfaceUniqueId')) or (colPickMode==1 and !item.containsKey('interfaceUniqueId'))">
when a.id=#{item.id} then #{item.interfaceUniqueId}
</if>
</foreach>
</trim>
<trim prefix="interfaceName=(case" suffix="ELSE interfaceName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('interfaceName')) or (colPickMode==1 and !item.containsKey('interfaceName'))">
when a.id=#{item.id} then #{item.interfaceName}
</if>
</foreach>
</trim>
<trim prefix="totalInvokeSum=(case" suffix="ELSE totalInvokeSum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('totalInvokeSum')) or (colPickMode==1 and !item.containsKey('totalInvokeSum'))">
when a.id=#{item.id} then #{item.totalInvokeSum}
</when>
<when test="(colPickMode==0 and item.containsKey('totalInvokeSumIncrement')) or (colPickMode==1 and !item.containsKey('totalInvokeSumIncrement'))">
when a.id=#{item.id} then ifnull(a.totalInvokeSum,0) + #{item.totalInvokeSumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="ecode=(case" suffix="ELSE ecode end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('ecode')) or (colPickMode==1 and !item.containsKey('ecode'))">
when a.id=#{item.id} then #{item.ecode}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ConvergeAppsInterfaceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_converge_apps_interface as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_converge_apps_interface as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_converge_apps_interface where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from mortals_xhx_converge_apps_interface where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from mortals_xhx_converge_apps_interface where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_converge_apps_interface as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ConvergeAppsInterfaceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_converge_apps_interface as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_converge_apps_interface as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList') and conditionParamRef.idList.size() > 0">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idNotList') and conditionParamRef.idNotList.size() > 0">
${_conditionType_} a.id not in
<foreach collection="conditionParamRef.idNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('applicationId')">
<if test="conditionParamRef.applicationId != null and conditionParamRef.applicationId != ''">
${_conditionType_} a.applicationId like #{${_conditionParam_}.applicationId}
</if>
<if test="conditionParamRef.applicationId == null">
${_conditionType_} a.applicationId is null
</if>
</if>
<if test="conditionParamRef.containsKey('applicationIdList') and conditionParamRef.applicationIdList.size() > 0">
${_conditionType_} a.applicationId in
<foreach collection="conditionParamRef.applicationIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('applicationIdNotList') and conditionParamRef.applicationIdNotList.size() > 0">
${_conditionType_} a.applicationId not in
<foreach collection="conditionParamRef.applicationIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('interfaceUniqueId')">
<if test="conditionParamRef.interfaceUniqueId != null and conditionParamRef.interfaceUniqueId != ''">
${_conditionType_} a.interfaceUniqueId like #{${_conditionParam_}.interfaceUniqueId}
</if>
<if test="conditionParamRef.interfaceUniqueId == null">
${_conditionType_} a.interfaceUniqueId is null
</if>
</if>
<if test="conditionParamRef.containsKey('interfaceUniqueIdList') and conditionParamRef.interfaceUniqueIdList.size() > 0">
${_conditionType_} a.interfaceUniqueId in
<foreach collection="conditionParamRef.interfaceUniqueIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('interfaceUniqueIdNotList') and conditionParamRef.interfaceUniqueIdNotList.size() > 0">
${_conditionType_} a.interfaceUniqueId not in
<foreach collection="conditionParamRef.interfaceUniqueIdNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('interfaceName')">
<if test="conditionParamRef.interfaceName != null and conditionParamRef.interfaceName != ''">
${_conditionType_} a.interfaceName like #{${_conditionParam_}.interfaceName}
</if>
<if test="conditionParamRef.interfaceName == null">
${_conditionType_} a.interfaceName is null
</if>
</if>
<if test="conditionParamRef.containsKey('interfaceNameList') and conditionParamRef.interfaceNameList.size() > 0">
${_conditionType_} a.interfaceName in
<foreach collection="conditionParamRef.interfaceNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('interfaceNameNotList') and conditionParamRef.interfaceNameNotList.size() > 0">
${_conditionType_} a.interfaceName not in
<foreach collection="conditionParamRef.interfaceNameNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('totalInvokeSum')">
<if test="conditionParamRef.totalInvokeSum != null ">
${_conditionType_} a.totalInvokeSum = #{${_conditionParam_}.totalInvokeSum}
</if>
<if test="conditionParamRef.totalInvokeSum == null">
${_conditionType_} a.totalInvokeSum is null
</if>
</if>
<if test="conditionParamRef.containsKey('totalInvokeSumList') and conditionParamRef.totalInvokeSumList.size() > 0">
${_conditionType_} a.totalInvokeSum in
<foreach collection="conditionParamRef.totalInvokeSumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('totalInvokeSumNotList') and conditionParamRef.totalInvokeSumNotList.size() > 0">
${_conditionType_} a.totalInvokeSum not in
<foreach collection="conditionParamRef.totalInvokeSumNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('totalInvokeSumStart') and conditionParamRef.totalInvokeSumStart != null">
${_conditionType_} a.totalInvokeSum <![CDATA[ >= ]]> #{${_conditionParam_}.totalInvokeSumStart}
</if>
<if test="conditionParamRef.containsKey('totalInvokeSumEnd') and conditionParamRef.totalInvokeSumEnd != null">
${_conditionType_} a.totalInvokeSum <![CDATA[ <= ]]> #{${_conditionParam_}.totalInvokeSumEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('ecode')">
<if test="conditionParamRef.ecode != null and conditionParamRef.ecode != ''">
${_conditionType_} a.ecode like #{${_conditionParam_}.ecode}
</if>
<if test="conditionParamRef.ecode == null">
${_conditionType_} a.ecode is null
</if>
</if>
<if test="conditionParamRef.containsKey('ecodeList') and conditionParamRef.ecodeList.size() > 0">
${_conditionType_} a.ecode in
<foreach collection="conditionParamRef.ecodeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('ecodeNotList') and conditionParamRef.ecodeNotList.size() > 0">
${_conditionType_} a.ecode not in
<foreach collection="conditionParamRef.ecodeNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('applicationId')">
a.applicationId
<if test='orderCol.applicationId != null and "DESC".equalsIgnoreCase(orderCol.applicationId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('interfaceUniqueId')">
a.interfaceUniqueId
<if test='orderCol.interfaceUniqueId != null and "DESC".equalsIgnoreCase(orderCol.interfaceUniqueId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('interfaceName')">
a.interfaceName
<if test='orderCol.interfaceName != null and "DESC".equalsIgnoreCase(orderCol.interfaceName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('totalInvokeSum')">
a.totalInvokeSum
<if test='orderCol.totalInvokeSum != null and "DESC".equalsIgnoreCase(orderCol.totalInvokeSum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('ecode')">
a.ecode
<if test='orderCol.ecode != null and "DESC".equalsIgnoreCase(orderCol.ecode)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.converge.dao.ibatis.ConvergeAppsInterfaceDaoImpl">
<!-- 接口访问次数统计 -->
<select id="getTotalInvokeSum" parameterType="com.mortals.xhx.module.converge.model.ConvergeAppsInterfaceEntity" resultType="com.mortals.xhx.module.converge.model.vo.InterfaceStatsVO">
SELECT
ecode,
applicationId,
interfaceUniqueId,
interfaceName,
sum(totalInvokeSum) AS totalInvokeSum
FROM
mortals_xhx_converge_apps_interface
WHERE 1=1
<if test="ecode != null and ecode!=''"> AND ecode = #{ecode}</if>
<if test="applicationId != null and applicationId!=''"> AND applicationId = #{applicationId}</if>
</select>
</mapper>
\ 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