liujie
2025-05-29 71efdfc7138d619583edcafb6c96f8e70ad17c7f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.panzhihua.service_dangjian.service.impl;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.model.dtos.partybuilding.NeedProblemInventoryDTO;
import com.panzhihua.common.model.dtos.partybuilding.NeedProblemUnitTaskDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_dangjian.dao.NeedProblemUnitTaskDAO;
import com.panzhihua.service_dangjian.service.NeedProblemInventoryService;
import com.panzhihua.service_dangjian.service.NeedProblemUnitTaskService;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
 
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:40
 **/
@Service
public class NeedProblemUnitTaskServiceImpl extends ServiceImpl<NeedProblemUnitTaskDAO, NeedProblemUnitTaskDTO>
    implements NeedProblemUnitTaskService
{
    //任务 问题接口
    @Resource
    private NeedProblemInventoryService inventoryService;
 
    @Override
    public IPage<NeedProblemUnitTaskDTO> getList(int pageNum, int pageSize, String unitId,String kind,String status)
    {
        Page page = new Page<>(pageNum,pageSize);
        return baseMapper.getList(page,unitId,kind,status);
    }
 
    @Override
    public NeedProblemUnitTaskDTO getDetails(String id)
    {
        NeedProblemUnitTaskDTO item=baseMapper.getDetails(id);
 
        //当前时间
        long newTime = System.currentTimeMillis();
        //活动报名时间
        long applyStartTime = item.getClaimStartTime().getTime();
        //报名结束时间
        long applyEndTime = item.getClaimEndTime().getTime();
        //活动开始时间
        long activityStartTime = item.getNeedStartTime().getTime();
        //活动结束时间
        long activityEndTime = item.getNeedEndTime().getTime();
 
 
        switch (item.getStatus()) {
            //状态 (1认领中
            case "1":
                if (newTime > applyEndTime) {
                    //报名结束
                    NeedProblemUnitTaskDTO vo = new NeedProblemUnitTaskDTO();
                    vo.setId(item.getId());
                    vo.setStatus("2");
                    item.setStatus("2");
                    baseMapper.editData(vo);
                }
 
                break;
            // 2进行中
            case "2":
                if (newTime > activityEndTime) {
                    NeedProblemUnitTaskDTO vo = new NeedProblemUnitTaskDTO();
                    vo.setId(item.getId());
                    vo.setStatus("3");
                    item.setStatus("3");
                    baseMapper.editData(vo);
                }
                break;
            //3已完成)
            case "3":
 
                break;
        }
 
        return item;
    }
 
    @Override
    public R addData(NeedProblemUnitTaskDTO item)
    {
        //任务问题详情
        NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(item.getTaskId(),item.getUserId());
        long times=System.currentTimeMillis();
        if(times<inventoryDTO.getClaimStartTime().getTime())
        {
            return R.fail("报名未开始");
        }
 
        if(StringUtils.equals(inventoryDTO.getJoinNum(),inventoryDTO.getClaimNum()))
        {
            return R.fail("认领人数已满");
        }
 
        if(times>inventoryDTO.getClaimEndTime().getTime())
        {
            return R.fail("报名已结束");
        }
        int num=baseMapper.isGet(item.getTaskId(),item.getUnitId());
        if(num>0)
        {
            return R.fail("该单位已接单");
        }
        return R.ok(baseMapper.addData(item));
    }
 
    @Override
    public int editData(NeedProblemUnitTaskDTO item) {
        return baseMapper.editData(item);
    }
 
    @Override
    public int expurgateData(String id)
    {
        return baseMapper.expurgateData(id);
    }
 
 
 
}