123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- package com.bofeng.service;
- import com.baomidou.mybatisplus.toolkit.IdWorker;
- import com.bofeng.JwtHelper;
- import com.bofeng.dao.JmTuangouDao;
- import com.bofeng.dao.UserOpenMapper;
- import com.bofeng.dao.YeweihuiSysOwnerMapper;
- import com.bofeng.dao.YeweihuiUserRoleMapper;
- import com.bofeng.entity.JmTuangou;
- import com.bofeng.entity.UserOpen;
- import com.yvan.PageDb;
- import org.apache.commons.beanutils.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Propagation;
- import org.springframework.transaction.annotation.Transactional;
- import java.lang.reflect.InvocationTargetException;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- @Service
- @Transactional(readOnly = true)
- public class JmTuangouService {
- @Autowired
- private BuyService buyService;
- @Autowired
- private JmTuangouDao jmTuangouDao;
- @Autowired
- private YeweihuiUserRoleMapper yeweihuiUserRoleMapper;
- @Autowired
- private YeweihuiSysOwnerMapper yeweihuiSysOwnerMapper;
- @Autowired
- private EpiTemplateMessageService epiTemplateMessageService;
- @Autowired
- private UserOpenMapper userOpenMapper;
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public Integer tuangouPublish(JmTuangou jmTuangou) {
- jmTuangou.setJmId(IdWorker.getId());
- Long propertyId = yeweihuiUserRoleMapper.queryPropertyIdByUserId(jmTuangou.getUserId());
- Long uptownId = yeweihuiSysOwnerMapper.queryUptownIdByUserId(propertyId);
- jmTuangou.setUptownId(uptownId);
- jmTuangou.setTgStatus(1);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- Date tgEndTime = new Date();
- Date tgDeliverTime = new Date();
- try {
- tgEndTime = sdf.parse(jmTuangou.getEndTime());
- tgDeliverTime = sdf.parse(jmTuangou.getDeliverTime());
- } catch (ParseException e) {
- e.printStackTrace();
- }
- jmTuangou.setTgEndTime(tgEndTime);
- jmTuangou.setTgDeliverTime(tgDeliverTime);
- jmTuangou.setUserCreate(jmTuangou.getUserId());
- jmTuangou.setTimeCreate(new Date());
- jmTuangou.setUserUpdate(jmTuangou.getUserId());
- jmTuangou.setTimeUpdate(new Date());
- Integer success = jmTuangouDao.insert(jmTuangou);
- if (success == 1) {
- List<UserOpen> userList = userOpenMapper.getUsersByUptownId(uptownId);
- for (UserOpen user : userList) {
- epiTemplateMessageService.tuangouSendRemindMessage(user.getUserId(), user.getOpenId(), tgEndTime);
- }
- }
- return success;
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public Integer whepiTuangouPublish(String uptownIds, JmTuangou jmTuangou) throws InvocationTargetException, IllegalAccessException {
- Calendar cal = Calendar.getInstance();
- int moth = cal.get(Calendar.MONTH) + 1;
- int date = cal.get(Calendar.DAY_OF_MONTH);
- List<String> uptownIdArray = Arrays.asList(uptownIds.split(","));
- ArrayList tgList = new ArrayList();
- for (String uptownId : uptownIdArray) {
- jmTuangou.setJmId(IdWorker.getId());
- jmTuangou.setUptownId(Long.parseLong(uptownId));
- jmTuangou.setTgStatus(1);
- jmTuangou.setRoleType(1);
- jmTuangou.setUserCreate(JwtHelper.getUserId());
- jmTuangou.setUserUpdate(JwtHelper.getUserId());
- if (jmTuangou.getTgType() == 1) {
- jmTuangou.setTgTitle("食蔬采购需求统计(指挥部" + moth + "月" + date + "日)");
- } else if (jmTuangou.getTgType() == 2) {
- jmTuangou.setTgTitle("药品采购需求统计((指挥部" + moth + "月" + date + "日)");
- } else if (jmTuangou.getTgType() == 3) {
- jmTuangou.setTgTitle("医疗服务需求统计((指挥部" + moth + "月" + date + "日)");
- } else if (jmTuangou.getTgType() == 4) {
- jmTuangou.setTgTitle("生活用品需求统计((指挥部" + moth + "月" + date + "日)");
- } else if (jmTuangou.getTgType() == 5) {
- jmTuangou.setTgTitle("其他服务需求统计((指挥部" + moth + "月" + date + "日)");
- }
- jmTuangou.setUserId(JwtHelper.getUserId());
- if (jmTuangou.getTgMinNum() == null) {
- jmTuangou.setTgMinNum(0);
- }
- if (jmTuangou.getTgMaxNum() == null) {
- jmTuangou.setTgMaxNum(0);
- }
- JmTuangou jmTuangou1 = new JmTuangou();
- BeanUtils.copyProperties(jmTuangou1, jmTuangou);
- tgList.add(jmTuangou1);
- }
- Integer success = jmTuangouDao.insertJmTuangouList(tgList);
- if (success > 0) {
- Thread thread=new Thread(new Runnable() {
- @Override
- public void run() {
- for (String uptownId : uptownIdArray) {
- List<UserOpen> userList = userOpenMapper.getUsersByUptownId(Long.parseLong(uptownId));
- for (UserOpen user : userList) {
- epiTemplateMessageService.tuangouSendRemindMessage(user.getUserId(), user.getOpenId(), jmTuangou.getTgEndTime());
- }
- }
- }
- });
- thread.start();
- }
- return success;
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public List<JmTuangou> queryTuangouListByTitle(Long userId, String title) {
- buyService.updateStatus();
- Long propertyId = yeweihuiUserRoleMapper.queryPropertyIdByUserId(userId);
- Long uptownId = yeweihuiSysOwnerMapper.queryUptownIdByUserId(propertyId);
- if (title.equals("")) {
- return jmTuangouDao.queryTuangouListByUptownId(uptownId);
- }
- return jmTuangouDao.queryTuangouListByUptownIdAndTitle(uptownId, title);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public List<JmTuangou> queryTuangouMyListByTitle(Long userId, String title) {
- buyService.updateStatus();
- if (title.equals("")) {
- return jmTuangouDao.queryTuangouListByUserId(userId);
- }
- return jmTuangouDao.queryTuangouListByUserIdAndTitle(userId, title);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public JmTuangou queryByJmId(Long jmId) {
- buyService.updateStatus();
- return jmTuangouDao.selectJmTuangouByJmId(jmId);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public List<JmTuangou> whepiTuangoulist(Long userId, String uptownIds, String queryProperties, Long status, PageDb pageDb) {
- buyService.updateStatus();
- return jmTuangouDao.whepiTuangoulist(userId, uptownIds, queryProperties, status, pageDb);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public Integer updateRemarkByJmId(Long jmId, Long status, String remark) {
- if (status == 0) {
- return jmTuangouDao.updateRemarkByJmId(jmId, remark);
- }
- if (remark.equals("")) {
- return jmTuangouDao.updateStatusByJmId(jmId, status);
- }
- return jmTuangouDao.updateStatusRemarkByJmId(jmId, status, remark);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public JmTuangou selectByUserId() {
- buyService.updateStatus();
- return jmTuangouDao.selectByUserId();
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public JmTuangou getSelectOne(Long jmId) {
- buyService.updateStatus();
- return jmTuangouDao.getSelectOne(jmId);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public Integer zhihuibuUpdateStatus(Long jmId, Long status) {
- return jmTuangouDao.updateStatusByJmId(jmId, status);
- }
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
- public int updateStatus(Long jmId,Long tgStatus){
- return jmTuangouDao.updateStatusByJmId(jmId,tgStatus);
- }
- }
|