java110 3 lat temu
rodzic
commit
9d33056e2f

+ 184 - 0
service-user/src/main/java/com/java110/user/cmd/owner/SyncThirdEnterpriseCmd.java

@@ -0,0 +1,184 @@
+package com.java110.user.cmd.owner;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.client.OutRestTemplate;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.doc.annotation.*;
+import com.java110.dto.owner.OwnerAttrDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
+import com.java110.po.owner.OwnerAttrPo;
+import com.java110.po.owner.OwnerPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+
+import java.text.ParseException;
+import java.util.List;
+
+
+@Java110CmdDoc(title = "招商平台企业信息同步",
+        description = "同步企业信息",
+        httpMethod = "post",
+        url = "http://{ip}:{port}/app/owner.syncThirdEnterprise",
+        resource = "userDoc",
+        author = "吴学文",
+        serviceCode = "owner.syncThirdEnterprise"
+)
+
+@Java110ParamsDoc(params = {
+        @Java110ParamDoc(name = "communityId", length = 30, remark = "物业系统小区ID"),
+        @Java110ParamDoc(name = "enterpriseArea", length = 64, remark = "办公面积"),
+        @Java110ParamDoc(name = "enterpriseAssets", length = 64, remark = "企业资产"),
+        @Java110ParamDoc(name = "enterpriseIncome", length = 64, remark = "企业收入"),
+        @Java110ParamDoc(name = "enterpriseMember", length = 64, remark = "办公人数"),
+        @Java110ParamDoc(name = "enterpriseOutput", length = 64, remark = "企业产值"),
+        @Java110ParamDoc(name = "enterpriseSize", length = 64, remark = "企业规模"),
+        @Java110ParamDoc(name = "enterpriseTax", length = 64, remark = "企业税收"),
+        @Java110ParamDoc(name = "enterpriseType", length = 64, remark = "企业类型(未定义,暂定1,五百强,2上市)"),
+        @Java110ParamDoc(name = "financingInfo", length = 64, remark = "融资信息"),
+        @Java110ParamDoc(name = "inTime", length = 64, remark = "入驻时间"),
+        @Java110ParamDoc(name = "industry", length = 64, remark = "所属行业"),
+        @Java110ParamDoc(name = "label", length = 64, remark = "企业标签"),
+        @Java110ParamDoc(name = "legalPerson", length = 64, remark = "法人"),
+        @Java110ParamDoc(name = "scienceEnterprise", length = 64, remark = "科技型企业:如民营科技企业"),
+        @Java110ParamDoc(name = "shopName", length = 64, remark = "店铺名称"),
+        @Java110ParamDoc(name = "superAdmin", length = 64, remark = "超级管理员号码"),
+        @Java110ParamDoc(name = "website", length = 64, remark = "官网地址"),
+        @Java110ParamDoc(name = "years", length = 64, remark = "成立年限:如1-3年"),
+        @Java110ParamDoc(name = "contactInfo", length = 64, remark = "联系方式"),
+        @Java110ParamDoc(name = "creditCode", length = 64, remark = "统一信用代码"),
+        @Java110ParamDoc(name = "enterpriseAddress", length = 64, remark = "企业地址"),
+        @Java110ParamDoc(name = "enterpriseName", length = 64, remark = "企业名称"),
+        @Java110ParamDoc(name = "introduction", length = 256, remark = "简介"),
+        @Java110ParamDoc(name = "licenseImg", length = 64, remark = "营业执照图片"),
+})
+
+@Java110ResponseDoc(
+        params = {
+                @Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "返回编号,0 成功 其他失败"),
+                @Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "成功", remark = "描述"),
+        }
+)
+
+@Java110ExampleDoc(
+        reqBody = "{'communityId':'123123','enterpriseArea':'11','enterpriseAssets':'11','enterpriseIncome':'11','enterpriseMember':'11','enterpriseOutput':'11','enterpriseSize':'11'," +
+                "'enterpriseTax':'11','enterpriseType':'11','financingInfo':'11','inTime':'2023-01-01','industry':'11','label':'11','label':'11'," +
+                "'legalPerson':'11','scienceEnterprise':'11','shopName':'11','superAdmin':'11','website':'11','contactInfo':'11','creditCode':'11'," +
+                "'enterpriseAddress':'11','enterpriseName':'11','introduction':'11','licenseImg':'11',}",
+        resBody = "{'code':0,'msg':'成功'}"
+)
+
+/***
+ * 提供招商平台
+ */
+@Java110Cmd(serviceCode = "owner.syncThirdEnterprise")
+public class SyncThirdEnterpriseCmd extends Cmd {
+
+    @Autowired
+    private IOwnerAttrInnerServiceSMO ownerAttrInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
+    public static final String DEFAULT_COMMUNITY_ID = "123"; //特殊化需求 这里写死
+
+    @Autowired
+    private OutRestTemplate outRestTemplate;
+
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含communityId");
+        Assert.hasKeyAndValue(reqJson, "enterpriseArea", "未包含enterpriseArea");
+        Assert.hasKeyAndValue(reqJson, "enterpriseAssets", "未包含enterpriseAssets");
+        Assert.hasKeyAndValue(reqJson, "enterpriseIncome", "未包含enterpriseIncome");
+        Assert.hasKeyAndValue(reqJson, "enterpriseMember", "未包含enterpriseMember");
+        Assert.hasKeyAndValue(reqJson, "enterpriseOutput", "未包含enterpriseOutput");
+        Assert.hasKeyAndValue(reqJson, "enterpriseSize", "未包含enterpriseSize");
+        Assert.hasKeyAndValue(reqJson, "enterpriseTax", "未包含enterpriseTax");
+        Assert.hasKeyAndValue(reqJson, "enterpriseType", "未包含enterpriseType");
+        Assert.hasKeyAndValue(reqJson, "enterpriseOutput", "未包含enterpriseOutput");
+        Assert.hasKeyAndValue(reqJson, "financingInfo", "未包含financingInfo");
+        Assert.hasKeyAndValue(reqJson, "inTime", "未包含inTime");
+        Assert.hasKeyAndValue(reqJson, "industry", "未包含industry");
+        Assert.hasKeyAndValue(reqJson, "label", "未包含label");
+        Assert.hasKeyAndValue(reqJson, "legalPerson", "未包含legalPerson");
+        Assert.hasKeyAndValue(reqJson, "scienceEnterprise", "未包含scienceEnterprise");
+        Assert.hasKeyAndValue(reqJson, "shopName", "未包含shopName");
+        Assert.hasKeyAndValue(reqJson, "superAdmin", "未包含superAdmin");
+        Assert.hasKeyAndValue(reqJson, "website", "未包含website");
+        Assert.hasKeyAndValue(reqJson, "years", "未包含years");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setSpecCd(OwnerAttrDto.SPEC_CD_EXT_OWNER_ID);
+        ownerAttrDto.setValue(reqJson.getString("userId"));
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
+
+        String ownerId = "";
+
+        if (ownerAttrDtos == null || ownerAttrDtos.size() < 1) {
+            ownerId = saveOwner(reqJson);
+        }
+
+        context.setResponseEntity(ResultVo.createResponseEntity(ownerId));
+    }
+
+    /**
+     * 添加业主
+     *
+     * @param reqJson
+     * @return
+     */
+    private String saveOwner(JSONObject reqJson) {
+
+        JSONObject data = reqJson;
+
+        OwnerPo ownerPo = new OwnerPo();
+        ownerPo.setOwnerId(GenerateCodeFactory.getGeneratorId("99"));
+        ownerPo.setMemberId(ownerPo.getOwnerId());
+        ownerPo.setAge("1");
+        ownerPo.setOwnerFlag(OwnerDto.OWNER_FLAG_TRUE);
+        ownerPo.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+        ownerPo.setAddress("无");
+        ownerPo.setCommunityId(DEFAULT_COMMUNITY_ID);
+        ownerPo.setIdCard(data.getString("idNo"));
+        ownerPo.setLink(data.getString("phoneNumber"));
+        ownerPo.setName(data.getString("realName"));
+        ownerPo.setRemark("通过接口新增");
+        ownerPo.setSex(data.getString("sex") == null ? "1" : "0");
+        ownerPo.setState(OwnerDto.STATE_FINISH);
+        ownerPo.setUserId("-1");
+        int flag = ownerV1InnerServiceSMOImpl.saveOwner(ownerPo);
+        if (flag < 1) {
+            throw new CmdException("保存业主失败");
+        }
+
+        OwnerAttrPo ownerAttrPo = new OwnerAttrPo();
+        ownerAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId("11"));
+        ownerAttrPo.setCommunityId(DEFAULT_COMMUNITY_ID);
+        ownerAttrPo.setValue(reqJson.getString("userId"));
+        ownerAttrPo.setMemberId(ownerPo.getMemberId());
+        ownerAttrPo.setSpecCd(OwnerAttrDto.SPEC_CD_EXT_OWNER_ID);
+
+        flag = ownerAttrInnerServiceSMOImpl.saveOwnerAttr(ownerAttrPo);
+        if (flag < 1) {
+            throw new CmdException("保存业主失败");
+        }
+        return ownerPo.getOwnerId();
+    }
+}