public HackResponse GetSchedu([FromBody] ScheduParam param)
        {
            var scheduList = service.GetSchedu(param);

            if (scheduList.Any())
            {
                return(new HackResponse(HackResType.Success, HackRspCode.HackRspCode_0000, "查询成功", scheduList));
            }
            else
            {
                return(new HackResponse(HackResType.Success, HackRspCode.HackRspCode_0001, "查询无结果", scheduList));
            }
        }
        public HackResponse AddSchedu([FromBody] ScheduParam param)
        {
            bool flag = service.AddSchedu(param);

            if (flag)
            {
                return(new HackResponse(HackResType.Success, HackRspCode.HackRspCode_0000, "创建成功", true));
            }
            else
            {
                return(new HackResponse(HackResType.Success, HackRspCode.HackRspCode_3000, "创建失败", false));
            }
        }
Exemple #3
0
        public bool AddSchedu(ScheduParam parameter)
        {
            string sql   = @"INSERT INTO `calpool`.`schedu`(`SUIId`,`SStartAddress`,`SEndAddress`,`SStartLat`,`SEndLon`,`SEndLat`,
            `SStartLon`,`SRemark`,`SStartTime`,`SCreateTime`,`SStatus`,`SCount`,`SPrice`,`SType`)VALUES(@@,@SStartAddress,@SEndAddress,@SStartLat,
            @SEndLon,@SEndLat,@SStartLon,@SRemark,@SStartTime,@SStatus,@SCount,@SPrice,@SType)";
            var    param = new
            {
                SType         = parameter.type,
                SStartAddress = parameter.startAddress,
                SEndAddress   = parameter.endAddress,
                SStartLat     = parameter.startLat,
                SEndLon       = parameter.endLon,
                SEndLat       = parameter.endLat,
                SStartLon     = parameter.startLon,
                SRemark       = parameter.remark,
                SStartTime    = parameter.startTime,
                SStatus       = parameter.status,
                SCount        = parameter.count,
                SPrice        = parameter.price
            };

            return(hackMySqlHelper.DapperExcute(sql, param));
        }
Exemple #4
0
        public List <Schedu> GetSchedu(ScheduParam parameter)
        {
            var startSql  = @"
                SELECT *
                FROM  calpool.schedu
                WHERE     ROUND(
                        6378.138 * 2 * ASIN(
                            SQRT(
                                POW(
                                    SIN(
                                        (
                                           @lat * PI() / 180 - SStartLat * PI() / 180
                                        ) / 2
                                    ),
                                    2
                                ) + COS(@lat * PI() / 180) * COS(SStartLat * PI() / 180) * POW(
                                    SIN(
                                        (
                                            @lon * PI() / 180 - SStartLon * PI() / 180
                                        ) / 2
                                    ),
                                    2
                                )
                            )
                        ) * 1000
                    ) <=  10000";
            var starParam = new
            {
                lat = parameter.startLat,
                lon = parameter.startLon
            };
            var startScheduList = hackMySqlHelper.DapperQuery <Schedu>(startSql, starParam);
            var endSql          = @"
                SELECT *
                FROM  calpool.schedu
                WHERE     ROUND(
                        6378.138 * 2 * ASIN(
                            SQRT(
                                POW(
                                    SIN(
                                        (
                                            @lat * PI() / 180 - SEndLat * PI() / 180
                                        ) / 2
                                    ),
                                    2
                                ) + COS(@lat * PI() / 180) * COS(SEndLat * PI() / 180) * POW(
                                    SIN(
                                        (
                                            @lon * PI() / 180 - SEndLon * PI() / 180
                                        ) / 2
                                    ),
                                    2
                                )
                            )
                        ) * 1000
                    ) <=  10000";
            var endParam        = new
            {
                lat = parameter.startLat,
                lon = parameter.startLon
            };
            var endScheduList = hackMySqlHelper.DapperQuery <Schedu>(endSql, endParam);
            var scheduList    = startScheduList.Intersect(endScheduList).Where(x => Convert.ToDateTime(x.SStartTime) < Convert.ToDateTime(parameter.startTime).AddMinutes(15) && Convert.ToDateTime(x.SStartTime) > Convert.ToDateTime(parameter.startTime).AddMinutes(-15) && x.SType == Convert.ToInt32(parameter.type)).ToList();

            return(scheduList);
        }