Commit b2aba94d authored by 杨阳's avatar 杨阳

Merge branch 'developer' of http://39.98.45.134:8090/moa/amos-boot-biz into developer

Conflicts: amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/resources/application-dev.properties
parents 8dda72ca 2602d25d
package com.yeejoin.amos.boot.module.hygf.api.dto;
import lombok.Data;
/**
* @description:
* @author: tw
* @createDate: 2023/8/21
*/
@Data
public class ContractDataDto {
String username;
String contact;
String IDCard;
String subject;
String endTime;
String expireTime;
String category;
String companyTenantName;
String companyUsername;
String companyContact;
Long emplateId;
String companykeyword;
Integer companyPage;
Double companyOffsetX;
Double companyOffsetY;
String personalkeyword;
Integer personalPage;
Double personalOffsetX;
Double personalOffsetY;
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
*
*
* @author system_generator
* @date 2023-08-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="ContractTemplateDto", description="")
public class ContractTemplateDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = " 模板名称")
private String templateName;
@ApiModelProperty(value = "模板id")
private Long templateId;
@ApiModelProperty(value = "公司签字位置")
private String companyKeyword;
@ApiModelProperty(value = "公司签字页码")
private Integer companyPage;
@ApiModelProperty(value = "公司签字位置x偏移量")
private Double companyOffsetx;
@ApiModelProperty(value = "公司签字位置y偏移量")
private Double companyOffsety;
@ApiModelProperty(value = "个人签字位置")
private String personalKeyword;
@ApiModelProperty(value = "个人签字页码")
private Integer personalPage;
@ApiModelProperty(value = "个人签字位置x偏移量")
private Double personalOffsetx;
@ApiModelProperty(value = "个人签字位置y偏移量")
private Double personalOffsety;
}
......@@ -121,9 +121,9 @@ public class HouseholdContractDto extends BaseDto {
@ApiModelProperty(value = "电站功率")
private Double stationPower;
@ApiModelProperty(value = "合同契约锁id")
private Double contractLockId;
private Long contractLockId;
@ApiModelProperty(value = "印章id")
private Double sealId;
private Long sealId;
/**
* 发起状态
......
package com.yeejoin.amos.boot.module.hygf.api.dto;
import lombok.Data;
/**
* @description:
* @author: tw
* @createDate: 2023/8/21
*/
@Data
public class TemplateParamDto {
private String key;
private String value;
public TemplateParamDto(String key, String value) {
this.key = key;
this.value = value;
}
}
package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
*
*
* @author system_generator
* @date 2023-08-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("hygf_contract_template")
public class ContractTemplate extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 模板名称
*/
@TableField("template_name")
private String templateName;
/**
* 模板id
*/
@TableField("template_id")
private Long templateId;
/**
* 公司签字位置
*/
@TableField("company_keyword")
private String companyKeyword;
/**
* 公司签字页码
*/
@TableField("company_page")
private Integer companyPage;
/**
* 公司签字位置x偏移量
*/
@TableField("company_offsetx")
private Double companyOffsetx;
/**
* 公司签字位置y偏移量
*/
@TableField("company_offsety")
private Double companyOffsety;
/**
* 个人签字位置
*/
@TableField("personal_keyword")
private String personalKeyword;
/**
* 个人签字页码
*/
@TableField("personal_page")
private Integer personalPage;
/**
* 个人签字位置x偏移量
*/
@TableField("personal_offsetx")
private Double personalOffsetx;
/**
* 个人签字位置y偏移量
*/
@TableField("personal_offsety")
private Double personalOffsety;
}
......@@ -221,11 +221,17 @@ public class HouseholdContract extends BaseEntity {
*/
@TableField("station_power")
private Double stationPower;
/***
*合同契约锁id'
* */
@TableField("contract_lock_id")
private Double contractLockId;
private Long contractLockId;
/**
* 印章id
* */
@TableField("seal_id")
private Double sealId;
private Long sealId;
/**
* 发起状态
......
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.hygf.api.entity.ContractTemplate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author system_generator
* @date 2023-08-22
*/
public interface ContractTemplateMapper extends BaseMapper<ContractTemplate> {
}
package com.yeejoin.amos.boot.module.hygf.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2023-08-22
*/
public interface IContractTemplateService {
}
<?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.yeejoin.amos.boot.module.jxiop.api.mapper.ContractTemplateMapper">
</mapper>
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.ContractTemplateServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.hygf.api.dto.ContractTemplateDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
*
*
* @author system_generator
* @date 2023-08-22
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/contract-template")
public class ContractTemplateController extends BaseController {
@Autowired
ContractTemplateServiceImpl contractTemplateServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<ContractTemplateDto> save(@RequestBody ContractTemplateDto model) {
model = contractTemplateServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<ContractTemplateDto> updateBySequenceNbrContractTemplate(@RequestBody ContractTemplateDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(contractTemplateServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(contractTemplateServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<ContractTemplateDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(contractTemplateServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<ContractTemplateDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<ContractTemplateDto> page = new Page<ContractTemplateDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(contractTemplateServiceImpl.queryForContractTemplatePage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<ContractTemplateDto>> selectForList() {
return ResponseHelper.buildResponse(contractTemplateServiceImpl.queryForContractTemplateList());
}
}
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.hygf.api.Enum.HouseholdContractEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractPageDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.HouseholdContract;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -112,4 +113,30 @@ public class HouseholdContractController extends BaseController {
public ResponseModel<List<HouseholdContractDto>> selectForList() {
return ResponseHelper.buildResponse(householdContractServiceImpl.queryForHouseholdContractList());
}
//去签署
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "post", value = "根据sequenceNbr发起", notes = "根据sequenceNbr发起")
public ResponseModel<HouseholdContractDto> qsBySequenceNbrHouseholdContract(@RequestBody HouseholdContractDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(householdContractServiceImpl.updateWithModel(model));
}
}
......@@ -10,10 +10,16 @@ import com.qiyuesuo.sdk.v2.response.ContractListResult;
import com.qiyuesuo.sdk.v2.response.DocumentAddResult;
import com.qiyuesuo.sdk.v2.response.MiniappTicketResult;
import com.qiyuesuo.sdk.v2.response.SdkResponse;
import com.yeejoin.amos.boot.module.hygf.api.dto.ContractDataDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.HouseholdContract;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.HouseholdContractServiceImpl;
import com.yeejoin.amos.boot.module.hygf.biz.service.impl.QiyuesuoServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -35,66 +41,46 @@ import java.util.Map;
* @createDate: 2023/8/18
*/
@RestController
@Api(tags = "经销商单位信息Api")
@RequestMapping(value = "/test")
public class test {
private static final Logger logger = LoggerFactory.getLogger(test.class);
@Api(tags = "契税锁Api")
@RequestMapping(value = "/qiyuesuo")
public class QiyuesuoController {
private static final Logger logger = LoggerFactory.getLogger(QiyuesuoController.class);
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "获取经销商单位", notes = "获取经销商单位")
@PostMapping (value = "/getUnit888")
public ResponseModel<Object> getUnit(@RequestBody UserAuthMiniappTicketRequest request) {
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "TdBmNkjAYd";
String accessSecret = "y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z";
@Autowired
QiyuesuoServiceImpl qiyuesuoService;
@Autowired
HouseholdContractServiceImpl householdContractServiceImpl;
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
String response = null;
try {
response = sdkClient.service(request);
} catch (Exception e) {
throw new BaseSdkException("调用接口错误,错误原因:"+e.getMessage());
}
SdkResponse<MiniappTicketResult> result = JSONUtils.toQysResponse(response,MiniappTicketResult.class);
if(!result.getCode().equals(0)) {
throw new BaseSdkException("获取个人认证Ticket失败,失败原因:"+result.getCode()+","+result.getMessage());
}
System.out.println("获取个人认证Ticket成功,Ticket:"+result.getResult().getTicket());
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "个人token", notes = "个人token")
@PostMapping (value = "/getUserToken")
public ResponseModel<Object> getSdkResponse(@RequestBody UserAuthMiniappTicketRequest request) {
SdkResponse<MiniappTicketResult> result= qiyuesuoService.getSdkResponse(request);
return ResponseHelper.buildResponse(result.getResult());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "获取经销商单位", notes = "获取经销商单位")
@PostMapping (value = "/getUnit999")
public ResponseModel<Object> getUnit999(@RequestBody ContractMiniappTicketRequest request) {
@ApiOperation(httpMethod = "post",value = "合同token", notes = "合同token")
@PostMapping (value = "/getContractToken")
public ResponseModel<Object> getContractSdkResponse(@RequestBody ContractMiniappTicketRequest request) {
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "TdBmNkjAYd";
String accessSecret = "y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
String response = null;
try {
response = sdkClient.service(request);
} catch (Exception e) {
throw new BaseSdkException("调用接口错误,错误原因:" + e.getMessage());
}
SdkResponse<MiniappTicketResult> result = JSONUtils.toQysResponse(response, MiniappTicketResult.class);
if (!result.getCode().equals(0)) {
throw new BaseSdkException("获取合同签署Ticket失败,失败原因:" + result.getCode() + "," + result.getMessage());
}
SdkResponse<MiniappTicketResult> result= qiyuesuoService.getContractSdkResponse(request);
return ResponseHelper.buildResponse(result.getResult());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "创建合同", notes = "创建合同")
@PostMapping (value = "/addContract")
public ResponseModel<HouseholdContract> initiateHouseholdContract(@RequestBody HouseholdContractDto model) {
HouseholdContract householdContract=householdContractServiceImpl.initiateHouseholdContract(model);
return ResponseHelper.buildResponse(householdContract);
}
......@@ -104,7 +90,7 @@ public class test {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "获取经销商单位", notes = "获取经销商单位")
@ApiOperation(httpMethod = "post",value = "获取经销商单位", notes = "liebiao ")
@PostMapping (value = "/getUnit1000")
public ResponseModel<ContractListResult> getUnit1000(@RequestBody ContractListRequest request) {
......@@ -126,6 +112,20 @@ public class test {
return ResponseHelper.buildResponse(qysResponse.getResult());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "创建合同", notes = "创建合同")
@PostMapping (value = "/getUnit2000")
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.yeejoin.amos.boot.module.hygf.api.entity.ContractTemplate;
import com.yeejoin.amos.boot.module.hygf.api.mapper.ContractTemplateMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IContractTemplateService;
import com.yeejoin.amos.boot.module.hygf.api.dto.ContractTemplateDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* 服务实现类
*
* @author system_generator
* @date 2023-08-22
*/
@Service
public class ContractTemplateServiceImpl extends BaseService<ContractTemplateDto,ContractTemplate,ContractTemplateMapper> implements IContractTemplateService {
/**
* 分页查询
*/
public Page<ContractTemplateDto> queryForContractTemplatePage(Page<ContractTemplateDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<ContractTemplateDto> queryForContractTemplateList() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
......@@ -3,20 +3,25 @@ package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.hygf.api.Enum.HouseholdContractEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractPageDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.PreparationPageDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.entity.ContractTemplate;
import com.yeejoin.amos.boot.module.hygf.api.entity.HouseholdContract;
import com.yeejoin.amos.boot.module.hygf.api.entity.PreparationMoney;
import com.yeejoin.amos.boot.module.hygf.api.mapper.ContractTemplateMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.HouseholdContractMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IHouseholdContractService;
import com.yeejoin.amos.boot.module.hygf.api.dto.HouseholdContractDto;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PathVariable;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.Period;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -32,6 +37,21 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
@Autowired
HouseholdContractMapper householdContractMapper;
@Autowired
QiyuesuoServiceImpl qiyuesuoServiceImpl;
@Value("${qiyuesuo.category}")
String category;
@Value("${qiyuesuo.category}")
String companyTenantName;
@Value("${qiyuesuo.category}")
String companyUsername;
@Value("${qiyuesuo.category}")
String companyContact;
@Autowired
ContractTemplateMapper contractTemplateMapper;
/**
* 列表查询 示例
*/
......@@ -87,4 +107,74 @@ public class HouseholdContractServiceImpl extends BaseService<HouseholdContractD
}
public HouseholdContract initiateHouseholdContract(HouseholdContractDto model){
HouseholdContract householdContract= householdContractMapper.selectById(model.getSequenceNbr());
householdContract.setPartyA(model.getPartyA());
householdContract.setPartyB(model.getPartyB());
householdContract.setContractTemplateId(model.getContractTemplateId());
householdContract.setRentFree(model.getRentFree());
householdContract.setRentCalculationDate(model.getRentCalculationDate());
householdContract.setLeaseEndDate(model.getLeaseEndDate());
householdContract.setConstructionScale(model.getConstructionScale());
householdContract.setComponentQuantityBlock(model.getComponentQuantityBlock());
householdContract.setTotalInvestment(model.getTotalInvestment());
householdContract.setComponentPower(model.getComponentPower());
householdContract.setStationPower(model.getStationPower());
householdContract.setName(model.getName());
//调用第三方
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
//签署结束时间默认一个月后
// LocalDateTime now = LocalDateTime.now();
// LocalDateTime afterOneMonth = now.plus(Period.ofMonths(1));
ContractDataDto contractDataDto =new ContractDataDto();
contractDataDto.setUsername(model.getPartyA());
contractDataDto.setContact(model.getPeasantHouseholdPhone());
contractDataDto.setIDCard(model.getPeasantHouseholdCard());
contractDataDto.setSubject(model.getName());
// contractDataDto.setEndTime(sdf.format(afterOneMonth));
//// contractDataDto.setExpireTime(sdf.format(model.getLeaseEndDate()));
contractDataDto.setCategory(category);
contractDataDto.setCompanyTenantName(companyTenantName);
contractDataDto.setCompanyUsername(companyUsername);
contractDataDto.setCompanyContact(companyContact);
contractDataDto.setEmplateId(model.getContractTemplateId());
ContractTemplate contractTemplate=contractTemplateMapper.selectById(model.getContractTemplateId());
contractDataDto.setCompanykeyword(contractTemplate.getCompanyKeyword());
contractDataDto.setCompanyPage(contractTemplate.getCompanyPage());
contractDataDto.setCompanyOffsetX(contractTemplate.getCompanyOffsetx());
contractDataDto.setCompanyOffsetY(contractTemplate.getCompanyOffsety());
contractDataDto.setPersonalkeyword(contractTemplate.getCompanyKeyword());
contractDataDto.setPersonalPage(contractTemplate.getPersonalPage());
contractDataDto.setPersonalOffsetX(contractTemplate.getPersonalOffsetx());
contractDataDto.setPersonalOffsetY(contractTemplate.getPersonalOffsety());
List<TemplateParamDto> templateParam=new ArrayList<>();
SimpleDateFormat sdfdate = new SimpleDateFormat("yyyy-MM-dd");
templateParam.add(new TemplateParamDto("partyA",householdContract.getPartyA()));
templateParam.add(new TemplateParamDto("peasantHouseholdPhone",householdContract.getPeasantHouseholdPhone()));
templateParam.add(new TemplateParamDto("rentFree",householdContract.getRentFree()));
templateParam.add(new TemplateParamDto("rentCalculationDate",householdContract.getRentCalculationDate()!=null?sdfdate.format(householdContract.getRentCalculationDate()):""));
templateParam.add(new TemplateParamDto("leaseEndDate",householdContract.getLeaseEndDate()!=null?sdfdate.format(householdContract.getLeaseEndDate()):""));
templateParam.add(new TemplateParamDto("constructionScale",householdContract.getConstructionScale()!=null?String.valueOf(householdContract.getConstructionScale()):""));
templateParam.add(new TemplateParamDto("componentQuantityBlock",householdContract.getComponentQuantityBlock()!=null?String.valueOf(householdContract.getComponentQuantityBlock()):""));
templateParam.add(new TemplateParamDto("totalInvestment",householdContract.getTotalInvestment()!=null?String.valueOf(householdContract.getTotalInvestment()):""));
templateParam.add(new TemplateParamDto("peasantHouseholdCard",householdContract.getPeasantHouseholdCard()));
templateParam.add(new TemplateParamDto("permanentAddressDetail",householdContract.getPermanentAddressName()+householdContract.getPermanentAddressDetail()));
templateParam.add(new TemplateParamDto("projectAddressDetail",householdContract.getProjectAddressName()+householdContract.getProjectAddressDetail()));
templateParam.add(new TemplateParamDto("componentPower",householdContract.getComponentPower()!=null?String.valueOf(householdContract.getComponentPower()):""));
templateParam.add(new TemplateParamDto("stationPower",householdContract.getStationPower()!=null?String.valueOf(householdContract.getStationPower()):""));
Long contractLockId=qiyuesuoServiceImpl.addContract(contractDataDto , templateParam);
householdContract.setContractLockId(contractLockId);
householdContract.setInitiateStatus(HouseholdContractEnum.发起状态_已发起.getCode());
householdContractMapper.updateById(householdContract);
return householdContract;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.qiyuesuo.sdk.v2.SdkClient;
import com.qiyuesuo.sdk.v2.bean.*;
import com.qiyuesuo.sdk.v2.exception.BaseSdkException;
import com.qiyuesuo.sdk.v2.json.JSONUtils;
import com.qiyuesuo.sdk.v2.request.*;
import com.qiyuesuo.sdk.v2.response.DocumentAddResult;
import com.qiyuesuo.sdk.v2.response.MiniappTicketResult;
import com.qiyuesuo.sdk.v2.response.SdkResponse;
import com.yeejoin.amos.boot.module.common.api.dto.ContractDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.ContractDataDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.TemplateParamDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @description:
* @author: tw
* @createDate: 2023/8/21
*/
@Service
public class QiyuesuoServiceImpl {
@Value("${qiyuesuo.serverUrl}")
String serverUrl;
@Value("${qiyuesuo.accessKey}")
String accessKey;
@Value("${qiyuesuo.accessSecret}")
String accessSecret;
private static final Logger logger = LoggerFactory.getLogger(QiyuesuoServiceImpl.class);
/***
*
* 个人权限
* */
public SdkResponse<MiniappTicketResult> getSdkResponse(UserAuthMiniappTicketRequest request){
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
String response = null;
try {
response = sdkClient.service(request);
} catch (Exception e) {
throw new BaseSdkException("调用接口错误,错误原因:"+e.getMessage());
}
SdkResponse<MiniappTicketResult> result = JSONUtils.toQysResponse(response,MiniappTicketResult.class);
if(!result.getCode().equals(0)) {
throw new BaseSdkException("获取个人认证Ticket失败,失败原因:"+result.getCode()+","+result.getMessage());
}
return result;
}
/**
合同授权
*
* **/
public SdkResponse<MiniappTicketResult> getContractSdkResponse(ContractMiniappTicketRequest request){
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
String response = null;
try {
response = sdkClient.service(request);
} catch (Exception e) {
throw new BaseSdkException("调用接口错误,错误原因:" + e.getMessage());
}
SdkResponse<MiniappTicketResult> result = JSONUtils.toQysResponse(response, MiniappTicketResult.class);
if (!result.getCode().equals(0)) {
throw new BaseSdkException("获取合同签署Ticket失败,失败原因:" + result.getCode() + "," + result.getMessage());
}
return result;
}
/**
*创建合同
*
*
* **/
public Long addContract(ContractDataDto contractDataDto , List<TemplateParamDto> templateParam ){
String username=contractDataDto.getUsername();
String contact=contractDataDto.getContact();
String IDCard=contractDataDto.getIDCard();
String subject=contractDataDto.getSubject();
String endTime=contractDataDto.getEndTime();
String expireTime=contractDataDto.getExpireTime();
String category=contractDataDto.getCategory();
String companyTenantName=contractDataDto.getCompanyTenantName();
String companyUsername=contractDataDto.getCompanyUsername();
String companyContact=contractDataDto.getCompanyContact();
Long emplateId= contractDataDto.getEmplateId();
String companykeyword= contractDataDto.getCompanykeyword();
Integer companyPage= contractDataDto.getCompanyPage();
Double companyOffsetX= contractDataDto.getCompanyOffsetX();
Double companyOffsetY= contractDataDto.getCompanyOffsetY();
String personalkeyword= contractDataDto.getPersonalkeyword();
Integer personalPage= contractDataDto.getPersonalPage();
Double personalOffsetX= contractDataDto.getPersonalOffsetX();
Double personalOffsetY= contractDataDto.getPersonalOffsetY();
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 合同基本参数
//进行日期格式化
Contract contract = new Contract();
contract.setSubject(subject);
contract.setDescription(subject);
contract.setExpireTime(expireTime);
contract.setEndTime(endTime);
contract.setCategory(new Category(category));
contract.setSend(false);
// 个人
Signatory signatory1 = new Signatory();
signatory1.setTenantName(username);
signatory1.setTenantType("PERSONAL");
signatory1.setReceiver(new User(username, contact, "MOBILE"));
signatory1.setSerialNo(1);
// 对接方
Signatory signatory2 = new Signatory();
signatory2.setTenantName(companyTenantName);
signatory2.setTenantType("COMPANY");
signatory2.setReceiver(new User(companyUsername, companyContact, "MOBILE"));
signatory2.setSerialNo(2);
Action action = new Action("COMPANY", 0);
signatory2.addAction(action);
// 设置签署方
contract.addSignatory(signatory1);
contract.addSignatory(signatory2);
// 创建合同
ContractDraftRequest request = new ContractDraftRequest(contract);
String response = sdkClient.service(request);
SdkResponse<Contract> responseObj = JSONUtils.toQysResponse(response, Contract.class);
// 返回结果
Contract result=new Contract();
if(responseObj.getCode() == 0) {
result = responseObj.getResult();
logger.info(JSON.toJSONString(responseObj));
} else {
logger.info("请求失败,错误码:{},错误信息:{}", responseObj.getCode(), responseObj.getMessage());
}
DocumentAddResult documentAddResult= this.getDocumentAddResult(result.getId(),subject, templateParam,emplateId);
List<Signatory> list= result.getSignatories();
Long ActionId=null;
Long SignatoryId=null;
for (Signatory signatory : list) {
if(signatory.getTenantType().equals("COMPANY")){
ActionId= signatory.getActions().get(0).getId();
}else{
SignatoryId= signatory.getId();
}
}
// 发起时可以设置签署位置
Stamper stamper = new Stamper();
stamper.setActionId(ActionId);
stamper.setDocumentId(documentAddResult.getDocumentId());
stamper.setKeyword(companykeyword);
stamper.setType("COMPANY");
stamper.setPage(companyPage);
stamper.setOffsetX(companyOffsetX);
stamper.setOffsetY(companyOffsetY);
Stamper stamper2 = new Stamper();
stamper2.setSignatoryId(SignatoryId);
stamper2.setDocumentId(documentAddResult.getDocumentId());
stamper.setKeyword(personalkeyword);
stamper2.setType("PERSONAL");
stamper2.setPage(personalPage);
stamper2.setOffsetX(personalOffsetX);
stamper2.setOffsetY(personalOffsetY);
List<Stamper> stampers = new ArrayList<>();
stampers.add(stamper);
stampers.add(stamper2);
SdkResponse<Object> data= this.getSdkResponse(result.getId(), stampers);
return result.getId();
}
public DocumentAddResult getDocumentAddResult(Long contractId, String subject, List<TemplateParamDto> templateParam , Long emplateId ) {
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 添加合同文档
List<TemplateParam> params = new ArrayList<>();
for (TemplateParamDto templateParamDto : templateParam) {
params.add(new TemplateParam(templateParamDto.getKey(), templateParamDto.getValue()));
}
DocumentAddByTemplateRequest request = new DocumentAddByTemplateRequest(contractId,
emplateId , params, subject);
String response = sdkClient.service(request);
SdkResponse<DocumentAddResult> responseObj = JSONUtils.toQysResponse(response, DocumentAddResult.class);
DocumentAddResult result=null;
if (responseObj.getCode() == 0) {
result = responseObj.getResult();
logger.info("添加合同文档成功,文档ID:{}", JSON.toJSONString(result));
} else {
logger.info("请求失败,错误码:{},错误信息:{}", responseObj.getCode(), responseObj.getMessage());
}
return result;
}
public SdkResponse<Object> getSdkResponse(Long contractId,List<Stamper> stampers ){
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 发起合同
SdkResponse<Object> responseObj =null;
ContractSendRequest request = new ContractSendRequest(contractId, stampers);
String response = sdkClient.service(request);
responseObj = JSONUtils.toQysResponse(response);
if(responseObj.getCode() == 0) {
logger.info("合同发起成功");
} else {
logger.info("请求失败,错误码:{},错误信息:{}", responseObj.getCode(), responseObj.getMessage());
}
return responseObj;
}
}
......@@ -115,6 +115,17 @@ hygf.sms.tempCodeJXS=SMS_HYGF_0002
regionalCompanies.company.seq=1693499571071619074
qiyuesuo.serverUrl = https://openapi.qiyuesuo.cn
qiyuesuo.accessKey = TdBmNkjAYd
qiyuesuo.accessSecret = y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z
qiyuesuo.category=������Դ�Ƽ����޹�˾�����ͬ
qiyuesuo.companyTenantName=������Դ�Ƽ����޹�˾
qiyuesuo.companyUsername=���ı�
qiyuesuo.companyContact=13870935656
# ============================================= v20230821 add properties =============================================
security.productWeb=AMOS_STUDIO_WEB
security.appKey=AMOS_STUDIO
......
......@@ -66,7 +66,7 @@ public class IdxBizPvPointProcessVariableClassificationDto {
private String tagCode;
@TableField("POINT_ID")
private Integer pointId;
private String pointId;
@ApiModelProperty(value = "片区")
@TableField("ARAE")
......
package com.yeejoin.amos.boot.module.jxiop.biz.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
......@@ -24,7 +26,7 @@ public class IdxBizFanHealthIndex {
/**
*
*/
@TableField("SEQUENCE_NBR")
@TableId(value = "SEQUENCE_NBR", type = IdType.ID_WORKER_STR)
private String sequenceNbr;
/**
......@@ -139,7 +141,7 @@ public class IdxBizFanHealthIndex {
*
*/
@TableField("GATEWAY_ID")
private Integer gatewayId;
private String gatewayId;
/**
* 点表地址
......
......@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
......@@ -39,7 +40,7 @@ public class IdxBizFanHealthLevel{
*
*/
@TableField("REC_DATE")
private LocalDateTime recDate;
private Date recDate;
/**
*
......
......@@ -142,7 +142,7 @@ public class IdxBizFanPointProcessVariableClassification{
*
*/
@TableField("GATEWAY_ID")
private Long gatewayId;
private String gatewayId;
/**
* 点表地址
......
......@@ -111,7 +111,7 @@ public class IdxBizFanWarningRecord{
* 网关ID
*/
@TableField("GATEWAY_ID")
private Integer gatewayId;
private String gatewayId;
/**
* 点表地址
......
package com.yeejoin.amos.boot.module.jxiop.biz.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
......@@ -27,7 +29,7 @@ public class IdxBizPvHealthIndex{
/**
*
*/
@TableField("SEQUENCE_NBR")
@TableId(value = "SEQUENCE_NBR", type = IdType.ID_WORKER_STR)
private String sequenceNbr;
/**
......@@ -100,13 +102,13 @@ public class IdxBizPvHealthIndex{
*
*/
@TableField("ANALYSIS_START_TIME")
private LocalDateTime analysisStartTime;
private Date analysisStartTime;
/**
*
*/
@TableField("ANALYSIS_END_TIME")
private LocalDateTime analysisEndTime;
private Date analysisEndTime;
/**
* 片区
......
......@@ -150,7 +150,7 @@ public class IdxBizPvPointProcessVariableClassification{
*
*/
@TableField("GATEWAY_ID")
private Long gatewayId;
private String gatewayId;
/**
* 点表地址
......
......@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date;
/**
*
......@@ -39,7 +40,7 @@ public class IdxBizPvPointVarCentralValue{
*
*/
@TableField("REC_DATE")
private LocalDateTime recDate;
private Date recDate;
/**
*
......@@ -180,7 +181,7 @@ public class IdxBizPvPointVarCentralValue{
/**
*
*/
@TableField("ANALYSIS_POINT_ID_NAME")
@TableField("ANALYSIS_POINT_NAME")
private String analysisPointIdName;
/**
......
......@@ -990,10 +990,14 @@ public class CommonServiceImpl {
HashMap<String, Object> realParams = new HashMap<>();
realParams.put(gkzxzjskey1, values);
String response = HttpUtil.createPost(baseUrl + jkzsjsfjurl).body(JSON.toJSONString(realParams)).execute().body();
logger.info("--------------------repsonse: "+response);
logger.info("------------------------------------------调用健康指数计算算法结束----------------------------------------");
JSONObject result = JSON.parseObject(response).getJSONObject("result");
if (null != result){
JSONObject jsonObject =result .getJSONObject("result1").getJSONObject("rows");
List<JSONObject> jsonObjects = JSON.parseArray(JSON.toJSONString(jsonObject), JSONObject.class);
JSONArray jsonArray = result.getJSONObject("result1").getJSONArray("rows");
List<JSONObject> jsonObjects = jsonArray.toJavaList(JSONObject.class);
String s = JSON.toJSONString(result.getJSONObject("result1").getString("rows"));
// List<JSONObject> jsonObjects = JSON.parseArray(s, JSONObject.class);
List<String> ids = new ArrayList<>();
jsonObjects.stream().forEach(e-> ids.add(e.getString("analysisVariableId")));
......@@ -1005,10 +1009,11 @@ public class CommonServiceImpl {
for (JSONObject object : jsonObjects) {
if (obj.getSequenceNbr().equals(object.getString("analysisVariableId"))){
IdxBizFanHealthIndex idxBizFanHealthIndex = new IdxBizFanHealthIndex();
BeanUtils.copyProperties(idxBizFanHealthIndex,obj);
BeanUtils.copyProperties(obj,idxBizFanHealthIndex);
idxBizFanHealthIndex.setHealthIndex(object.getDouble("indexValue"));
idxBizFanHealthIndex.setAnalysisObjSeq(obj.getSequenceNbr());
idxBizFanHealthIndex.setRecDate(new Date());
idxBizFanHealthIndex.setSequenceNbr(null);
//获取健康指数对应等级
LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>();
query.eq(IdxBizFanHealthLevel::getAnalysisObjType,"设备");
......@@ -1026,12 +1031,6 @@ public class CommonServiceImpl {
idxBizFanHealthIndexService.saveBatch(idxBizFanHealthIndexs);
}
try {
logger.info("--------------------repsonse: "+response);
logger.info("------------------------------------------调用健康指数计算算法结束----------------------------------------");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
......
......@@ -268,8 +268,8 @@ public class HealthStatusIndicatorServiceImpl {
wrapper.orderByDesc(IdxBizFanHealthIndex::getRecDate);
List<IdxBizFanHealthIndex> healthIndices = idxBizFanHealthIndexMapper.selectList(wrapper);
Map<Integer, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
for (Integer gateWayId : gateWayMaps.keySet()) {
Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
for (String gateWayId : gateWayMaps.keySet()) {
Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) {
List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address);
......@@ -335,8 +335,8 @@ public class HealthStatusIndicatorServiceImpl {
wrapper.orderByDesc(IdxBizFanHealthIndex::getRecDate);
List<IdxBizFanHealthIndex> healthIndices = idxBizFanHealthIndexMapper.selectList(wrapper);
Map<Integer, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
for (Integer gateWayId : gateWayMaps.keySet()) {
Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
for (String gateWayId : gateWayMaps.keySet()) {
Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) {
List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address);
......@@ -403,8 +403,8 @@ public class HealthStatusIndicatorServiceImpl {
wrapper.orderByDesc(IdxBizFanHealthIndex::getRecDate);
List<IdxBizFanHealthIndex> healthIndices = idxBizFanHealthIndexMapper.selectList(wrapper);
Map<Integer, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
for (Integer gateWayId : gateWayMaps.keySet()) {
Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
for (String gateWayId : gateWayMaps.keySet()) {
Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) {
List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address);
......
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