package com.panzhihua.service_community.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.vos.R;
|
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
|
import com.panzhihua.service_community.dao.ComActMicroWishDAO;
|
import com.panzhihua.service_community.dao.ComActMicroWishUserDAO;
|
import com.panzhihua.service_community.model.dos.ComActMicroWishDO;
|
import com.panzhihua.service_community.model.dos.ComActMicroWishUserDO;
|
import com.panzhihua.service_community.service.ComActMicroWishService;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.ObjectUtils;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 微心愿
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-12-07 14:34
|
**/
|
@Service
|
public class ComActMicroWishServiceImpl extends ServiceImpl<ComActMicroWishDAO, ComActMicroWishDO> implements ComActMicroWishService {
|
@Resource
|
private ComActMicroWishDAO comActMicroWishDAO;
|
@Resource
|
private ComActMicroWishUserDAO comActMicroWishUserDAO;
|
|
/**
|
* 分页查询微心愿
|
*
|
* @param comActMicroWishVO 查询参数
|
* @return 心愿列表
|
*/
|
@Override
|
public R pageMicroWish(ComActMicroWishVO comActMicroWishVO) {
|
Long userId = comActMicroWishVO.getResponsibleId();
|
Page page = new Page<>();
|
Long pageNum = comActMicroWishVO.getPageNum();
|
Long pageSize = comActMicroWishVO.getPageSize();
|
if (ObjectUtils.isEmpty(pageNum) || 0 == pageNum) {
|
pageNum = 1l;
|
}
|
if (ObjectUtils.isEmpty(pageSize) || 0 == pageSize) {
|
pageSize = 10l;
|
}
|
page.setSize(pageSize);
|
page.setCurrent(pageNum);
|
IPage<ComActMicroWishVO> iPage = comActMicroWishDAO.pageMicroWish(page, comActMicroWishVO);
|
List<ComActMicroWishVO> records = iPage.getRecords();
|
if (!ObjectUtils.isEmpty(records)) {
|
records.forEach(comActMicroWishVO1 -> {
|
Long id = comActMicroWishVO1.getId();
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, id).eq(ComActMicroWishUserDO::getUserId, userId));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO1.setHaveGiveThumbsUp(0);
|
} else {
|
comActMicroWishVO1.setHaveGiveThumbsUp(1);
|
}
|
});
|
iPage.setRecords(records);
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 心愿详情
|
*
|
* @param id 查询主键
|
* @param userId 登录用户id
|
* @return 心愿内容
|
*/
|
@Override
|
public R detailMicroWish(Long id, Long userId) {
|
ComActMicroWishVO comActMicroWishVO = comActMicroWishDAO.detailMicroWish(id);
|
if (ObjectUtils.isEmpty(comActMicroWishVO)) {
|
return R.fail();
|
}
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getUserId, userId).eq(ComActMicroWishUserDO::getMicroWishId, id));
|
if (ObjectUtils.isEmpty(comActMicroWishUserDO)) {
|
comActMicroWishVO.setHaveGiveThumbsUp(0);
|
}else {
|
comActMicroWishVO.setHaveGiveThumbsUp(1);
|
}
|
return R.ok(comActMicroWishVO);
|
}
|
|
/**
|
* 审核、分配、反馈心愿
|
*
|
* @param comActMicroWishVO 具体操作
|
* @return 操作结果
|
*/
|
@Override
|
public R putlMicroWish(ComActMicroWishVO comActMicroWishVO) {
|
Long id = comActMicroWishVO.getId();
|
Integer type = comActMicroWishVO.getType();
|
if (ObjectUtils.isEmpty(type)||type>5||type<1) {
|
return R.fail("操作类型不对");
|
}
|
String rejectReason = comActMicroWishVO.getRejectReason();
|
Long responsibleId = comActMicroWishVO.getResponsibleId();
|
String feedback = comActMicroWishVO.getFeedback();
|
String feedbackPhotoPathList = comActMicroWishVO.getFeedbackPhotoPathList();
|
ComActMicroWishDO comActMicroWishDO=new ComActMicroWishDO();
|
comActMicroWishDO.setId(id);
|
// 1 审核通过 2驳回 3分配人员 4发起活动 5反馈
|
switch (type){
|
case 1:
|
comActMicroWishDO.setExamineAt(new Date());
|
comActMicroWishDO.setStatus(2);//待分配
|
break;
|
case 2:
|
comActMicroWishDO.setExamineAt(new Date());
|
comActMicroWishDO.setRejectReason(rejectReason);
|
comActMicroWishDO.setStatus(4);//驳回
|
break;
|
case 3:
|
comActMicroWishDO.setDistributionAt(new Date());
|
comActMicroWishDO.setResponsibleId(responsibleId);
|
comActMicroWishDO.setStatus(3);//进行中
|
comActMicroWishDO.setForm(1);
|
break;
|
case 4:
|
comActMicroWishDO.setDistributionAt(new Date());
|
comActMicroWishDO.setResponsibleId(responsibleId);
|
comActMicroWishDO.setStatus(3);//进行中
|
comActMicroWishDO.setForm(2);
|
// todo 给负责人增加一个待办事件
|
break;
|
case 5:
|
comActMicroWishDO.setFeedbackAt(new Date());
|
comActMicroWishDO.setStatus(5);//待确认
|
comActMicroWishDO.setFeedback(feedback);
|
comActMicroWishDO.setFeedbackPhotoPathList(feedbackPhotoPathList);
|
break;
|
default:
|
break;
|
}
|
int update = comActMicroWishDAO.updateById(comActMicroWishDO);
|
if (update>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 点赞/取消点赞微心愿
|
*
|
* @param comActMicroWishVO 操作参数
|
* @return 操作结果
|
*/
|
@Override
|
public R comActMicroWishVO(ComActMicroWishVO comActMicroWishVO) {
|
Integer haveGiveThumbsUp = comActMicroWishVO.getHaveGiveThumbsUp();
|
Long userId = comActMicroWishVO.getSponsorId();
|
Long microWishId = comActMicroWishVO.getId();
|
ComActMicroWishUserDO comActMicroWishUserDO = comActMicroWishUserDAO.selectOne(new QueryWrapper<ComActMicroWishUserDO>().lambda().eq(ComActMicroWishUserDO::getMicroWishId, microWishId).eq(ComActMicroWishUserDO::getUserId, userId));
|
boolean empty = ObjectUtils.isEmpty(comActMicroWishUserDO);
|
int num=0;
|
if (haveGiveThumbsUp.intValue()==1) {
|
if (empty) {
|
ComActMicroWishUserDO comActMicroWishUserDO1=new ComActMicroWishUserDO();
|
comActMicroWishUserDO1.setMicroWishId(microWishId);
|
comActMicroWishUserDO1.setUserId(userId);
|
num=comActMicroWishUserDAO.insert(comActMicroWishUserDO1);
|
}else{
|
return R.ok();
|
}
|
}else {
|
if (empty) {
|
return R.ok();
|
} else {
|
num= comActMicroWishUserDAO.deleteById(comActMicroWishUserDO.getId());
|
}
|
}
|
if (num>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
|
}
|