Browse Source

国网侧看板,代码提交

thing_master
xiachao 1 year ago
parent
commit
ff724f03c1
  1. 41
      modules/carbon-public/src/main/java/com/thing/carbon/pub/controller/PubCockpitController.java
  2. 34
      modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CockpitEnterpriseInfo.java
  3. 13
      modules/carbon-public/src/main/java/com/thing/carbon/pub/mapper/PubCockpitMapper.java
  4. 11
      modules/carbon-public/src/main/java/com/thing/carbon/pub/service/PubCockpitService.java
  5. 42
      modules/carbon-public/src/main/java/com/thing/carbon/pub/service/impl/PubCockpitServiceImpl.java
  6. 2
      modules/carbon-public/src/main/resources/mapper/CarbonPubSupplierMapper.xml
  7. 39
      modules/carbon-public/src/main/resources/mapper/PubCockpitMapper.xml
  8. 17
      modules/cqc-service/src/main/java/com/thing/cqc/rpcService/JsonCryptoUtils.java

41
modules/carbon-public/src/main/java/com/thing/carbon/pub/controller/PubCockpitController.java

@ -0,0 +1,41 @@
package com.thing.carbon.pub.controller;
import com.thing.carbon.pub.dto.CockpitEnterpriseInfo;
import com.thing.carbon.pub.service.PubCockpitService;
import com.thing.common.core.web.response.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 企业注册
*
* @author xc
* @since 3.0 2024-07-09
*/
@RestController
@RequestMapping("v2/pub/cockpit")
@Tag(name="公共服务侧大屏看板")
@RequiredArgsConstructor
public class PubCockpitController {
@Autowired
private PubCockpitService pubCockpitService;
@GetMapping("list")
@Operation(summary="分页")
public Result<List<CockpitEnterpriseInfo>> list(){
List<CockpitEnterpriseInfo> list = pubCockpitService.cockpitEnterpriseInfoList();
return new Result<List<CockpitEnterpriseInfo>>().ok(list);
}
}

34
modules/carbon-public/src/main/java/com/thing/carbon/pub/dto/CockpitEnterpriseInfo.java

@ -0,0 +1,34 @@
package com.thing.carbon.pub.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* 企业列表详情
*/
@Data
@Schema(description = "国网侧驾驶舱企业信息")
public class CockpitEnterpriseInfo {
@Schema(description = "企业名称")
private String name;
@Schema(description = "企业编码")
private String code;
@Schema(description = "企业区域id")
private String regionId;
@Schema(description = "碳足迹结果数量")
private String recordsCount;
@Schema(description = "产品数量")
private String productCount;
@Schema(description = "经纬度原始值")
private String lngLatStr;
@Schema(description = "经度")
private String lng;
@Schema(description = "纬度")
private String lat;
@Schema(description = "产品分类")
private String productType;
@Schema(description = "平均产品碳足迹")
private BigDecimal avgCarBon;
}

13
modules/carbon-public/src/main/java/com/thing/carbon/pub/mapper/PubCockpitMapper.java

@ -0,0 +1,13 @@
package com.thing.carbon.pub.mapper;
import com.thing.carbon.pub.dto.CockpitEnterpriseInfo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface PubCockpitMapper {
List<CockpitEnterpriseInfo> cockpitEnterpriseInfoList();
}

11
modules/carbon-public/src/main/java/com/thing/carbon/pub/service/PubCockpitService.java

@ -0,0 +1,11 @@
package com.thing.carbon.pub.service;
import com.thing.carbon.pub.dto.CockpitEnterpriseInfo;
import java.util.List;
public interface PubCockpitService {
List<CockpitEnterpriseInfo> cockpitEnterpriseInfoList();
}

42
modules/carbon-public/src/main/java/com/thing/carbon/pub/service/impl/PubCockpitServiceImpl.java

