| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.MapUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.domain.ZInfoUser; |
| | | import com.ruoyi.domain.ZfProperty; |
| | | import com.ruoyi.domain.ZfEvent; |
| | | import com.ruoyi.domain.ZfProperty; |
| | | import com.ruoyi.mapper.ZfPropertyMapper; |
| | | import com.ruoyi.service.IZfPropertyService; |
| | | import com.ruoyi.service.ZInfoUserService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | |
| | | @Service |
| | | public class IZfPropertyServiceImpl extends ServiceImpl<ZfPropertyMapper, ZfProperty> implements IZfPropertyService { |
| | | |
| | | @Resource |
| | | ZInfoUserService zInfoUserService; |
| | | |
| | | @Resource |
| | | IZfPropertyService zfPropertyService; |
| | | |
| | | @Override |
| | | public List<ZfProperty> selectByCondition(ZfProperty zfProperty) { |
| | | LambdaQueryWrapper<ZfProperty> lambdaQueryWrapper = buildCondition(zfProperty); |
| | | String familyIds = listFamilyIds(); |
| | | LambdaQueryWrapper<ZfProperty> lambdaQueryWrapper = buildCondition(zfProperty,familyIds); |
| | | List<ZfProperty> list = list(lambdaQueryWrapper); |
| | | log.info("返回的数据为:{}",list); |
| | | return list; |
| | |
| | | return lqw; |
| | | } |
| | | |
| | | private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty,String familyIds) { |
| | | LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty); |
| | | if (familyIds.contains(",")) { |
| | | String[] familyList = familyIds.split(","); |
| | | for (String familyId : familyList) { |
| | | lqw.or().eq(ZfProperty::getFamilyId,familyId); |
| | | } |
| | | }else { |
| | | lqw.eq(ZfProperty::getFamilyId,familyIds); |
| | | } |
| | | return lqw; |
| | | } |
| | | |
| | | private String listFamilyIds(){ |
| | | SysUser user = SecurityUtils.getLoginUser().getUser(); |
| | | Long userId = user.getUserId(); |
| | | LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId,userId); |
| | | ZInfoUser zInfoUser = zInfoUserService.getOne(zInfoUserLambdaQueryWrapper); |
| | | return zInfoUser.getFamilyId(); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult selectPropertyList(ZfProperty zfProperty,Integer pageNum,Integer pageSize) { |
| | | |
| | | LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty); |
| | | |
| | | String familyIds = listFamilyIds(); |
| | | LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty,familyIds); |
| | | Page<ZfProperty> zfPropertyPage = new Page<>(pageNum,pageSize); |
| | | Page<ZfProperty> pageResult = page(zfPropertyPage, lqw); |
| | | |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult); |
| | | return AjaxResult.success(data); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public int addProperty(ZfProperty zfProperty) { |
| | | |
| | | String familyIds = listFamilyIds(); |
| | | boolean flag = false;//判断当前用户的id是否有权加入当前家庭id的对象 |
| | | if (familyIds.contains(",")) { |
| | | String[] familyList = familyIds.split(","); |
| | | for (String familyId : familyList) { |
| | | if (familyId.equals(zfProperty.getFamilyId())) { |
| | | flag = true; |
| | | } |
| | | } |
| | | } else { |
| | | if (zfProperty.getFamilyId().equals(familyIds)) { |
| | | flag = true; |
| | | } |
| | | } |
| | | if (flag) { |
| | | boolean save = save(zfProperty); |
| | | return save ? 1 : 0; |
| | | } else { |
| | | throw new RuntimeException("你没有操作该家庭号为" + zfProperty.getFamilyId() + "数据的权限"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult importExcel(MultipartFile file) { |
| | | ExcelUtil<ZfProperty> util = new ExcelUtil<>(ZfProperty.class); |
| | | List<ZfProperty> propertyList = null; |
| | | try { |
| | | propertyList = util.importExcel(file.getInputStream()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | log.info("资产列表为:{}", propertyList); |
| | | |
| | | for (ZfProperty zfProperty : propertyList) { |
| | | zfPropertyService.addProperty(zfProperty); |
| | | } |
| | | |
| | | return AjaxResult.success("导入数据成功"); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |