package com.bofeng.service; import com.baomidou.mybatisplus.toolkit.IdWorker; import com.bofeng.dao.JmTuangouDao; import com.bofeng.dao.YeweihuiSysOwnerMapper; import com.bofeng.dao.YeweihuiUserRoleMapper; import com.bofeng.entity.JmTuangou; import com.yvan.PageDb; 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.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.List; @Service @Transactional(readOnly = true) public class JmTuangouService { @Autowired private BuyService buyService; @Autowired private JmTuangouDao jmTuangouDao; @Autowired private YeweihuiUserRoleMapper yeweihuiUserRoleMapper; @Autowired private YeweihuiSysOwnerMapper yeweihuiSysOwnerMapper; @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); return jmTuangouDao.insert(jmTuangou); } @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public Integer whepiTuangouPublish(String uptownIds, JmTuangou jmTuangou) { Integer success = 0; List uptownIdArray = Arrays.asList(uptownIds.split(",")); for (String uptownId : uptownIdArray) { jmTuangou.setJmId(IdWorker.getId()); jmTuangou.setUptownId(Long.parseLong(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(jmTuangou.gettgEndTime); jmTuangou.setTgDeliverTime(tgDeliverTime);*/ jmTuangou.setUserId(jmTuangouDao.selectByUserId().getUserId()); success = jmTuangouDao.insert(jmTuangou); } return success; } @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public List 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 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 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); } public JmTuangou selectByUserId() { return jmTuangouDao.selectByUserId(); } public JmTuangou getSelectOne(Long jmId){ return jmTuangouDao.getSelectOne(jmId); } }