Browse Source

three rates ....and staff_id

lixioayao 6 years ago
parent
commit
a96598ccb5
7 changed files with 61 additions and 45 deletions
  1. 1 1
      Makefile
  2. 1 1
      Makefile.am
  3. 1 1
      Makefile.in
  4. 19 19
      autom4te.cache/requests
  5. 21 19
      card.cpp
  6. 4 2
      card.h
  7. 14 2
      main.cpp

+ 1 - 1
Makefile

@@ -257,7 +257,7 @@ AM_CPPFLAGS = -Wall -pthread -m64 -std=c++11 -fPIC -I${prefix}/include -I./src -
 AM_LDFLAGS = -Wall -pthread -m64 -std=c++11 -fPIC -L${prefix}/lib  -L/usr/local/mysql/lib
 yals_SOURCES = ${AM_SOURCES} main.cpp 
 yals_CPPFLAGS = ${AM_CPPFLAGS} 
-yals_LDFLAGS = ${AM_LDFLAGS}  -lzlog -lrt -lboost_chrono -lboost_system -lboost_thread -lmysqlclient
+yals_LDFLAGS = ${AM_LDFLAGS}  -lzlog -lrt -lboost_chrono -lboost_system -lboost_thread -lmysqlclient -lthree_rates
 async_SOURCES = async.cpp
 async_CPPFLAGS = ${AM_CPPFLAGS}
 async_LDFLAGS = ${AM_LDFLAGS}  -L. -lzlog -lrt

+ 1 - 1
Makefile.am

@@ -16,7 +16,7 @@ AM_LDFLAGS= -Wall -pthread -m64 -std=c++11 -fPIC -L${prefix}/lib  -L/usr/local/m
 
 yals_SOURCES=${AM_SOURCES} main.cpp 
 yals_CPPFLAGS=${AM_CPPFLAGS} 
-yals_LDFLAGS=${AM_LDFLAGS}  -lzlog -lrt -lboost_chrono -lboost_system -lboost_thread -lmysqlclient
+yals_LDFLAGS=${AM_LDFLAGS}  -lzlog -lrt -lboost_chrono -lboost_system -lboost_thread -lmysqlclient -lthree_rates
 
 async_SOURCES=async.cpp
 async_CPPFLAGS=${AM_CPPFLAGS}

+ 1 - 1
Makefile.in

@@ -257,7 +257,7 @@ AM_CPPFLAGS = -Wall -pthread -m64 -std=c++11 -fPIC -I${prefix}/include -I./src -
 AM_LDFLAGS = -Wall -pthread -m64 -std=c++11 -fPIC -L${prefix}/lib  -L/usr/local/mysql/lib
 yals_SOURCES = ${AM_SOURCES} main.cpp 
 yals_CPPFLAGS = ${AM_CPPFLAGS} 
-yals_LDFLAGS = ${AM_LDFLAGS}  -lzlog -lrt -lboost_chrono -lboost_system -lboost_thread -lmysqlclient
+yals_LDFLAGS = ${AM_LDFLAGS}  -lzlog -lrt -lboost_chrono -lboost_system -lboost_thread -lmysqlclient -lthree_rates
 async_SOURCES = async.cpp
 async_CPPFLAGS = ${AM_CPPFLAGS}
 async_LDFLAGS = ${AM_LDFLAGS}  -L. -lzlog -lrt

+ 19 - 19
autom4te.cache/requests

@@ -81,58 +81,58 @@
                         'configure.ac'
                       ],
                       {
-                        '_LT_AC_TAGCONFIG' => 1,
                         'AM_PROG_F77_C_O' => 1,
-                        'AC_INIT' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
                         'm4_pattern_forbid' => 1,
-                        'AC_CANONICAL_TARGET' => 1,
+                        'AC_INIT' => 1,
                         '_AM_COND_IF' => 1,
-                        'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
                         'AC_SUBST' => 1,
-                        'AC_CANONICAL_HOST' => 1,
+                        'AC_CONFIG_LIBOBJ_DIR' => 1,
                         'AC_FC_SRCEXT' => 1,
+                        'AC_CANONICAL_HOST' => 1,
                         'AC_PROG_LIBTOOL' => 1,
                         'AM_PROG_MKDIR_P' => 1,
                         'AM_INIT_AUTOMAKE' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
                         'AM_PATH_GUILE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
                         'AM_AUTOMAKE_VERSION' => 1,
                         'LT_CONFIG_LTDL_DIR' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
                         'AC_CONFIG_LINKS' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
                         'm4_sinclude' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
                         'AM_MAINTAINER_MODE' => 1,
                         'AM_NLS' => 1,
                         'AC_FC_PP_DEFINE' => 1,
                         'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
-                        '_m4_warn' => 1,
                         'AM_MAKEFILE_INCLUDE' => 1,
+                        '_m4_warn' => 1,
                         'AM_PROG_CXX_C_O' => 1,
-                        '_AM_COND_ENDIF' => 1,
                         '_AM_MAKEFILE_INCLUDE' => 1,
+                        '_AM_COND_ENDIF' => 1,
                         'AM_ENABLE_MULTILIB' => 1,
                         'AM_PROG_MOC' => 1,
                         'AM_SILENT_RULES' => 1,
                         'AC_CONFIG_FILES' => 1,
-                        'include' => 1,
                         'LT_INIT' => 1,
-                        'AM_PROG_AR' => 1,
+                        'include' => 1,
                         'AM_GNU_GETTEXT' => 1,
+                        'AM_PROG_AR' => 1,
                         'AC_LIBSOURCE' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
                         'AM_PROG_FC_C_O' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
                         'AC_FC_FREEFORM' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
                         'AH_OUTPUT' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AC_FC_PP_SRCEXT' => 1,
                         'AC_CONFIG_AUX_DIR' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'sinclude' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
                         'm4_pattern_allow' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
+                        'sinclude' => 1,
+                        'AM_PROG_CC_C_O' => 1,
                         'AM_XGETTEXT_OPTION' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_CONDITIONAL' => 1,
                         'AC_CONFIG_HEADERS' => 1,
                         'AC_DEFINE_TRACE_LITERAL' => 1,
                         'AM_POT_TOOLS' => 1,

+ 21 - 19
card.cpp

@@ -22,6 +22,7 @@
 #include "module_service/module_mgr.h"
 #include "visit.h"
 #include "his_location.h"
+#include "three_rates.h"
 
 extern config_file config;
 //一张卡一个ct的所有不同天线的信息
@@ -202,8 +203,8 @@ struct card_area
 struct person:card_location_base, card_area
 {
 	std::weak_ptr<monkey_person> m_monkeyPerson;
-	person(std::string type,uint32_t cardid,uint16_t needdisplay,int16_t t,int32_t deptid,int32_t level_id)
-        :card_location_base(type,cardid,needdisplay,t,deptid,level_id)
+	person(std::string type,uint32_t cardid,uint16_t needdisplay,int16_t t,int32_t deptid,int32_t level_id,uint32_t cid)
+        :card_location_base(type,cardid,needdisplay,t,deptid,level_id,cid)
 	{
         m_message_handle.reset(new card_message_handle(this));
 		m_his_location_card.reset(new location_staff(m_id,m_type));
@@ -251,6 +252,8 @@ struct person:card_location_base, card_area
 	{
 		m_area_tool->on_point(m_id,pt,m_speed,m_type);
         m_site_area->on_point(m_id,0,this, m_type);
+		card_pos cp;
+		three_rates::get_instance()->put(cp);
 	}
 	void reset(std::shared_ptr<monkey_person> mp)
 	{
@@ -312,8 +315,8 @@ struct car:card_location_base,card_area
 	int m_vehicle_category_id=0;
     int m_vehicle_type_id=0;
     car(std::string type,uint32_t cardid,uint16_t needdisplay,int16_t t,int32_t deptid,
-        int32_t categoryid, int type_id,int32_t level_id)
-        :card_location_base(type,cardid,needdisplay,t,deptid,level_id)
+        int32_t categoryid, int type_id,int32_t level_id,uint32_t cid)
+        :card_location_base(type,cardid,needdisplay,t,deptid,level_id,cid)
 		,m_vehicle_category_id(categoryid)
         ,m_vehicle_type_id(type_id)
     {
@@ -494,15 +497,15 @@ void card_list::init_staffer(int32_t id)
         DBRes.GetField( "need_display",need_display, Error );
 
         //for now;
-        staff_id = vsid;
+        //staff_id = vsid;
 
         if(-1 == id)
         {
             std::shared_ptr<card_location_base> clb =
-                    std::make_shared<person>(strategy,staff_id,need_display,card_type_id,dept_id,occupation_level_id);
+                    std::make_shared<person>(strategy,vsid,need_display,card_type_id,dept_id,occupation_level_id,staff_id);
             uint64_t cardid = getId(staff_id,type);
             log_info("cardId:%llu,staff_id:%d dept_id:%d,need_display:%d--c-ard:%s",
-                     cardid,staff_id,dept_id,need_display,card_id.c_str());
+                     cardid,vsid,dept_id,need_display,card_id.c_str());
             map.insert({cardid,clb});
         }
         else
@@ -521,7 +524,7 @@ void card_list::init_staffer(int32_t id)
             }
             else
             {
-                auto clb = std::make_shared<person>(strategy,staff_id,need_display,card_type_id,dept_id,occupation_level_id);
+                auto clb = std::make_shared<person>(strategy,vsid,need_display,card_type_id,dept_id,occupation_level_id,staff_id);
                 card_list::instance()->add(card_id64, clb);
             }
 
@@ -623,15 +626,15 @@ void card_list::init_vehicle(int32_t id)
         DBRes.GetField( "over_speed",over_speed, Error );
 
         //for now
-        vehicle_id = vsid;
+        //vehicle_id = vsid;
 
         if(-1 == id)
         {
-            auto clb = std::make_shared<car>(strategy,vehicle_id,need_display,card_type_id,
-                                             dept_id,vehicle_category_id, vehicle_type_id,vehicle_level_id);
+            auto clb = std::make_shared<car>(strategy,vsid,need_display,card_type_id,
+                                             dept_id,vehicle_category_id, vehicle_type_id,vehicle_level_id,vehicle_id);
             uint64_t cardid = getId(vehicle_id,type);
             log_info("cardId:%llu,vehicle_id:%d dept_id:%d,need_display:%d---cardid:%s,categoryid:%d",
-                     cardid,vehicle_id,dept_id,need_display,card_id.c_str(),vehicle_category_id);
+                     cardid,vsid,dept_id,need_display,card_id.c_str(),vehicle_category_id);
             map.insert({cardid,clb});
         }
         else
@@ -649,15 +652,15 @@ void card_list::init_vehicle(int32_t id)
             }
             else
             {
-                auto clb = std::make_shared<car>(strategy,id,need_display,card_type_id,dept_id,
-                                                 vehicle_category_id, vehicle_type_id,vehicle_level_id);
+                auto clb = std::make_shared<car>(strategy,vsid,need_display,card_type_id,dept_id,
+                                                 vehicle_category_id, vehicle_type_id,vehicle_level_id,vehicle_id);
                 card_list::instance()->add(card_id64, clb);
             }
 
             log_info("基础数据 增加或修改车卡成功:卡id:%d,卡type:%d dept_id:%d,need_display:%d,categoryid:%d",
-                     id,type,dept_id,need_display,vehicle_category_id);
+                     vsid,type,dept_id,need_display,vehicle_category_id);
             std_debug("基础数据 增加或修改车卡成功:卡id:%d,卡type:%d dept_id:%d,need_display:%d,categoryid:%d",
-                     id,type,dept_id,need_display,vehicle_category_id);
+                     vsid,type,dept_id,need_display,vehicle_category_id);
         }
     }
 
