Browse Source

Merge remote-tracking branch 'origin/20210716' into 20210716

lihui001 3 years ago
parent
commit
5e2ac1bb01
24 changed files with 331 additions and 25 deletions
  1. 1 0
      zoniot-pay/zoniot-pay-core/src/main/java/com/zcxk/rmcp/pay/dto/MeterSyncDto.java
  2. 5 0
      zoniot-pay/zoniot-pay-core/src/main/java/com/zcxk/rmcp/pay/dto/pay/PayCustomerDto.java
  3. 1 1
      zoniot-pay/zoniot-pay-core/src/main/resources/mapper/DeviceMapper.xml
  4. 1 0
      zoniot-pay/zoniot-pay-core/src/main/resources/mapper/PayBaseCustomerandmeterrelaMapper.xml
  5. 3 3
      zoniot-pay/zoniot-pay-core/src/main/resources/mapper/pay/MeasurementInstanceMapper.xml
  6. 2 2
      zoniot-pay/zoniot-pay-core/src/main/resources/mapper/pay/PayInvoiceMapper.xml
  7. 1 0
      zoniot-pay/zoniot-pay-web/pom.xml
  8. 7 0
      zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/controller/pay/BaseWaterPropertyController.java
  9. 8 6
      zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/excel/download/template/InstallPlanDownloadExcelTemplate.java
  10. 3 4
      zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/quartz/job/EstimateMsgSendJob.java
  11. 9 0
      zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/service/impl/pay/PayBaseWaterpriceServiceImpl.java
  12. 2 0
      zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/service/pay/PayBaseWaterpriceService.java
  13. 1 2
      zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/service/pay/archives/impl/PayBaseCustomerandmeterrelaServiceImpl.java
  14. 1 1
      zoniot-pay/zoniot-pay-web/src/main/resources/application-sit.properties
  15. 1 0
      zoniot-pay/zoniot-pay-xxljob-client/src/main/java/com/zcxk/rmcp/pay/job/DeviceSyncServiceHander.java
  16. 9 6
      zoniot-pay/zoniot-pay-xxljob-client/src/main/java/com/zcxk/rmcp/pay/job/EstimatedDayHander.java
  17. 65 0
      zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application-dev.properties
  18. 83 0
      zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application-prd.properties
  19. 65 0
      zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application-sit.properties
  20. 2 0
      zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application.properties
  21. 43 0
      zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/logback-spring.xml
  22. 3 0
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/OrgDto.java
  23. 8 0
      zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/feign/SyncDataClient.java
  24. 7 0
      zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/CommonController.java

+ 1 - 0
zoniot-pay/zoniot-pay-core/src/main/java/com/zcxk/rmcp/pay/dto/MeterSyncDto.java

@@ -52,5 +52,6 @@ public class MeterSyncDto {
 
     @ApiModelProperty(value = "水表当前状态,0未安装1已安装2已开户")
     private Integer currStatus;
+    private String tenantId;
 
 }

+ 5 - 0
zoniot-pay/zoniot-pay-core/src/main/java/com/zcxk/rmcp/pay/dto/pay/PayCustomerDto.java

