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.NeedProblemClaimDTO;
|
import com.panzhihua.common.model.dtos.partybuilding.NeedProblemInventoryDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.utlis.StringUtils;
|
import com.panzhihua.service_dangjian.dao.NeedProblemClaimDAO;
|
import com.panzhihua.service_dangjian.service.NeedProblemClaimService;
|
import com.panzhihua.service_dangjian.service.NeedProblemInventoryService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党组织
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-11-30 11:40
|
**/
|
@Service
|
public class NeedProblemClaimServiceImpl extends ServiceImpl<NeedProblemClaimDAO, NeedProblemClaimDTO>
|
implements NeedProblemClaimService
|
{
|
//任务 问题接口
|
@Resource
|
private NeedProblemInventoryService inventoryService;
|
|
@Override
|
public IPage<NeedProblemClaimDTO> getList(int pageNum, int pageSize,
|
String taskId, String userId,String unitId)
|
{
|
Page page = new Page<>(pageNum,pageSize);
|
return baseMapper.getList(page,taskId,userId,unitId);
|
}
|
|
@Override
|
public NeedProblemClaimDTO getDetails(String id) {
|
return baseMapper.getDetails(id);
|
}
|
|
@Override
|
public R addData(NeedProblemClaimDTO item)
|
{
|
//任务问题详情
|
NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(item.getTaskId());
|
long times=System.currentTimeMillis();
|
if(times<inventoryDTO.getClaimStartTime().getTime())
|
{
|
return R.fail("报名未开始");
|
}
|
|
if(times>inventoryDTO.getClaimEndTime().getTime())
|
{
|
return R.fail("报名已结束");
|
}
|
int isJion= baseMapper.getJionNum(item.getTaskId(),item.getUserId());
|
if(isJion>0)
|
{
|
return R.fail("您已报名!");
|
}
|
|
int peopleAstrict=0;
|
if(!StringUtils.isEmpty(inventoryDTO.getClaimNum()))
|
{
|
peopleAstrict=Integer.valueOf(inventoryDTO.getClaimNum());
|
}
|
|
if(peopleAstrict>0)
|
{
|
//活动参与人数
|
int jionNum= baseMapper.getJionNum(item.getTaskId(),null);
|
if(peopleAstrict<=jionNum)
|
{
|
return R.fail("参与人数已满");
|
}
|
}
|
return R.ok(baseMapper.addData(item));
|
}
|
|
@Override
|
public R editData(NeedProblemClaimDTO item)
|
{
|
int num=baseMapper.editData(item);
|
if(num>0)
|
{
|
return R.ok();
|
}
|
return R.fail("操作失败");
|
}
|
|
@Override
|
public R expurgateData(String id)
|
{
|
//报名信息
|
NeedProblemClaimDTO claimDTO=baseMapper.getDetails(id);
|
NeedProblemInventoryDTO inventoryDTO=inventoryService.getDetails(claimDTO.getTaskId());
|
long times=System.currentTimeMillis();
|
|
if(times>inventoryDTO.getNeedStartTime().getTime())
|
{
|
return R.fail("任务已开始!不能取消");
|
}
|
|
int num=baseMapper.expurgateData(id);
|
if(num>0)
|
{
|
return R.ok();
|
}
|
return R.fail("操作失败");
|
}
|
|
@Override
|
public int getJionNum(String taskId,String userId)
|
{
|
return baseMapper.getJionNum(taskId,userId);
|
}
|
|
@Override
|
public int needClaimSignIn(String taskId, String userId, String type)
|
{
|
NeedProblemClaimDTO item=new NeedProblemClaimDTO();
|
item.setTaskId(taskId);
|
item.setUserId(userId);
|
if(StringUtils.equals("1",type))
|
{
|
//开始打卡
|
item.setPunchStartTime(new Date());
|
}
|
else
|
{
|
NeedProblemClaimDTO userDto=baseMapper.getUserIdDetails(taskId,userId);
|
//结束打卡
|
Date newDate=new Date();
|
item.setPunchEndTime(newDate);
|
|
long times=newDate.getTime()-userDto.getPunchStartTime().getTime();
|
item.setServiceTime(times+"");
|
}
|
return baseMapper.editData(item);
|
}
|
}
|