|  | @ -1,6 +1,10 @@
 | 
	
		
			
				|  |  | package com.yihu.ehr.iot.service.company;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.ehr.constants.ErrorCode;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.constant.ServiceApi;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.model.ObjectResult;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.model.Result;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.model.user.UserModel;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.service.common.BaseService;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.util.http.HttpHelper;
 | 
	
		
			
				|  |  | import com.yihu.ehr.iot.util.http.HttpResponse;
 | 
	
	
		
			
				|  | @ -8,6 +12,7 @@ import com.yihu.jw.restmodel.common.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.iot.company.IotCompanyCertificateVO;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.iot.company.IotCompanyVO;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.util.StringUtils;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.IOException;
 | 
	
		
			
				|  |  | import java.util.HashMap;
 | 
	
	
		
			
				|  | @ -19,6 +24,8 @@ import java.util.Map;
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class CompanyService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private String roleId = "10268";//物联网默认用户角色
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 分页查找企业
 | 
	
		
			
				|  |  |      * @param name
 | 
	
	
		
			
				|  | @ -49,13 +56,181 @@ public class CompanyService extends BaseService {
 | 
	
		
			
				|  |  |      * @throws IOException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Envelop<IotCompanyVO> addCompany(String jsonData) throws IOException {
 | 
	
		
			
				|  |  |         Envelop<IotCompanyVO> envelop = new Envelop<IotCompanyVO>();
 | 
	
		
			
				|  |  |         //新增ehr用户
 | 
	
		
			
				|  |  |         IotCompanyVO iotCompany = toModel(jsonData, IotCompanyVO.class);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         envelop = userVerification(iotCompany,envelop);
 | 
	
		
			
				|  |  |         if(envelop.getStatus()==-1){
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //验证账户
 | 
	
		
			
				|  |  |         Result login_code = existence("login_code",iotCompany.getAccount());
 | 
	
		
			
				|  |  |         if(login_code.isSuccessFlg()){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("该账号已存在");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //验证身份证
 | 
	
		
			
				|  |  |         Result id_card_no = existence("id_card_no",iotCompany.getContactsIdcard());
 | 
	
		
			
				|  |  |         if(id_card_no.isSuccessFlg()){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("该身份证号已被注册,请确认。");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //验证邮件
 | 
	
		
			
				|  |  |         Result email = existence("email",iotCompany.getContactsEmail());
 | 
	
		
			
				|  |  |         if(email.isSuccessFlg()){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("该邮箱已存在");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //验证手机号
 | 
	
		
			
				|  |  |         Result telephone = existence("telephone",iotCompany.getContactsMobile());
 | 
	
		
			
				|  |  |         if(telephone.isSuccessFlg()){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("该手机号码已存在");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         Envelop<UserModel> userModelEnvelop = updateUser(iotCompany);
 | 
	
		
			
				|  |  |         if(userModelEnvelop.getStatus()!=200){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg(userModelEnvelop.getErrorMsg());
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("jsonData", jsonData);
 | 
	
		
			
				|  |  |         params.put("jsonData", toJson(iotCompany));
 | 
	
		
			
				|  |  |         HttpResponse response = HttpHelper.post(iotUrl + ServiceApi.Company.AddCompany, params);
 | 
	
		
			
				|  |  |         Envelop<IotCompanyVO> envelop = objectMapper.readValue(response.getBody(),Envelop.class);
 | 
	
		
			
				|  |  |         envelop = objectMapper.readValue(response.getBody(),Envelop.class);
 | 
	
		
			
				|  |  |         return envelop;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 校验用户信息
 | 
	
		
			
				|  |  |      * @param iotCompany
 | 
	
		
			
				|  |  |      * @param envelop
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private Envelop<IotCompanyVO> userVerification(IotCompanyVO iotCompany,Envelop<IotCompanyVO> envelop){
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(iotCompany.getAccount())){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("账号不能为空");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(iotCompany.getContactsIdcard())){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("身份证号不能为空");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(iotCompany.getContactsEmail())){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("邮箱不能为空");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(iotCompany.getContactsMobile())){
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg("手机号码账号不能为空");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return envelop;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 验证用户信息
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private Result existence(String existenceType, String existenceNm){
 | 
	
		
			
				|  |  |         String getUserUrl = "/users/existence";
 | 
	
		
			
				|  |  |         Result result = null;
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("existenceType",existenceType);
 | 
	
		
			
				|  |  |         params.put("existenceNm",existenceNm);
 | 
	
		
			
				|  |  | //        params.put("username",null);
 | 
	
		
			
				|  |  | //        params.put("password",null);
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             HttpResponse response = HttpHelper.get(profileInnerUrl + getUserUrl, params);
 | 
	
		
			
				|  |  |             result = objectMapper.readValue(response.getBody(),Result.class);
 | 
	
		
			
				|  |  |             return result;
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             result = new Result();
 | 
	
		
			
				|  |  |             result.setSuccessFlg(false);
 | 
	
		
			
				|  |  |             result.setMessage(ErrorCode.SystemError.toString());
 | 
	
		
			
				|  |  |             return result;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 新增用户
 | 
	
		
			
				|  |  |      * @param iotCompany
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private Envelop<UserModel> updateUser(IotCompanyVO iotCompany){
 | 
	
		
			
				|  |  |         String url = "/user/";
 | 
	
		
			
				|  |  |         UserModel userModel = new UserModel();
 | 
	
		
			
				|  |  |         userModel.setEmail(iotCompany.getContactsEmail());
 | 
	
		
			
				|  |  |         userModel.setIdCardNo(iotCompany.getContactsIdcard());
 | 
	
		
			
				|  |  |         userModel.setLoginCode(iotCompany.getAccount());
 | 
	
		
			
				|  |  |         userModel.setTelephone(iotCompany.getContactsMobile());
 | 
	
		
			
				|  |  |         userModel.setRole(roleId);
 | 
	
		
			
				|  |  |         Envelop envelop  = new Envelop();
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("user_json_data",toJson(userModel));
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             Map<String, Object> head = new HashMap<>();
 | 
	
		
			
				|  |  |             head.put("Content-Type","application/json; charset=UTF-8");
 | 
	
		
			
				|  |  |             HttpResponse response = HttpHelper.post(profileInnerUrl + url, params,head);
 | 
	
		
			
				|  |  |             ObjectResult result = toModel(response.getBody(),ObjectResult.class);
 | 
	
		
			
				|  |  |             if(result.isSuccessFlg()){
 | 
	
		
			
				|  |  |                 UserModel addUserModel = toModel(toJson(result.getObj()),UserModel.class);
 | 
	
		
			
				|  |  |                 iotCompany.setEhrUserId(addUserModel.getId());
 | 
	
		
			
				|  |  |                 envelop.setStatus(200);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 envelop.setStatus(-1);
 | 
	
		
			
				|  |  |                 envelop.setErrorMsg(result.getErrorMsg());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg(ErrorCode.SystemError.toString());
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 修改密码
 | 
	
		
			
				|  |  |      * @param userId
 | 
	
		
			
				|  |  |      * @param passWord
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Envelop changePassWord(String userId,String passWord){
 | 
	
		
			
				|  |  |         Envelop envelop = new Envelop();
 | 
	
		
			
				|  |  |         String url = "/users/changePassWord";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("user_id",userId);
 | 
	
		
			
				|  |  |         params.put("password",passWord);
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             HttpResponse response = HttpHelper.put(profileInnerUrl + url, params);
 | 
	
		
			
				|  |  |             ObjectResult result = toModel(response.getBody(),ObjectResult.class);
 | 
	
		
			
				|  |  |             if(result.isSuccessFlg()){
 | 
	
		
			
				|  |  |                 envelop.setStatus(200);
 | 
	
		
			
				|  |  |                 envelop.setSuccessMsg("修改成功");
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 envelop.setStatus(-1);
 | 
	
		
			
				|  |  |                 envelop.setErrorMsg(result.getErrorMsg());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             envelop.setStatus(-1);
 | 
	
		
			
				|  |  |             envelop.setErrorMsg(ErrorCode.SystemError.toString());
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据id查找企业
 | 
	
		
			
				|  |  |      * @param id
 |