@@ -1116,8 +1119,8 @@ void card_list::onTimer()
 	}
 }
 //-----------------card_location_base..
-card_location_base::card_location_base(std::string type,uint32_t id,uint16_t dis,int16_t t,int32_t deptid,int32_t level_id)
-	:card(id,dis,t,deptid,level_id)
+card_location_base::card_location_base(std::string type,uint32_t id,uint16_t dis,int16_t t,int32_t deptid,int32_t level_id,uint32_t cid)
+	:card(id,dis,t,deptid,level_id,cid)
 {
     select_tool_manage::instance()->create_tool(type,m_sel_tool,m_smo_tool);
 }
@@ -1141,7 +1144,6 @@ void card_location_base::on_location(const std::vector<point>&vp,const std::vect
 		y = pt.y;
 
 		Msg m;
-
 		m.type=m_type;m.x=(int)x;m.y=(int)y;m.cmd=CMD_HANDLE;m.cardid=m_type<<32|m_id;
 		cardMgr::instance()->tryPut(m);
 

+ 4 - 2
card.h

@@ -23,8 +23,9 @@ struct mine_tool;
 struct location_card;
 struct card:point
 {
-	card(uint32_t id,uint16_t dis,uint64_t type,int32_t deptid,int32_t level_id)
+	card(uint32_t id,uint16_t dis,uint64_t type,int32_t deptid,int32_t level_id,uint32_t cid)
 		:m_id(id)
+		,m_cid(cid)
 		,m_type(type)
 		,m_display(dis)
 		,m_speed(0)
@@ -38,6 +39,7 @@ struct card:point
 	uint64_t type_(){return m_type;}
 	uint64_t time_(){return m_time;}
 	uint32_t m_id;				//卡号
+	uint32_t m_cid;				//标识id 人staff_id 车 vehicle_id
 	uint64_t  m_type;			//类型
 	uint16_t m_display;			//1显示0不显示,往前端推送
 	double   m_speed;			//速度
@@ -58,7 +60,7 @@ struct card_location_base:card
  //   ev::timer m_timer;
 
     card_location_base()=default;
-    card_location_base(std::string type,uint32_t id,uint16_t dis,int16_t t,int32_t,int32_t );
+    card_location_base(std::string type,uint32_t id,uint16_t dis,int16_t t,int32_t,int32_t,uint32_t );
 
 	virtual void do_business(const point &pt)=0;
 //	virtual void set(ev::dynamic_loop * loop)=0;

+ 14 - 2
main.cpp

@@ -17,8 +17,12 @@
 #include"module_service/module_mgr.h"
 
 #include <config_file.h>
-
+#include "three_rates.h"
 config_file config;
+static void handlereader()
+{
+
+}
 struct Init_Setting
 {
     void init()
@@ -62,8 +66,16 @@ struct Init_Setting
 
         card_list::instance()->load_his_card_postion_from_db();
         event_list::instance()->load_his_data_from_db();
+		init_three_rates(DBSetting);
     }
-
+	void init_three_rates(const YADB::_DB_POOL_SETTING_& dbs)
+	{
+		std_info("three_rates ...................");
+		init_para ip;
+		ip.send_pt = handlereader;
+		three_rates::get_instance()->init(ip,dbs);
+		three_rates::get_instance()->start();
+	}
     void _mysql_init(YADB::_DB_POOL_SETTING_ &dps)
     {
         std::string Error;