package platform.modules.area; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; import platform.common.Constant; import platform.modules.api.dto.SyncUserDto; import platform.modules.build.entity.BuildInfo; import platform.modules.build.entity.FloorContractRelate; import platform.modules.build.service.BuildInfoService; import platform.modules.build.service.FloorContractRelateService; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * Created by luohaifeng on 2018/2/1. */ @Service public class MapAreaService { @Autowired private Environment environment; @Autowired private FloorContractRelateService floorContractRelateService; @Autowired private BuildInfoService buildInfoService; public String getUrl() { return environment.getProperty("company_add_delete_map"); } /** * 企业入驻 */ public void addIndustryPointByAttr(List floorContractRelates) { new Thread(() -> { String requestUrl = "http://" + getUrl() + "/LandIndustrySys/rest/map/addIndustryPointByAttr"; for (FloorContractRelate floorContractRelate : floorContractRelates) { BuildInfo buildInfo = buildInfoService.findById(floorContractRelate.getBuild_id()); //创建一个http客户端 HttpClient client = new DefaultHttpClient(); //创建一个POST请求 HttpPost serverPost = new HttpPost(requestUrl); //设置HTTP POST请求参数必须用NameValuePair List params = new ArrayList(); params.add(new BasicNameValuePair("qymc", floorContractRelate.getCompany_name())); if (null != buildInfo) { params.add(new BasicNameValuePair("ssgyy", buildInfo.getName())); } params.add(new BasicNameValuePair("cfbh", floorContractRelate.getBuild_number())); params.add(new BasicNameValuePair("jydz", buildInfo.getLocation())); try { //设置http Post请求参数 StringEntity entity = new UrlEncodedFormEntity(params, "utf-8"); serverPost.setEntity(entity); HttpResponse sererResponse = client.execute(serverPost); if (sererResponse.getStatusLine().getStatusCode() == 200) {//如果状 态码为200,表示请求成功 String result = EntityUtils.toString(sererResponse.getEntity()); System.out.println(result); JSONObject jsonObject = JSON.parseObject(result); if (jsonObject.get("status").equals("0")) { System.out.println("数据库中已有同名记录,将不再重复生成"); } else if (jsonObject.get("status").equals("2")) { System.out.println("数据信息不对"); } else { floorContractRelate.setArea_company_id(jsonObject.get("status").toString()); floorContractRelate.setIs_area(true); floorContractRelateService.updateSelective(floorContractRelate); } } } catch (ClientProtocolException e) { e.printStackTrace(); //进行处理操作 } catch (IOException e) { e.printStackTrace(); } finally { } } }, "addIndustryPointByAttr").start(); } /** * 企业搬离 */ public void deleteIndustryPointByUUID(List floorContractRelates) { new Thread(() -> { String requestUrl = "http://" + getUrl() + "/LandIndustrySys/rest/map/deleteIndustryPointByUUID"; //创建一个http客户端 HttpClient client = new DefaultHttpClient(); //创建一个POST请求 HttpPost serverPost = new HttpPost(requestUrl); for (FloorContractRelate floorContractRelate : floorContractRelates) { //设置HTTP POST请求参数必须用NameValuePair List params = new List params = new ArrayList(); params.add(new BasicNameValuePair("suuid", floorContractRelate.getArea_company_id())); try { //设置http Post请求参数 StringEntity entity = new UrlEncodedFormEntity(params, "utf-8"); serverPost.setEntity(entity); HttpResponse sererResponse = client.execute(serverPost); String result = EntityUtils.toString(sererResponse.getEntity()); System.out.println(result); JSONObject jsonObject = JSON.parseObject(result); if (jsonObject.get("status").equals("success")) { floorContractRelate.setArea_company_id(null); floorContractRelateService.update(floorContractRelate); System.out.println("企业点删除成功"); } else { System.out.println("企业点删除失败"); } } catch (ClientProtocolException e) { e.printStackTrace(); //进行处理操作 } catch (IOException e) { e.printStackTrace(); } } }, "deleteIndustryPointByUUID").start(); } }