当前位置: 首页 > wzjs >正文

建设企业网站的软文广告文案案例

建设企业网站的,软文广告文案案例,洛阳做网站那家好,党建网站建设内容丰富多彩本项目专栏: 物流项目_Auc23的博客-CSDN博客 关于Neo4j的可以看这一期: Neo4j入门第二期(Spring Data Neo4j的使用)-CSDN博客 需求分析 对于运输路线规划,总的需求有两个,一个是机构管理,一…

本项目专栏:

物流项目_Auc23的博客-CSDN博客

关于Neo4j的可以看这一期:

Neo4j入门第二期(Spring Data Neo4j的使用)-CSDN博客

需求分析

对于运输路线规划,总的需求有两个,一个是机构管理,一个是路线管理。

IService

package com.sl.transport.service;import com.sl.transport.entity.node.BaseEntity;/*** 基础服务实现*/
public interface IService<T extends BaseEntity> {/*** 根据业务id查询数据** @param bid 业务id* @return 节点数据*/T queryByBid(Long bid);/*** 新增节点** @param t 节点数据* @return 新增的节点数据*/T create(T t);/*** 更新节点** @param t 节点数据* @return 更新的节点数据*/T update(T t);/*** 根据业务id删除数据** @param bid 业务id* @return 是否删除成功*/Boolean deleteByBid(Long bid);}
/*** 基础服务的实现*/
public class ServiceImpl<M extends BaseRepository<T, Long>, T extends BaseEntity> implements IService<T> {@Autowiredprivate M repository;@Overridepublic T queryByBid(Long bid) {return this.repository.findByBid(bid).orElse(null);}@Overridepublic T create(T t) {t.setId(null); //主键id由neo4j生成,不能设置值return this.repository.save(t);}@Overridepublic T update(T t) {//先查询,后更新T entity = this.queryByBid(t.getBid());if (ObjectUtil.isEmpty(entity)) {return null;}//将更新的数据复制到entity中BeanUtil.copyProperties(t, entity, CopyOptions.create().ignoreNullValue().setIgnoreProperties("id", "bid"));//更新return this.repository.save(entity);}@Overridepublic Boolean deleteByBid(Long bid) {return this.repository.deleteByBid(bid) > 0;}
}

