package com.steerinfo.dil.service.impl; import com.steerinfo.dil.feign.SSOFeign; import com.steerinfo.dil.feign.TokenFeign; import com.steerinfo.dil.mapper.RmsConsigneeMapper; import com.steerinfo.dil.model.RmsConsignee; import com.steerinfo.dil.service.IRmsConsigneeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * RmsConsigneee服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-10-26 05:28 * 类描述 * 修订历史: * 日期:2021-10-26 * 作者:generator * 参考: * 描述:RmsConsigneee服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "rmsConsigneeService") public class RmsConsigneeServiceImpl implements IRmsConsigneeService { @Autowired private RmsConsigneeMapper rmsConsigneeMapper; @Autowired SSOFeign ssoFeign; @Autowired TokenFeign tokenFeign; /** * 管理收货客户 * @param mapVal * @return */ @Override public int operationConsignee(Map mapVal) { // 得到金蝶收货客户主键id String EASConsigneeId = (String) mapVal.get("EASConsigneeId"); // 得到收货人名称 String consigneeCompanyName = (String) mapVal.get("consigneeCompanyName"); // 得到收货人简称 String consigneeAbbreviation = (String) mapVal.get("consigneeAbbreviation"); // 得到注册地址 String consigneeRegisteredAddress = (String) mapVal.get("consigneeRegisteredAddress"); // 得到联系人 String consigneeContactName = (String) mapVal.get("consigneeContactName"); // 得到联系电话 String consigneeContactTel = (String) mapVal.get("consigneeContactTel"); // 得到客户编码 String consigneeCode = (String) mapVal.get("consigneeCode"); // 得到数据状态 Integer dataStatus = (Integer) mapVal.get("dataStatus"); // 判断是否EASId已存在 Map map = new HashMap<>(); map.put("consigneeCode",consigneeCode); BigDecimal deleted = new BigDecimal(0); // map.put("deleted",deleted); RmsConsignee rmsConsignee = new RmsConsignee(); rmsConsignee.setEasConsigneeId(EASConsigneeId); rmsConsignee.setConsigneeCompanyName(consigneeCompanyName); rmsConsignee.setConsigneeAbbreviation(consigneeAbbreviation); rmsConsignee.setConsigneeRegisteredAddress(consigneeRegisteredAddress); rmsConsignee.setConsigneeContactName(consigneeContactName); rmsConsignee.setConsigneeContactTel(consigneeContactTel); rmsConsignee.setConsigneeCode(consigneeCode); rmsConsignee.setInsertTime(new Date()); rmsConsignee.setInsertUsername("admin"); rmsConsignee.setUpdateTime(new Date()); rmsConsignee.setUpdateUsername("admin"); rmsConsignee.setInsertUpdateRemark("无"); // 调用sso接口 Map tokenMap = tokenFeign.login("adminMannage", "7c4a8d09ca3762af61e59520943dc26494f8941b"); Map data = (Map) tokenMap.get("data"); String token = (String) data.get("accessToken"); // String s = System.setProperty("sso.token", token); // System.out.println(s); Map headerMap = new HashMap<>(); // 设置token headerMap.put("Content-type", "application/x-www-form-urlencoded"); headerMap.put("Authorization","Bearer " + token); // 传json格式 // String json = JSONUtils.toJSONString(ssoMap); // String s = HttpUtil.doJsonPost("https://wl.dasteel.cn:32322/icore.icp.web/pass/v1/sysusers/", json, token); Map resultMap; if (consigneeCompanyName.length() > 15 ) { // 传formData格式--URL?参数&参数 resultMap = ssoFeign.addUser("Bearer " + token, consigneeCompanyName.substring(0,7), consigneeCompanyName.substring(0,7), "shouhuokehu", "收货客户", "506514577756917769", "713710108567277568", "958023746726268928"); } else { // 传formData格式--URL?参数&参数 resultMap = ssoFeign.addUser("Bearer " + token, consigneeCompanyName, consigneeCompanyName, "shouhuokehu", "收货客户", "506514577756917769", "713710108567277568", "958023746726268928"); } // 赋权 String code = (String) resultMap.get("code"); String userId = null; if (("0").equals(code)) { Map userData = (Map) resultMap.get("data"); userId = (String) userData.get("userId"); } if (userId != null) { ssoFeign.addUserroles("Bearer " + token,userId, consigneeCompanyName, "958038344527384576"); rmsConsignee.setConsigneeSsoId(userId); rmsConsignee.setConsigneeSsoCode(consigneeCompanyName.length() > 15 ? consigneeCompanyName.substring(0,7) : consigneeCompanyName); } int result = 0; List rmsRmsConsignees = rmsConsigneeMapper.selectByParameters(map); // 新增 if (rmsRmsConsignees.size() == 0) { BigDecimal consigneeId = rmsConsigneeMapper.getConsigneeId(); rmsConsignee.setConsigneeId(consigneeId); rmsConsignee.setDeleted(deleted); result = rmsConsigneeMapper.insertSelective(rmsConsignee); } // 修改 if (rmsRmsConsignees.size() != 0 && dataStatus == 1) { RmsConsignee rmsConsignee1 = rmsRmsConsignees.get(0); rmsConsignee.setConsigneeId(rmsConsignee1.getConsigneeId()); rmsConsignee.setDeleted(deleted); result = rmsConsigneeMapper.updateByPrimaryKeySelective(rmsConsignee); } // 逻辑删除 if (rmsRmsConsignees.size() != 0 && dataStatus == 2) { RmsConsignee rmsConsignee1 = rmsRmsConsignees.get(0); rmsConsignee.setConsigneeId(rmsConsignee1.getConsigneeId()); rmsConsignee.setDeleted(new BigDecimal(1)); result = rmsConsigneeMapper.updateByPrimaryKeySelective(rmsConsignee); } return result; } /** * 展示收货客户信息 * @param mapVal * @return */ @Override public List> getConsigneeList(Map mapVal) { return null; } }