IA.Service/MaintenanceNoticeService.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Linq;
using IA.Core.Caching;
using IA.Core.Domain;
using IA.Interface;
using Tonglu.Common.Extensions;

namespace IA.Service
{
    public class MaintenanceNoticeService : IMaintenanceNoticeService
    {
        private readonly ICacheManager _cache;
        private readonly IRepository<MaintenanceNotice> _maintenanceNoticeRepository;
        private readonly IOrganizationService _organizationService;
        private readonly IRepository<AgriculturalMachineInfo> _agriculturalMachineInfoRepository;

        private const string cache_GetMaintenanceNoticeCount_key = "GetMaintenanceNoticeCount.{0}";

        public MaintenanceNoticeService(ICacheManager cache,
            IRepository<MaintenanceNotice> maintenanceNoticeRepository,
            IOrganizationService organizationService,
            IRepository<AgriculturalMachineInfo> agriculturalMachineInfoRepository)
        {
            _cache = cache;
            _maintenanceNoticeRepository = maintenanceNoticeRepository;
            _organizationService = organizationService;
            _agriculturalMachineInfoRepository = agriculturalMachineInfoRepository;
        }

        /// <summary>
        /// 获取今日保养通知数量
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public int GetMaintenanceNoticeCount(int userId)
        {
            string key = string.Format(cache_GetMaintenanceNoticeCount_key, userId);
            return _cache.Get(key, () =>
            {
                DateTime tempStartTime = DateTime.Now.ToString("yyyy-MM-dd 00:00:01").TryDateTime();
                DateTime tempEndTime = DateTime.Now;

                var mQuery = _maintenanceNoticeRepository.Table.Where(mn => mn.CreateTime >= tempStartTime && mn.CreateTime <= tempEndTime);
                var query = from m in mQuery
                            join a in _agriculturalMachineInfoRepository.Table on m.ProductNo equals a.FBatchNo
                            orderby m.CreateTime descending
                            select new
                            {
                                Id = m.Id,
                                ProductNo = m.ProductNo,
                                EquipmentNum = m.EquipmentNum,
                                WorkingHour = m.WorkingHour,
                                CustomerId = m.CustomerId,
                                State = m.State,
                                MaintenanceTime = m.MaintenanceTime,
                                CreateTime = m.CreateTime,
                                FItemId = a.DealerID
                            };
                if (_organizationService.GetOrganizationList(userId).Any())
                {
后面还有 17 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。