@ -0,0 +1,42 @@
package com.thing.carbon.pub.service.impl;
import com.thing.carbon.pub.dto.CockpitEnterpriseInfo;
import com.thing.carbon.pub.mapper.CarbonPubSupplierMapper;
import com.thing.carbon.pub.mapper.PubCockpitMapper;
import com.thing.carbon.pub.service.PubCockpitService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
@Service
public class PubCockpitServiceImpl implements PubCockpitService {
@Autowired
private PubCockpitMapper pubCockpitMapper;
@Autowired
private CarbonPubSupplierMapper carbonPubSupplierMapper;
@Override
public List<CockpitEnterpriseInfo> cockpitEnterpriseInfoList() {
List<CockpitEnterpriseInfo> infoList = pubCockpitMapper.cockpitEnterpriseInfoList();
infoList.forEach(temp->{
if(ObjectUtils.isNotEmpty(temp.getLngLatStr())){
String[] strs = temp.getLngLatStr().split(",");
temp.setLng(strs[0]);
temp.setLat(strs[1]);
}
//补全平均产品碳足迹值
BigDecimal avgCarbon = carbonPubSupplierMapper.avgCarbonOfAllProduct(Long.parseLong(temp.getCode()),null,null);
temp.setAvgCarBon(avgCarbon.setScale(4, RoundingMode.UP));
});
return infoList;
}
}

2
modules/carbon-public/src/main/resources/mapper/CarbonPubSupplierMapper.xml

@ -42,7 +42,7 @@
</select>
<select id="avgCarbonOfAllProduct" resultType="java.math.BigDecimal">
select avg(carbon)
select COALESCE( avg(carbon), 0 ) AS carbon
from (select tenant_code,
sum(type1_carbon_avg)
+ sum(type1_usage_avg)

39
modules/carbon-public/src/main/resources/mapper/PubCockpitMapper.xml

@ -0,0 +1,39 @@
<?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">
<mapper namespace="com.thing.carbon.pub.mapper.PubCockpitMapper">
<select id="cockpitEnterpriseInfoList" resultType="com.thing.carbon.pub.dto.CockpitEnterpriseInfo">
SELECT
cps.NAME,
cps.code,
cps.region_id,
COALESCE ( t2.records_count, 0 ) AS records_count,
COALESCE ( t3.product_count, 0 ) AS product_count,
td.lng_lat as lngLatStr,
TEMP.product_type
FROM
carbon_pub_supplier cps
LEFT JOIN ( SELECT string_agg ( DISTINCT industry_sub, ',' ) AS product_type, tenant_code FROM iot_carbon_production_variety GROUP BY tenant_code ) TEMP ON cps.code = TEMP.tenant_code
LEFT JOIN (
SELECT SUM
( pr_unit ) AS records_count,
tenant_code
FROM
( SELECT COUNT ( DISTINCT pr_code ) AS pr_unit, tenant_code, pr_code FROM carbon_pub_production_result GROUP BY product_id, pr_code, tenant_code ) t1
GROUP BY
tenant_code
) t2 ON cps.code = t2.tenant_code
LEFT JOIN (
SELECT SUM
( product_count ) AS product_count,
tenant_code
FROM
( SELECT COUNT ( DISTINCT product_id ) AS product_count, tenant_code FROM carbon_pub_production_result GROUP BY product_id, tenant_code ) t1
GROUP BY
tenant_code
) t3 ON cps.code = t3.tenant_code
LEFT JOIN sys_tenant_detail td on cps.code = td.id
</select>
</mapper>

17
modules/cqc-service/src/main/java/com/thing/cqc/rpcService/JsonCryptoUtils.java

@ -25,8 +25,19 @@ public class JsonCryptoUtils {
return new String(decryptedBytes);
}
//
//
// public static void main(String[] args) {
// try {
//
// String encryptedJson = "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";
// // 解密
// String decryptedJson = decryptJson(encryptedJson, SECRETKEY);
// System.out.println("Decrypted JSON: " + decryptedJson);
//
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
}
Loading…
Cancel
Save