Commit 55da605c 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-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/entity/PreparationMoney.java amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/resources/application-dev.properties
parents eb7518ea 58cdb651
......@@ -97,6 +97,9 @@ public class ControllerAop {
urls.add("^/tzs/flc-unit-info/verifyTelCode/[A-Za-z0-9]+/[A-Za-z0-9]+");
urls.add("^/tzs/flc-unit-info/hasExistUser/[A-Za-z0-9_-]+");
urls.add("/tzs/reg-unit-info/save");
urls.add("/hygf/unit-info/region/tree");
urls.add("/hygf/unit-info/management-unit/tree");
// 获取请求路径
for (String uri : urls) {
Pattern p = Pattern.compile(uri);
......
package com.yeejoin.amos.boot.module.hygf.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @description:
* @author: tw
* @createDate: 2023/8/21
*/
@Getter
@AllArgsConstructor
public enum HouseholdContractEnum {
发起状态_已发起("已发起", "已发起"),
发起状态_未发起("未发起", "未发起"),
验证状态_已验证("已验证", "已验证"),
验证状态_未验证("未验证", "未验证"),
盖章状态_未盖章("未盖章", "未盖章"),
盖章状态_已盖章("已盖章", "已盖章"),
签字状态_已签字("已签字", "已签字"),
签字状态_未签字("未签字", "未签字"),
勘察状态_未勘察("未勘察", "未勘察"),
勘察状态_已勘察("已勘察", "已勘察"),
合同状态_未签署("未签署", "未签署"),
合同状态_已签署("已签署", "已签署"),
合同状态_已作废("已作废", "已作废");
/**
* 名称,描述
*/
private String name;
/**
* 编码
*/
private String code;
public static PowerStationNodeEnum getNodeByCode(String code) {
PowerStationNodeEnum powerStationNodeEnum = null;
for(PowerStationNodeEnum type: PowerStationNodeEnum.values()) {
if (type.getCode().equals(code)) {
powerStationNodeEnum = type;
break;
}
}
return powerStationNodeEnum;
}
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
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-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="HouseholdContractDto", description="")
public class HouseholdContractDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "勘察状态")
private String surveyStatus;
@ApiModelProperty(value = "合同状态")
private String status;
@ApiModelProperty(value = "签字状态")
private String signStatus;
@ApiModelProperty(value = "盖章状态")
private String stampStatus;
@ApiModelProperty(value = "甲方")
private String partyA;
@ApiModelProperty(value = "乙方")
private String partyB;
@ApiModelProperty(value = "合同编号")
private String contractNumber;
@ApiModelProperty(value = "农户编号")
private String peasantHouseholdNumber;
@ApiModelProperty(value = "农户身份证")
private String peasantHouseholdCard;
@ApiModelProperty(value = "经销商id")
private Long dealerId;
@ApiModelProperty(value = "经销商code")
private String dealerCode;
@ApiModelProperty(value = "经销商名称")
private String dealerName;
@ApiModelProperty(value = "合同名称")
private String name;
@ApiModelProperty(value = "模板id")
private Long contractTemplateId;
@ApiModelProperty(value = "合同文件地址")
private String contractUrl;
@ApiModelProperty(value = "办理人")
private String sealedUser;
@ApiModelProperty(value = "农户id")
private Long peasantHouseholdId;
@ApiModelProperty(value = "所属区域公司id")
private Long regionalCompaniesSeq;
@ApiModelProperty(value = "所属区域公司名称")
private String regionalCompaniesName;
@ApiModelProperty(value = "所属区域公司code")
private String regionalCompaniesCode;
@ApiModelProperty(value = "农户手机号")
private String peasantHouseholdPhone;
@ApiModelProperty(value = "项目详细地址")
private String projectAddressDetail;
@ApiModelProperty(value = "常住详细地址")
private String permanentAddressDetail;
@ApiModelProperty(value = "常住地址")
private String permanentAddressName;
@ApiModelProperty(value = "项目地址")
private String projectAddressName;
@ApiModelProperty(value = "免租期免租期")
private String rentFree;
@ApiModelProperty(value = "租金计算日期")
private Date rentCalculationDate;
@ApiModelProperty(value = "租期结束日期")
private Date leaseEndDate;
@ApiModelProperty(value = "建设规模")
private Double constructionScale;
@ApiModelProperty(value = "组件数量块")
private Integer componentQuantityBlock;
@ApiModelProperty(value = "总投资")
private Double totalInvestment;
@ApiModelProperty(value = "组件功率")
private Double componentPower;
@ApiModelProperty(value = "电站功率")
private Double stationPower;
@ApiModelProperty(value = "合同契约锁id")
private Double contractLockId;
@ApiModelProperty(value = "印章id")
private Double sealId;
/**
* 发起状态
* */
private String initiateStatus;
/**
* 签署时间
* */
private Date signingTime;
}
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.hygf.api.entity.HouseholdContract;
import lombok.Data;
/**
* @description:
* @author: tw
* @createDate: 2023/8/21
*/
@Data
public class HouseholdContractPageDto extends Page<HouseholdContract> {
String orderBy;
Boolean isASC;
//合同名称
String name;
/**
* 发起状态
* */
private String initiateStatus;
/**
* 农户id
*/
private Long peasantHouseholdId;
/**
* 经销商id
*/
private Long dealerId;
/**
* 勘察状态
*/
private String surveyStatus;
/**
* 签字状态
*/
private String signStatus;
}
......@@ -93,6 +93,19 @@ public class UnitInfoDto extends BaseDto {
@ApiModelProperty(value = "管辖单位id")
private String managementUnitId;
//所属区域公司id
private Long regionalCompaniesSeq;
//所属区域公司名称
private String regionalCompaniesName;
//所属区域公司code
private String regionalCompaniesCode;
/**
*是否加入黑名单
* */
......
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
*
*
* @author system_generator
* @date 2023-08-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("hygf_household_contract")
public class HouseholdContract extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 勘察状态
*/
@TableField("survey_status")
private String surveyStatus;
/**
* 合同状态
*/
@TableField("status")
private String status;
/**
* 签字状态
*/
@TableField("sign_status")
private String signStatus;
/**
* 盖章状态
*/
@TableField("stamp_status")
private String stampStatus;
/**
* 甲方
*/
@TableField("party_a")
private String partyA;
/**
* 乙方
*/
@TableField("party_b")
private String partyB;
/**
* 合同编号
*/
@TableField("contract_number")
private String contractNumber;
/**
* 农户编号
*/
@TableField("peasant_household_number")
private String peasantHouseholdNumber;
/**
* 农户身份证
*/
@TableField("peasant_household_card")
private String peasantHouseholdCard;
/**
* 经销商id
*/
@TableField("dealer_id")
private Long dealerId;
/**
* 经销商code
*/
@TableField("dealer_code")
private String dealerCode;
/**
* 经销商名称
*/
@TableField("dealer_name")
private String dealerName;
/**
* 合同名称
*/
@TableField("name")
private String name;
/**
* 模板id
*/
@TableField("contract_template_id")
private Long contractTemplateId;
/**
* 合同文件地址
*/
@TableField("contract_url")
private String contractUrl;
/**
* 办理人
*/
@TableField("sealed_user")
private String sealedUser;
/**
* 农户id
*/
@TableField("peasant_household_id")
private Long peasantHouseholdId;
/**
* 所属区域公司id
*/
@TableField("regional_companies_seq")
private Long regionalCompaniesSeq;
/**
* 所属区域公司名称
*/
@TableField("regional_companies_name")
private String regionalCompaniesName;
/**
* 所属区域公司code
*/
@TableField("regional_companies_code")
private String regionalCompaniesCode;
/**
* 农户手机号
*/
@TableField("peasant_household_phone")
private String peasantHouseholdPhone;
/**
* 项目详细地址
*/
@TableField("project_address_detail")
private String projectAddressDetail;
/**
* 常住详细地址
*/
@TableField("permanent_address_detail")
private String permanentAddressDetail;
/**
* 常住地址
*/
@TableField("permanent_address_name")
private String permanentAddressName;
/**
* 项目地址
*/
@TableField("project_address_name")
private String projectAddressName;
/**
* 免租期
免租期
*/
@TableField("rent_free")
private String rentFree;
/**
* 租金计算日期
*/
@TableField("rent_calculation_date")
private Date rentCalculationDate;
/**
* 租期结束日期
*/
@TableField("lease_end_date")
private Date leaseEndDate;
/**
* 建设规模
*/
@TableField("construction_scale")
private Double constructionScale;
/**
* 组件数量块
*/
@TableField("component_quantity_block")
private Integer componentQuantityBlock;
/**
* 总投资
*/
@TableField("total_investment")
private Double totalInvestment;
/**
* 组件功率
*/
@TableField("component_power")
private Double componentPower;
/**
* 电站功率
*/
@TableField("station_power")
private Double stationPower;
@TableField("contract_lock_id")
private Double contractLockId;
@TableField("seal_id")
private Double sealId;
/**
* 发起状态
* */
@TableField("initiate_status")
private String initiateStatus;
/**
* 签署时间
* */
@TableField("signing_time")
private Date signingTime;
}
......@@ -181,7 +181,13 @@ public class PreparationMoney extends BaseEntity {
*/
@TableField("total_price")
private Double totalPrice;
/**
*
* 验证 状态
* */
@TableField("validating")
private String validating;
/**
* 到货时间
*/
......
......@@ -181,6 +181,17 @@ public class UnitInfo extends BaseEntity {
//所属区域公司id
@TableField("regional_companies_seq")
private Long regionalCompaniesSeq;
//所属区域公司名称
@TableField("regional_companies_name")
private String regionalCompaniesName;
//所属区域公司code
@TableField("regional_companies_code")
private String regionalCompaniesCode;
@TableField(exist=false)
private List<CommonFile> headCardPhotoFrontList;
......
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.hygf.api.entity.HouseholdContract;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author system_generator
* @date 2023-08-21
*/
public interface HouseholdContractMapper extends BaseMapper<HouseholdContract> {
}
package com.yeejoin.amos.boot.module.hygf.api.service;
/**
* 接口类
*
* @author system_generator
* @date 2023-08-21
*/
public interface IHouseholdContractService {
}
<?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.HouseholdContractMapper">
</mapper>
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
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;
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.HouseholdContractServiceImpl;
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.HouseholdContractDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
*
*
* @author system_generator
* @date 2023-08-21
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/household-contract")
public class HouseholdContractController extends BaseController {
@Autowired
HouseholdContractServiceImpl householdContractServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<HouseholdContractDto> save(@RequestBody HouseholdContractDto model) {
model = householdContractServiceImpl.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<HouseholdContractDto> updateBySequenceNbrHouseholdContract(@RequestBody HouseholdContractDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdContractServiceImpl.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(householdContractServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<HouseholdContractDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdContractServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<IPage< HouseholdContract > > queryForPage(HouseholdContractPageDto dto) {
return ResponseHelper.buildResponse(householdContractServiceImpl.queryForPreparationMoneyPage(dto));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdContractDto>> selectForList() {
return ResponseHelper.buildResponse(householdContractServiceImpl.queryForHouseholdContractList());
}
}
......@@ -17,6 +17,7 @@ import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import io.swagger.annotations.ApiParam;
......@@ -72,6 +73,10 @@ public class UnitInfoController extends BaseController {
@Value("${hygf.sms.tempCode}")
private String smsTempCode;
@Value("${regionalCompanies.company.seq}")
private Long regionalCompanies;
@Autowired
SendSmsCode sendSmsCode;
......@@ -231,12 +236,15 @@ public class UnitInfoController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/management-unit/tree")
@ApiOperation(httpMethod = "GET", value = "管辖机构树", notes = "管辖机构树")
public ResponseModel<Collection> managementUnitTree(@RequestParam(required = false)String orgCode) {
public ResponseModel<Collection<CompanyModel>> managementUnitTree(@RequestParam(required = false)String orgCode) {
RequestContext.setAppKey("AMOS_STUDIO");
RequestContext.setProduct("AMOS_STUDIO_WEB");
RequestContext.setToken(requestContext.getToken());
Collection result = unitInfoServiceImpl.getManagementUnitTree(orgCode);
return ResponseHelper.buildResponse(result);
FeignClientResult<Collection<CompanyModel>> feignClientResult= Privilege.companyClient.querySubAgencyTree(regionalCompanies);
Collection<CompanyModel> companyModel = (List<CompanyModel>)feignClientResult.getResult();
return ResponseHelper.buildResponse(companyModel);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
......
package com.yeejoin.amos.boot.module.hygf.biz.controller;
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.ContractListResult;
import com.qiyuesuo.sdk.v2.response.DocumentAddResult;
import com.qiyuesuo.sdk.v2.response.MiniappTicketResult;
import com.qiyuesuo.sdk.v2.response.SdkResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
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/18
*/
@RestController
@Api(tags = "经销商单位信息Api")
@RequestMapping(value = "/test")
public class test {
private static final Logger logger = LoggerFactory.getLogger(test.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";
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());
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) {
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());
}
return ResponseHelper.buildResponse(result.getResult());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "获取经销商单位", notes = "获取经销商单位")
@PostMapping (value = "/getUnit1000")
public ResponseModel<ContractListResult> getUnit1000(@RequestBody ContractListRequest request) {
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "TdBmNkjAYd";
String accessSecret = "y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
ContractListResult contractListResult =null;
// 解析请求结果
String response = sdkClient.service(request);
SdkResponse<ContractListResult> qysResponse = JSONUtils.toQysResponse(response, ContractListResult.class);
if (qysResponse.getCode() == 0) {
contractListResult = qysResponse.getResult();
} else {
throw new BaseSdkException("请求失败,错误码:{},错误信息:{}");
}
return ResponseHelper.buildResponse(qysResponse.getResult());
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "post",value = "创建合同", notes = "创建合同")
@PostMapping (value = "/getUnit2000")
public ResponseModel<SdkResponse<Object>> getUnit2000(@RequestBody Map<String,String> map) {
String username=map.get("username");
String contact=map.get("contact");
String IDCard=map.get("IDCard");
// 初始化sdkClient
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "TdBmNkjAYd";
String accessSecret = "y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 合同基本参数
//进行日期格式化
Contract contract = new Contract();
contract.setSubject("户用光伏测试合同-"+username+new Date().getTime());
contract.setDescription("户用光伏测试合同-"+username+new Date().getTime());
contract.setExpireTime("2024-04-24 23:59:59");
contract.setEndTime("2024-08-24 23:59:59");
contract.setCategory(new Category("智信能源合同"));
// contract.setBizId("");
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("智信能源科技有限公司-测试");
signatory2.setTenantType("COMPANY");
signatory2.setReceiver(new User("唐伟", "18291879708", "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(),username, contact, IDCard);
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();
}
}
SdkResponse<Object> data= this.getSdkResponse(result.getId(), ActionId,documentAddResult.getDocumentId(), SignatoryId);
return ResponseHelper.buildResponse(data);
}
public DocumentAddResult getDocumentAddResult(Long contractId,String username,String contact,String IDCard) {
// 初始化sdkClient
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "TdBmNkjAYd";
String accessSecret = "y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 添加合同文档
List<TemplateParam> params = new ArrayList<>();
params.add(new TemplateParam("name", username));
params.add(new TemplateParam("IDCard", IDCard));
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
//进行日期格式化
String date = format.format(new Date());
params.add(new TemplateParam("Date", date));
DocumentAddByTemplateRequest request = new DocumentAddByTemplateRequest(contractId,
3130034494367662891L , params, "签署合同,");
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,Long ActionId,Long documentId,Long SignatoryId){
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "TdBmNkjAYd";
String accessSecret = "y8KiDFKKDdC9Ld9Cm5zuy2rpXjxP5Z";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
// 发起时可以设置签署位置
Stamper stamper = new Stamper();
stamper.setActionId(ActionId);
stamper.setDocumentId(documentId);
stamper.setKeyword("单位名称");
stamper.setType("COMPANY");
stamper.setPage(1);
stamper.setOffsetX(0.3);
stamper.setOffsetY(0.0);
Stamper stamper2 = new Stamper();
stamper2.setSignatoryId(SignatoryId);
stamper2.setDocumentId(documentId);
stamper.setKeyword("签署方");
stamper2.setType("PERSONAL");
stamper2.setPage(1);
stamper2.setOffsetX(0.0);
stamper2.setOffsetY(0.0);
List<Stamper> stampers = new ArrayList<>();
stampers.add(stamper);
stampers.add(stamper2);
// 发起合同
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;
}
}
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.entity.HouseholdContract;
import com.yeejoin.amos.boot.module.hygf.api.entity.PreparationMoney;
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.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.util.Date;
import java.util.List;
/**
* 服务实现类
*
* @author system_generator
* @date 2023-08-21
*/
@Service
public class HouseholdContractServiceImpl extends BaseService<HouseholdContractDto,HouseholdContract,HouseholdContractMapper> implements IHouseholdContractService {
@Autowired
HouseholdContractMapper householdContractMapper;
/**
* 列表查询 示例
*/
public List<HouseholdContractDto> queryForHouseholdContractList() {
return this.queryForList("" , false);
}
/**
* 分页查询
*/
public IPage<HouseholdContract> queryForPreparationMoneyPage(HouseholdContractPageDto dto) {
//列表数据组装
QueryWrapper<HouseholdContract> qw = new QueryWrapper<>();
qw.like(StringUtils.isNotEmpty(dto.getName()), "name", dto.getName());
qw.eq(StringUtils.isNotEmpty(dto.getInitiateStatus()), "initiate_status",dto.getInitiateStatus() );
qw.eq(dto.getPeasantHouseholdId()!=null, "peasant_household_id",dto.getPeasantHouseholdId() );
qw.eq(dto.getDealerId()!=null, "dealer_id",dto.getDealerId() );
qw.eq(StringUtils.isNotEmpty(dto.getInitiateStatus()), "initiate_status",dto.getInitiateStatus() );
qw.eq(StringUtils.isNotEmpty(dto.getSurveyStatus()), "survey_status",dto.getSurveyStatus() );
qw.eq(StringUtils.isNotEmpty(dto.getSignStatus()), "sign_status",dto.getSignStatus() );
if (StringUtils.isNotEmpty(dto.getOrderBy())) {
qw.orderBy(Boolean.TRUE, dto.getIsASC(), dto.getOrderBy());
}else{
qw.orderBy(Boolean.TRUE, Boolean.FALSE, "rec_date");
}
IPage<HouseholdContract> warningQuestionInfoIPage = householdContractMapper.selectPage(dto, qw);
return warningQuestionInfoIPage;
}
//农户注册成功后生成合同
public void addHouseholdContract(HouseholdContract householdContract){
householdContract.setContractNumber(this.getnum());//合同编号
householdContract.setSurveyStatus(HouseholdContractEnum.勘察状态_未勘察.getCode());
householdContract.setStatus(HouseholdContractEnum.合同状态_未签署.getCode());
householdContract.setSignStatus(HouseholdContractEnum.签字状态_未签字.getCode());
householdContract.setStampStatus(HouseholdContractEnum.盖章状态_未盖章.getCode());
householdContract.setInitiateStatus(HouseholdContractEnum.发起状态_未发起.getCode());
householdContractMapper.insert(householdContract);
}
public String getnum() {
SimpleDateFormat format = new SimpleDateFormat("YYYYMMddHHmmssSSS");
Date date = new Date();
String s = "HT"+format.format(date);
return s;
}
}
\ No newline at end of file
......@@ -85,33 +85,36 @@ spring.jms.pub-sub-domain=false
myqueue=amos.privilege.v1.JXIOP.AQSC_FDGL.userBusiness
regulator.unit.code=86*258
# 经销商应用code
# ������Ӧ��code
dealer.appcode=studio_normalapp_5133538
hygf.sms.tempCode=SMS_HYGF_0001
# 华为短信相关配置
# �������������
sms.huawei.url=https://smsapi.cn-north-4.myhuaweicloud.com:443/sms/batchSendSms/v1
sms.huawei.appKey=n3FYPWO7Heo1ze212QRBvF4VA2E2
sms.huawei.appSecret=IFhiMpWROi7w4Ei21ZbfIjKyt97b
# 模板id
# �id
sms.huawei.templateId=6aaeb4bf916d4db0a1942c598912519e
# 签名通道号
# ǩ��ͨ����
sms.huawei.sender=1069368924410006092
# 签名名称
sms.huawei.signature=华为云短信测试
# 审核pageId确认
# ���pageIdȷ��
power.station.examine.pageId=1680853427061551106
# 电站审核计划id
# ��վ��˼ƻ�id
power.station.examine.planId=c4ed1873-0dc6-4518-a7a9-dbc588ef35e5
# 用户组userGroupId
# �û���userGroupId
hygf.user.group.id=1679755750924120066
unitInfo.station.examine.planId=51776087-a9cf-4a87-9a03-24fd24a8cf45
hygf.sms.tempCodeJXS=SMS_HYGF_0002
regionalCompanies.company.seq=1693499571071619074
# ============================================= v20230821 add properties =============================================
security.productWeb=AMOS_STUDIO_WEB
security.appKey=AMOS_STUDIO
......
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