@@ -69,6 +69,11 @@ public class PayCustomerDto {
     public String email;
     @ApiModelProperty(value = "水表电子号",position = 24)
     public String metereleno;
+    /**
+     * 公司id
+     */
+    @ApiModelProperty(value = "公司id")
+    private Integer companyOrgId;
 
     @ApiModelProperty(value = "阀控规则数组名称",position = 25)
     public String valveRuleName;

+ 1 - 1
zoniot-pay/zoniot-pay-core/src/main/resources/mapper/DeviceMapper.xml

@@ -99,7 +99,7 @@
             <if test="devices.fileNo != null and devices.fileNo != ''"> metercode = #{devices.fileNo},</if>
             <if test="devices.deviceStatus != null "> device_status = #{devices.deviceStatus}</if>
         </set>
-        where metercode = #{devices.meterCode}
+        where metercode = #{devices.meterCode} and tenant_id=#{devices.tenantId}
     </update>
 
     <update id="updateSyncDeviceStatus">

+ 1 - 0
zoniot-pay/zoniot-pay-core/src/main/resources/mapper/PayBaseCustomerandmeterrelaMapper.xml

@@ -282,6 +282,7 @@
         customer.valve_rule_id as "valveRuleId",
         customer.valve_rule_name as "valveRuleName",
         customer.businessstate as "businessstate",
+        customer.company_org_id,
         (select label from pay_sys_dict where type = '开户状态' and value = customer.businessstate and tenant_id = #{payBaseCustomerandmeterrela.tenantId}) as "businessName",
         customer.calculateway as "calculateway",
         (select label from pay_sys_dict where type = '结算方式' and value = customer.calculateway and tenant_id = #{payBaseCustomerandmeterrela.tenantId}) as "calculatewayName",

+ 3 - 3
zoniot-pay/zoniot-pay-core/src/main/resources/mapper/pay/MeasurementInstanceMapper.xml

@@ -261,15 +261,15 @@
         select a.*,b.plan_name from rmcp_measurement_instance a join rmcp_measurement_settlement b
         on a.plan_id=b.id
         <where>
-            status=1
+           a. status=1
             <if test="id !=null">
                 and plan_id=#{id}
             </if>
             <if test="companyId !=null">
-                and company_org_id=#{companyId}
+                and b.company_org_id=#{companyId}
             </if>
             <if test="departId !=null">
-                and dept_org_id=#{departId}
+                and b.dept_org_id=#{departId}
             </if>
         </where>
 

+ 2 - 2
zoniot-pay/zoniot-pay-core/src/main/resources/mapper/pay/PayInvoiceMapper.xml

@@ -182,12 +182,12 @@
     <update id="updatePrintInvoiceRecord">
         <if test="type != null and type == 1">
             update pay_pay_transactiondetails set invoice_id=#{invoiceId}
-            where payseriesno=#{payseriesno} and site_id=#{siteId} and customer_id=#{customerId}
+            where payseriesno=#{payseriesno}
         </if>
 
         <if test="type != null and type == 2">
             update pay_pay_received set invoice_id=#{invoiceId}
-            where payseriesno=#{payseriesno} and site_id=#{siteId} and customer_id=#{customerId}
+            where payseriesno=#{payseriesno}
         </if>
 
     </update>

+ 1 - 0
zoniot-pay/zoniot-pay-web/pom.xml

@@ -113,6 +113,7 @@
                     <include>**/*.yml</include>
                     <include>**/*.xml</include>
                     <include>**/*.tld</include>
+                    <include>**/*.xlsx</include>
                 </includes>
                 <filtering>false</filtering>
             </resource>

+ 7 - 0
zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/controller/pay/BaseWaterPropertyController.java

@@ -68,6 +68,13 @@ public class BaseWaterPropertyController {
         List<BaseWaterPropertyDataDto> pageInfo =  baseWaterPropertyService.getAll();
         return new AjaxMessage(ResultStatus.OK, pageInfo);
     }
+    @ResponseBody
+    @GetMapping("/getAllPrice")
+    @ApiOperation(value = "请求用水性质组件")
+    public AjaxMessage getAllPrice(Integer companyId,Integer level){
+        List<PayBaseWaterpriceSelectDto> pageInfo =  payBaseWaterpriceService.getAllPrice(companyId,level);
+        return new AjaxMessage(ResultStatus.OK, pageInfo);
+    }
 
 
     @ResponseBody

+ 8 - 6
zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/excel/download/template/InstallPlanDownloadExcelTemplate.java

@@ -1,8 +1,10 @@
 package com.zcxk.rmcp.pay.excel.download.template;
 
+
+import com.bz.zoneiot.core.common.pojo.AjaxMessage;
 import com.zcxk.rmcp.api.dto.OrgDto;
+import com.zcxk.rmcp.api.dto.product.ProductVo;
 import com.zcxk.rmcp.api.feign.SyncDataClient;
-import com.zcxk.rmcp.pay.commom.model.AjaxMessage;
 import com.zcxk.rmcp.pay.commom.util.UserUtil;
 import com.zcxk.rmcp.pay.commom.util.Util;
 import com.zcxk.rmcp.pay.dto.DeviceTypeDto;
@@ -17,6 +19,7 @@ import org.jxls.common.Context;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -88,11 +91,10 @@ public class InstallPlanDownloadExcelTemplate extends AbstractDownloadExcelTempl
         //this.context.putVar("deviceTypeList", deviceTypeList);
 
         //4、获取水表类型数据
-        AjaxMessage<List<DeviceTypeDto>> ajax =  paySyncDataService.queryWaterMeterType(null);
-        if(ajax != null){
-            if(ajax.getStatus() == 0){
-                this.context.putVar("deviceTypeList", ajax.getData());
-            }
+        List<ProductVo> productList = syncDataClient.getProductLists();
+        if(!CollectionUtils.isEmpty(productList)){
+            this.context.putVar("deviceTypeList", productList);
+
         }
     }
 }

+ 3 - 4
zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/quartz/job/EstimateMsgSendJob.java

@@ -25,13 +25,12 @@ public class EstimateMsgSendJob implements Job, Serializable {
         // 1,获取推送配置信息
         JobDetail jobDetail = context.getJobDetail();
         JobDataMap jobDataMap = jobDetail.getJobDataMap();
-        Integer siteId = Integer.valueOf(jobDataMap.get("siteId").toString());
-        Integer customerId = Integer.valueOf(jobDataMap.get("customerId").toString());
+
         String tenantId=jobDataMap.get("tenantId").toString();
 
         // 2,调用推送方法
-        log.info("invoke EstimateMsgSendJob , customerId = {}",customerId);
+        log.info("invoke EstimateMsgSendJob , customerId = {}",tenantId);
         estimateMsgSendService.send(tenantId);
-        log.info("invoked EstimateMsgSendJob , customerId = {}",customerId);
+        log.info("invoked EstimateMsgSendJob , customerId = {}",tenantId);
     }
 }

+ 9 - 0
zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/service/impl/pay/PayBaseWaterpriceServiceImpl.java

@@ -83,6 +83,15 @@ public class PayBaseWaterpriceServiceImpl implements PayBaseWaterpriceService {
         return payBaseWaterpriceSelectDtoList;
     }
 
+    @Override
+    public List<PayBaseWaterpriceSelectDto> getAllPrice(Integer companyId, Integer level) {
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        List<PayBaseWaterpriceSelectDto> all = payBaseWaterpriceMapper.getAll(null, loginUser.getTenantId(),
+                level, loginUser.getUserCondition(), companyId);
+        return all;
+
+    }
+
     @Override
     public int add(PayBaseWaterpriceRequestDto payBaseWaterpriceRequestDto)
     {

+ 2 - 0
zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/service/pay/PayBaseWaterpriceService.java

@@ -29,4 +29,6 @@ public interface PayBaseWaterpriceService {
 
     List<PayBaseWaterpriceSelectDto> getPrice(String feename, Integer pageNum,
                                               Integer pageSize, Long ladderLevel);
+
+    List<PayBaseWaterpriceSelectDto> getAllPrice(Integer companyId, Integer level);
 }

+ 1 - 2
zoniot-pay/zoniot-pay-web/src/main/java/com/zcxk/rmcp/pay/service/pay/archives/impl/PayBaseCustomerandmeterrelaServiceImpl.java

@@ -834,8 +834,7 @@ public class PayBaseCustomerandmeterrelaServiceImpl implements PayBaseCustomeran
     @Override
     public void downTemplate(HttpServletResponse response){
         LoginUser loginUser = UserUtil.getCurrentUser();
-        BigInteger siteId = BigInteger.valueOf(loginUser.getSiteId());
-        BigInteger customerId = BigInteger.valueOf(loginUser.getCustomerId());
+
         String filePath = this.getFilePath();
         log.info("filePath:" + filePath);
         // 实现文件下载

+ 1 - 1
zoniot-pay/zoniot-pay-web/src/main/resources/application-sit.properties

@@ -105,7 +105,7 @@ ribbon.OkToRetryOnAllOperations=false
 ribbon.ReadTimeout=5000
 ribbon.ConnectTimeout=3000
 xxl.job.admin.addresses=http://10.0.0.62:8080/xxl-job-admin
-xxl.job.group.id=1
+xxl.job.group.id=2
 
 #\u5FAE\u4FE1\u516C\u4F17\u53F7
 wechat.oa.appid=wx6b2ce547cd593413

+ 1 - 0
zoniot-pay/zoniot-pay-xxljob-client/src/main/java/com/zcxk/rmcp/pay/job/DeviceSyncServiceHander.java

@@ -120,6 +120,7 @@ public class DeviceSyncServiceHander  {
                                     if(installDate !=null){
                                         meterSyncDtoEntity.setDateCreate(DateUtil.format(installDate));
                                     }
+                                    meterSyncDtoEntity.setTenantId(tenantId);
                                     deviceMapper.updateSync(meterSyncDtoEntity);
                                }
                             }

+ 9 - 6
zoniot-pay/zoniot-pay-xxljob-client/src/main/java/com/zcxk/rmcp/pay/job/EstimatedDayHander.java

@@ -7,12 +7,14 @@ import com.zcxk.rmcp.pay.dao.pay.*;
 import com.zcxk.rmcp.pay.dao.pay.archives.PayBaseCustomerandmeterrelaMapper;
 import com.zcxk.rmcp.pay.dto.pay.*;
 import com.zcxk.rmcp.pay.entity.pay.BaseWaterProperty;
+import com.zcxk.rmcp.pay.entity.pay.MeasurementRecord;
 import com.zcxk.rmcp.pay.entity.pay.PayBaseAccount;
 import com.zcxk.rmcp.pay.entity.pay.PayBaseWaterprice;
 import com.zcxk.rmcp.pay.entity.pay.archives.PayBaseCustomerandmeterrela;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.Validate;
 import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Field;
@@ -47,6 +49,7 @@ public class EstimatedDayHander {
     private AmountWaterUsedAmountMapper amountWaterUsedAmountMapper;
     @Resource
     private PayPayReceivableMapper payPayReceivableMapper;
+    @Resource MeasurementRecordMapper measurementRecordMapper;
 
     @XxlJob("estimatedDayHander")
     public ReturnT<String> execute(String info){
@@ -232,9 +235,10 @@ public class EstimatedDayHander {
 
         //月阶梯用户 新安装户相差天数>31天或者跨账期结算则非阶梯结算
         if(isEnable>=1){
-            List<AmountWaterUsedAmountDto> amountWaterUsedAmounts = amountWaterUsedAmountMapper.getWaterUsedAmountByMeterId(watermeterId);
-            if(amountWaterUsedAmounts!=null && amountWaterUsedAmounts.size()>0){
-                AmountWaterUsedAmountDto theLastOne = null;
+            List<MeasurementRecord> amountWaterUsedAmounts = measurementRecordMapper.
+                    getWaterUsedAmountByMeterId(watermeterId.longValue());
+            if(!CollectionUtils.isEmpty(amountWaterUsedAmounts)){
+                MeasurementRecord theLastOne = null;
                 if(amountWaterUsedAmounts.size()>1){
                     //取最后一次已审核
                     theLastOne = amountWaterUsedAmounts.get(1);
@@ -254,7 +258,7 @@ public class EstimatedDayHander {
                 }else{
                     //新安装户,取安装时间比较
                     theLastOne = amountWaterUsedAmounts.get(0);
-                    Date createDate = theLastOne.getInstalldate();
+                    Date createDate = theLastOne.getCreateDate();
                     if(createDate!=null) {
                         Double sDay = DateUtil.getDistanceOfTwoDate(createDate, new Date());
                         if (sDay > 31) {
@@ -262,8 +266,7 @@ public class EstimatedDayHander {
                         }
                     }else{
                         isEnable = 2;//异常
-                       /* ajaxMessage.setMsg(-701,"水表设备"+amountWaterUsedAmount.getMetercode()+"安装时间为空");
-                        return ajaxMessage;*/
+
                     }
                 }
             }

+ 65 - 0
zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application-dev.properties

@@ -0,0 +1,65 @@
+server.port=8335
+spring.application.name=zoniot-xxljob-pay-client
+logging.level.root=info
+logging.path=./logs/zoniot-xxljob-client
+
+
+#xxl-job �������Ĺ��̵ĵ�ַ
+xxl.job.admin.addresses=http://10.0.0.62:8080/xxl-job-admin/
+xxl.job.executor.appname=zoniot-xxljob-pay-client
+xxl.job.executor.ip=
+xxl.job.executor.port=9998
+xxl.job.executor.logpath=/app/sit/uims/zoniot-xxljob-client/xxl-job-log
+xxl.job.accessToken=
+xxl.job.executor.logretentiondays=30
+
+
+# mysql
+spring.datasource.url=jdbc:mysql://10.0.0.63:3306/revenue_system?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
+spring.datasource.username=root
+spring.datasource.password=100zone
+spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.hikari.max-lifetime=30000
+
+# druid
+spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
+spring.datasource.druid.initial-size=5
+spring.datasource.druid.min-idle=5
+spring.datasource.druid.max-active=20
+spring.datasource.druid.max-wait=60000
+spring.datasource.druid.time-between-eviction-runs-millis=60000
+spring.datasource.druid.min-evictable-idle-time-millis=300000
+spring.datasource.druid.validation-query=SELECT 1
+spring.datasource.druid.test-while-idle=true
+spring.datasource.druid.test-on-borrow=true
+spring.datasource.druid.test-on-return=false
+spring.datasource.druid.pool-prepared-statements=true
+spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.druid.filters=stat,wall
+spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+
+# mybatis
+mybatis.mapper-locations=classpath:mapper/*.xml,classpath*:mapper/pay/*.xml
+mybatis.type-aliases-package=com.zcxk.rmcp.pay.entity
+mybatis.configuration.map-underscore-to-camel-case=true
+mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis.configuration.use-column-label=true
+
+spring.jackson.time-zone=GMT+8
+
+
+
+# redis
+spring.redis.host=10.0.0.63
+spring.redis.port=6379
+spring.redis.database=2
+spring.redis.timeout=500000
+
+# Lettuce
+spring.redis.lettuce.pool.max-active=8
+spring.redis.lettuce.pool.max-wait=100
+spring.redis.lettuce.pool.max-idle=8
+spring.redis.lettuce.pool.min-idle=0
+spring.redis.lettuce.shutdown-timeout=100
+spring.main.allow-bean-definition-overriding=true
+spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

+ 83 - 0
zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application-prd.properties

@@ -0,0 +1,83 @@
+server.port=8327
+spring.application.name=user-center
+logging.level.root=info
+logging.path=./logs/user-center
+#\u6570\u636E\u5E93\u914D\u7F6E
+spring.datasource.url=jdbc:mysql://10.0.0.137:3306/uims?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
+spring.datasource.username=root
+spring.datasource.password=100Zone@123
+spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.hikari.max-lifetime=30000
+mybatis-plus.mapper-locations=classpath:mapper/*.xml
+mybatis-plus.type-aliases-package=com.zcxk.entity
+mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus.global-config.db-config.logic-delete-value=0 
+mybatis-plus.global-config.db-config.logic-not-delete-value=1
+spring.jackson.time-zone=GMT+8
+#spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
+#spring.jackson.joda-date-time-format: yyyy-MM-dd HH:mm:ss
+
+# utils
+spring.redis.host=10.0.0.136
+spring.redis.port=6379
+spring.redis.password=zoniot
+spring.redis.database=2
+spring.redis.timeout=36000
+
+# Lettuce
+# \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
+spring.redis.lettuce.pool.max-active=8
+# \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
+spring.redis.lettuce.pool.max-wait=100
+# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5
+spring.redis.lettuce.pool.max-idle=8
+# \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5
+spring.redis.lettuce.pool.min-idle=0
+# \u5173\u95ED\u8D85\u65F6\u65F6\u95F4
+spring.redis.lettuce.shutdown-timeout=100
+
+
+security.oauth2.client.client-id=smart-city-v2
+security.oauth2.client.client-secret=smart-city-v2-123
+security.oauth2.resource.id=smartcity-deivice-service
+security.oauth2.resource.user-info-uri=http://10.0.0.136:8321/user/principal
+security.oauth2.resource.prefer-token-info=false
+
+
+spring.servlet.multipart.max-file-size=100MB
+spring.servlet.multipart.max-request-size=100MB
+spring.servlet.multipart.location=${logging.path}/data
+
+#kafka server
+spring.kafka.bootstrap-servers=114.135.61.188:36377
+#kafka consumer config
+spring.kafka.consumer.group-id=user-group-dev
+spring.kafka.consumer.auto-offset-reset=latest
+spring.kafka.consumer.enable-auto-commit=true
+#kafka producer config
+spring.kafka.producer.retries=0
+spring.kafka.producer.batch-size=4096
+spring.kafka.producer.buffer-memory=40960
+
+spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer
+spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
+spring.kafka.consumer.properties.spring.json.trusted.packages=*
+
+#nacos
+spring.cloud.nacos.discovery.server-addr=10.0.0.136:8848
+UMIS.sys_config_path=/UMIS_USER_IMAGES/
+UMIS.sys_excel_path=/UMIS_USER_EXCEL/
+#utils
+spring.rabbitmq.host=47.112.217.10
+spring.rabbitmq.port=5672
+spring.rabbitmq.username=huaxu
+spring.rabbitmq.password=huaxu123
+spring.rabbitmq.virtual-host=/
+spring.rabbitmq.connection-timeout=15000
+spring.rabbitmq.publisher-confirm-type=correlated
+spring.rabbitmq.publisher-returns=true
+spring.rabbitmq.template.mandatory=true
+receive.exchange.name=messageExchangeTest
+dispath.routing.key=dipathKeyTest
+dispath.queue=dispathTest
+add_iot_user_url=http://39.108.175.9:8090/api/integration/user/savePlatformUser

+ 65 - 0
zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application-sit.properties

@@ -0,0 +1,65 @@
+server.port=8335
+spring.application.name=zoniot-xxljob-pay-client
+logging.level.root=info
+logging.path=./logs/zoniot-xxljob-client
+
+
+#xxl-job �������Ĺ��̵ĵ�ַ
+xxl.job.admin.addresses=http://10.0.0.62:8080/xxl-job-admin/
+xxl.job.executor.appname=zoniot-xxljob-pay-client
+xxl.job.executor.ip=
+xxl.job.executor.port=9998
+xxl.job.executor.logpath=/app/sit/uims/zoniot-xxljob-client/xxl-job-log
+xxl.job.accessToken=
+xxl.job.executor.logretentiondays=30
+
+
+# mysql
+spring.datasource.url=jdbc:mysql://10.0.0.63:3306/revenue_system?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
+spring.datasource.username=root
+spring.datasource.password=100zone
+spring.datasource.driver-class-name=com.mysql.jdbc.Driver
+spring.datasource.hikari.max-lifetime=30000
+
+# druid
+spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
+spring.datasource.druid.initial-size=5
+spring.datasource.druid.min-idle=5
+spring.datasource.druid.max-active=20
+spring.datasource.druid.max-wait=60000
+spring.datasource.druid.time-between-eviction-runs-millis=60000
+spring.datasource.druid.min-evictable-idle-time-millis=300000
+spring.datasource.druid.validation-query=SELECT 1
+spring.datasource.druid.test-while-idle=true
+spring.datasource.druid.test-on-borrow=true
+spring.datasource.druid.test-on-return=false
+spring.datasource.druid.pool-prepared-statements=true
+spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
+spring.datasource.druid.filters=stat,wall
+spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
+
+# mybatis
+mybatis.mapper-locations=classpath:mapper/*.xml,classpath*:mapper/pay/*.xml
+mybatis.type-aliases-package=com.zcxk.rmcp.pay.entity
+mybatis.configuration.map-underscore-to-camel-case=true
+mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis.configuration.use-column-label=true
+
+spring.jackson.time-zone=GMT+8
+
+
+
+# redis
+spring.redis.host=10.0.0.63
+spring.redis.port=6379
+spring.redis.database=2
+spring.redis.timeout=500000
+
+# Lettuce
+spring.redis.lettuce.pool.max-active=8
+spring.redis.lettuce.pool.max-wait=100
+spring.redis.lettuce.pool.max-idle=8
+spring.redis.lettuce.pool.min-idle=0
+spring.redis.lettuce.shutdown-timeout=100
+spring.main.allow-bean-definition-overriding=true
+spring.cloud.nacos.discovery.server-addr=10.0.0.63:8848

+ 2 - 0
zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/application.properties

@@ -0,0 +1,2 @@
+#开发环境:dev  测试环境:sit  线上环境:prd
+spring.profiles.active=dev

+ 43 - 0
zoniot-pay/zoniot-pay-xxljob-client/src/main/resources/logback-spring.xml

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <springProperty scope="context" name="LOG_PATH" source="logging.path" defaultValue="/tmp" />
+    <springProperty scope="context" name="APPLICATION_NAME" source="spring.application.name" defaultValue="default" />
+    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
+    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
+    <jmxConfigurator/>
+
+    <!-- 按照每天生成日志文件 -->
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
+            <pattern>${FILE_LOG_PATTERN}</pattern>
+        </encoder>
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+            <!-- rollover daily -->
+            <fileNamePattern>${LOG_PATH}/${APPLICATION_NAME}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 10GB -->
+            <maxFileSize>100MB</maxFileSize>
+            <maxHistory>60</maxHistory>
+            <totalSizeCap>100GB</totalSizeCap>
+        </rollingPolicy>
+
+    </appender>
+
+    <springProfile name="dev,test">
+        <logger name="com.zcxk" level="DEBUG"/>
+        <logger name="org.springframework" level="INFO"/>
+        <logger name="org.apache" level="INFO"/>
+    </springProfile>
+
+    <springProfile name="prop">
+        <logger name="com.zcxk" level="DEBUG"/>
+        <logger name="org.springframework" level="INFO"/>
+        <logger name="org.apache" level="INFO"/>
+    </springProfile>
+
+    <root level="INFO">
+        <appender-ref ref="CONSOLE"/>
+        <appender-ref ref="FILE"/>
+    </root>
+
+</configuration>

+ 3 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/dto/OrgDto.java

@@ -1,5 +1,6 @@
 package com.zcxk.rmcp.api.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -98,6 +99,7 @@ public class OrgDto {
     * 创建时间
     */
     @ApiModelProperty(value="创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     private LocalDateTime dateCreate;
 
     /**
@@ -107,6 +109,7 @@ public class OrgDto {
     private String createBy;
 
     @ApiModelProperty(value="")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     private LocalDateTime dateUpdate;
 
     @ApiModelProperty(value="")

+ 8 - 0
zoniot-rmcp/zoniot-rmcp-api/src/main/java/com/zcxk/rmcp/api/feign/SyncDataClient.java

@@ -1,15 +1,20 @@
 package com.zcxk.rmcp.api.feign;
 
+import com.bz.zoneiot.core.common.pojo.AjaxMessage;
 import com.zcxk.rmcp.api.dto.OrgDto;
 import com.zcxk.rmcp.api.dto.install.InstallPlanInputDto;
 import com.zcxk.rmcp.api.dto.install.MeterSyncDto;
 import com.zcxk.rmcp.api.dto.install.MeterSyncInputDto;
 import com.zcxk.rmcp.api.dto.meterreadrecord.MeterReadRecordSyncDto;
+import com.zcxk.rmcp.api.dto.product.ProductVo;
 import com.zcxk.rmcp.api.vo.MeterReadRecordVo;
 import io.swagger.annotations.ApiOperation;
+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 org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -40,4 +45,7 @@ public interface SyncDataClient {
     List<OrgDto> getOrgs(@RequestBody OrgDto dto);
     @PostMapping("/syncData/getOrgId")
     Integer getOrgId(@RequestBody OrgDto dto);
+    @GetMapping("/common/getProductLists")
+    @ApiOperation(value = "获取产品列表")
+    List<ProductVo> getProductLists();
 }

+ 7 - 0
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/controller/CommonController.java

@@ -67,6 +67,13 @@ public class CommonController {
         List<ProductVo> list = productService.getProductList(categoryId);
         return AjaxMessage.success(list);
     }
+    @GetMapping("getProductLists")
+    @ApiOperation(value = "获取产品列表")
+    public List<ProductVo> getProductLists(
+   ) {
+        return productService.getProductList(null);
+
+    }
     @GetMapping("getCategoryList")
     @ApiOperation(value = "获取产品分类列表")
     public AjaxMessage<List<ProductCategoryVo>> getCategoryList() {