 AgencyServiceImpl

package com.sl.transport.service.impl;import com.sl.transport.entity.node.AgencyEntity;
import com.sl.transport.repository.AgencyRepository;
import com.sl.transport.service.AgencyService;
import org.springframework.stereotype.Service;@Service
public class AgencyServiceImpl extends ServiceImpl<AgencyRepository, AgencyEntity> implements AgencyService {}

机构同步

业务流程

/*** 对于权限管家系统消息的处理*/
@Slf4j
@Component
public class AuthMQListener {@RabbitListener(bindings = @QueueBinding(value = @Queue(name = Constants.MQ.Queues.AUTH_TRANSPORT),exchange = @Exchange(name = "${rabbitmq.exchange}", type = ExchangeTypes.TOPIC),key = "#"))public void listenAgencyMsg(String msg) {//{"type":"ORG","operation":"ADD","content":[{"id":"977263044792942657","name":"55","parentId":"0","managerId":null,"status":true}]}log.info("接收到消息 -> {}", msg);JSONObject jsonObject = JSONUtil.parseObj(msg);String type = jsonObject.getStr("type");if (!StrUtil.equalsIgnoreCase(type, "ORG")) {//非机构消息return;}String operation = jsonObject.getStr("operation");JSONObject content = (JSONObject) jsonObject.getJSONArray("content").getObj(0);String name = content.getStr("name");Long parentId = content.getLong("parentId");IService iService;BaseEntity entity;if (StrUtil.endWith(name, "转运中心")) {//一级转运中心iService = OrganServiceFactory.getBean(OrganTypeEnum.OLT.getCode());entity = new OLTEntity();entity.setParentId(0L);} else if (StrUtil.endWith(name, "分拣中心")) {//二级转运中心iService = OrganServiceFactory.getBean(OrganTypeEnum.TLT.getCode());entity = new TLTEntity();entity.setParentId(parentId);} else if (StrUtil.endWith(name, "营业部")) {//网点iService = OrganServiceFactory.getBean(OrganTypeEnum.AGENCY.getCode());entity = new AgencyEntity();entity.setParentId(parentId);} else {return;}//设置参数entity.setBid(content.getLong("id"));entity.setName(name);entity.setStatus(content.getBool("status"));switch (operation) {case "ADD": {iService.create(entity);break;}case "UPDATE": {iService.update(entity);break;}case "DEL": {iService.deleteByBid(entity.getBid());break;}}}}

机构管理

*** @author zzj* @version 1.0*/
public interface OrganService {/*** 无需指定type,根据id查询** @param bid 机构id* @return 机构信息*/OrganDTO findByBid(Long bid);/*** 无需指定type,根据ids查询** @param bids 机构ids* @return 机构信息*/List<OrganDTO> findByBids(List<Long> bids);/*** 查询所有的机构,如果name不为空的按照name模糊查询** @param name 机构名称* @return 机构列表*/List<OrganDTO> findAll(String name);/*** 查询机构树* @return 机构树*/String findAllTree();
}
@Service
public class OrganServiceImpl implements OrganService {@Resourceprivate OrganRepository organRepository;@Resourceprivate ObjectMapper objectMapper;@Overridepublic OrganDTO findByBid(Long bid) {OrganDTO organDTO = this.organRepository.findByBid(bid);if (ObjectUtil.isNotEmpty(organDTO)) {return organDTO;}throw new SLException(ExceptionEnum.ORGAN_NOT_FOUND);}@Overridepublic List<OrganDTO> findByBids(List<Long> bids) {List<OrganDTO> organDTOS = this.organRepository.findByBids(bids);if (ObjectUtil.isNotEmpty(organDTOS)) {return organDTOS;}throw new SLException(ExceptionEnum.ORGAN_NOT_FOUND);}@Overridepublic List<OrganDTO> findAll(String name) {return this.organRepository.findAll(name);}@Overridepublic String findAllTree() {return "";}
}
@Component
public class OrganRepositoryImpl implements OrganRepository {@Resourceprivate Neo4jClient neo4jClient;@Overridepublic OrganDTO findByBid(Long bid) {String cypherQuery = StrUtil.format("MATCH (n)\n" +"WHERE n.bid = {}\n" +"RETURN n", bid);return CollUtil.getFirst(executeQuery(cypherQuery));}@Overridepublic List<OrganDTO> findByBids(List<Long> bids) {String cypherQuery = StrUtil.format("MATCH (n)\n" +"WHERE n.bid in {}\n" +"RETURN n", bids);return executeQuery(cypherQuery);}@Overridepublic List<OrganDTO> findAll(String name) {name = StrUtil.removeAll(name, '\'', '"');String cypherQuery = StrUtil.isEmpty(name) ?"MATCH (n) RETURN n" :StrUtil.format("MATCH (n) WHERE n.name CONTAINS '{}' RETURN n", name);return executeQuery(cypherQuery);}private List<OrganDTO> executeQuery(String cypherQuery) {return ListUtil.toList(this.neo4jClient.query(cypherQuery).fetchAs(OrganDTO.class) //设置响应的类型.mappedBy((typeSystem, record) -> { //对结果进行封装处理Map<String, Object> map = record.get("n").asMap();OrganDTO organDTO = BeanUtil.toBean(map, OrganDTO.class);InternalPoint2D location = (InternalPoint2D) map.get("location");if (ObjectUtil.isNotEmpty(location)) {organDTO.setLongitude(location.x());organDTO.setLatitude(location.y());}//获取类型String type = CollUtil.getFirst(record.get("n").asNode().labels());organDTO.setType(OrganTypeEnum.valueOf(type).getCode());return organDTO;}).all());}
}

http://www.dtcms.com/wzjs/44190.html

相关文章:

  • 用ih5做微网站线上推广软件
  • 域度设计网站营销策划的八个步骤
  • 岳阳建设银行网站seo门户网
  • 外贸做哪个网站平台seo综合查询接口
  • 购物网站建设的意义与目的厦门seo哪家强
  • 做网站对服务器要求百度快速排名软件
  • 智慧团建pc端注册登录入口seo工作内容
  • 企业网站需要什么功能网站seo设置是什么意思
  • 如何规划电子商务网站网页设计培训教程
  • 请问做网站需要什么网络营销专业是干嘛的
  • 广东宏昌建设有限公司网站企业网站优化推广
  • 做网站程序seo辅助优化工具
  • 品牌网站怎么做品牌营销与推广
  • 免费搭建永久网站广告推广方式有哪几种
  • 彩妆网站建设策划书百度关键词优化怎么做
  • 上海建设公司网站推广代理
  • 怎样用flash做网站青岛seo整站优化哪家专业
  • 后缀cc的网站流量精灵
  • 网站免费在线观看网络营销技巧和营销方法
  • 网站开发与app开发网络营销策略实施的步骤
  • 如何用记事本做网站百度seo排名优化是什么
  • wordpress 主题采集seo网站推广助理
  • wordpress 访客ip网站优化公司
  • 山东今天新冠疫情最新消息百度优化教程
  • 设计图库关键词seo
  • 网站建设性能指标网站推广方案
  • 全网网站推广培训机构网站模板
  • 如何建造网站链接游戏推广赚佣金平台
  • 搭建公司网站的作用河北搜索引擎优化
  • 2020北京冬奥会网页制作南昌seo搜索优化