package com.stylefeng.guns.modular.system.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.dao.SellingCarMapper; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class SellingCarServiceImpl extends ServiceImpl implements ISellingCarService { @Autowired private ITCarBrandService carBrandService; @Autowired private ITRegionService regionService; @Autowired private IMessNumService messNumService; @Autowired private ITSystemNoticeService systemNoticeService; @Override public Map list(String createTime, String carLicensePlate, Integer brandId, String insertUser, List status, Integer userType, Integer offset, Integer limit) throws Exception { Integer companyId = ShiroKit.getUser().getRoleType() == 1 ? null : ShiroKit.getUser().getObjectId(); String start = ""; String end = ""; if (ToolUtil.isNotEmpty(createTime)) { String[] split = createTime.split(" - "); start = split[0]; end = split[1]; } Map map = new HashMap<>(); List> list = this.baseMapper.list(companyId, start, end, carLicensePlate, brandId, insertUser, status, userType, offset, limit); int count = this.baseMapper.listCount(companyId, start, end, carLicensePlate, brandId, insertUser, status, userType); map.put("rows", list); map.put("total", count); return map; } @Override public ResultUtil addSellingCar(SellingCar sellingCar) throws Exception { sellingCar.setUserType(3); sellingCar.setUserId(ShiroKit.getUser().getObjectId()); TCarBrand tCarBrand = carBrandService.selectById(sellingCar.getBrandId()); sellingCar.setBrandName(tCarBrand.getName()); TRegion province = regionService.selectOne(new EntityWrapper().eq("code", sellingCar.getProvinceCode())); TRegion city = regionService.selectOne(new EntityWrapper().eq("code", sellingCar.getCityCode())); sellingCar.setProvinceName(province.getName()); sellingCar.setCityName(city.getName()); sellingCar.setCreateTime(new Date()); sellingCar.setFirstPageShow(2); if (ShiroKit.getUser().getRoleType() == 1 && sellingCar.getStatus() == 1) { sellingCar.setStatus(4); } this.insert(sellingCar); return ResultUtil.success(); } @Override public ResultUtil updateSellingCar(SellingCar sellingCar) throws Exception { TCarBrand tCarBrand = carBrandService.selectById(sellingCar.getBrandId()); sellingCar.setBrandName(tCarBrand.getName()); TRegion province = regionService.selectOne(new EntityWrapper().eq("code", sellingCar.getProvinceCode())); TRegion city = regionService.selectOne(new EntityWrapper().eq("code", sellingCar.getCityCode())); sellingCar.setProvinceName(province.getName()); sellingCar.setCityName(city.getName()); this.updateById(sellingCar); return ResultUtil.success(); } @Override public ResultUtil auditSellingCar(Integer id, Integer status, String authRemark) throws Exception { SellingCar sellingCar = this.selectById(id); if(sellingCar.getStatus() != 1){ return ResultUtil.error("不允许重复操作"); } sellingCar.setStatus(status); sellingCar.setAuthRemark(authRemark); this.updateById(sellingCar); MessNum messNum = messNumService.selectOne(new EntityWrapper().eq("userType", sellingCar.getUserType()) .eq("userId", sellingCar.getUserId())); if(null == messNum){ messNum = new MessNum(); messNum.setUserType(sellingCar.getUserType()); messNum.setUserId(sellingCar.getUserId()); messNum.setSellingCarNum(1); messNumService.insert(messNum); }else{ messNum.setSellingCarNum((null == messNum.getSellingCarNum() ? 0 : messNum.getSellingCarNum()) + 1); messNumService.updateById(messNum); } TSystemNotice systemNotice = new TSystemNotice(); systemNotice.setType(2); systemNotice.setUserType(sellingCar.getUserType()); systemNotice.setContent("您提交的售车申请审核" + (status == 4 ? "通过" : "拒绝")); systemNotice.setUserId(sellingCar.getUserId()); systemNotice.setInsertTime(new Date()); systemNotice.setRead(1); systemNoticeService.insert(systemNotice); return ResultUtil.success(); } }