TaBuildingServiceImpl.java 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578
  1. package com.huiju.estateagents.service.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.metadata.IPage;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.huiju.estateagents.base.ResponseBean;
  8. import com.huiju.estateagents.common.CommConstant;
  9. import com.huiju.estateagents.common.DateUtils;
  10. import com.huiju.estateagents.common.StringUtils;
  11. import com.huiju.estateagents.entity.*;
  12. import com.huiju.estateagents.mapper.*;
  13. import com.huiju.estateagents.service.ITaBuildingService;
  14. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  15. import org.checkerframework.checker.units.qual.A;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import java.time.LocalDateTime;
  19. import java.util.ArrayList;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * <p>
  25. * 项目表 服务实现类
  26. * </p>
  27. *
  28. * @author jobob
  29. * @since 2019-05-10
  30. */
  31. @Service
  32. public class TaBuildingServiceImpl extends ServiceImpl<TaBuildingMapper, TaBuilding> implements ITaBuildingService {
  33. @Autowired
  34. TaBuildingMapper taBuildingMapper;
  35. @Autowired
  36. TaBuildingImgMapper taBuildingImgMapper;
  37. @Autowired
  38. TaBuildingTagMapper taBuildingTagMapper;
  39. @Autowired
  40. TaApartmentImgMapper taApartmentImgMapper;
  41. @Autowired
  42. TaBuildingApartmentMapper taBuildingApartmentMapper;
  43. @Autowired
  44. TaSaveMapper taSaveMapper;
  45. @Autowired
  46. TaUvMapper taUvMapper;
  47. @Autowired
  48. TaShareMapper taShareMapper;
  49. @Autowired
  50. TaPersonMapper taPersonMapper;
  51. @Autowired
  52. TdCityMapper tdCityMapper;
  53. @Override
  54. public ResponseBean buildingList(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain) {
  55. Page<TaBuilding> page = new Page<>();
  56. page.setSize(pageSize == null ? 10 : pageSize);
  57. page.setCurrent(pageNum == null ? 1 : pageNum);
  58. List<TaBuilding> building = taBuildingMapper.buildingList(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain);
  59. page.setRecords(building);
  60. return ResponseBean.success(page);
  61. }
  62. @Override
  63. public ResponseBean buildingListSelect(Integer pageNum, Integer pageSize, String name, String code, LocalDateTime startDate, String buildingStatus, String marketStatus, Integer cityId, Integer isMain) {
  64. Page<TaBuilding> page = new Page<>();
  65. page.setSize(pageSize == null ? 10 : pageSize);
  66. page.setCurrent(pageNum == null ? 1 : pageNum);
  67. List<TaBuilding> building = taBuildingMapper.buildingListSelect(page, name, code,startDate,buildingStatus,marketStatus,cityId,isMain);
  68. page.setRecords(building);
  69. return ResponseBean.success(page);
  70. }
  71. @Override
  72. public ResponseBean buildingSelectId(String id) {
  73. // 查询基础信息
  74. QueryWrapper<TaBuilding> buildingtWrapper = new QueryWrapper<>();
  75. buildingtWrapper.lambda().gt(TaBuilding::getStatus,-1);
  76. buildingtWrapper.lambda().eq(TaBuilding::getBuildingId,id);
  77. TaBuilding building = taBuildingMapper.selectOne(buildingtWrapper);
  78. //查询当前图片
  79. QueryWrapper<TaBuildingImg> BuildingImgQueryWrapper = new QueryWrapper<>();
  80. BuildingImgQueryWrapper.eq("building_id", id);
  81. BuildingImgQueryWrapper.eq("img_type", "banner");
  82. List<TaBuildingImg> buildingImg = taBuildingImgMapper.selectList(BuildingImgQueryWrapper);
  83. building.setBuildingImg(buildingImg);
  84. // 查询tag
  85. QueryWrapper<TaBuildingTag> BuildingTagQueryWrapper = new QueryWrapper<>();
  86. BuildingTagQueryWrapper.eq("building_id", id);
  87. List<TaBuildingTag> buildingTags= taBuildingTagMapper.selectList(BuildingTagQueryWrapper);
  88. building.setBuildingTag(buildingTags);
  89. return ResponseBean.success(building);
  90. }
  91. @Override
  92. public ResponseBean buildingAllSelectId(String id,String personId) {
  93. // 查询基础信息
  94. QueryWrapper<TaBuilding> buildingtWrapper = new QueryWrapper<>();
  95. buildingtWrapper.lambda().gt(TaBuilding::getStatus,-1);
  96. buildingtWrapper.lambda().eq(TaBuilding::getBuildingId,id);
  97. TaBuilding building = taBuildingMapper.selectOne(buildingtWrapper);
  98. //查询当前图片
  99. QueryWrapper<TaBuildingImg> BuildingImgQueryWrapper = new QueryWrapper<>();
  100. BuildingImgQueryWrapper.eq("building_id", id);
  101. BuildingImgQueryWrapper.eq("img_type", "banner");
  102. List<TaBuildingImg> buildingImg = taBuildingImgMapper.selectList(BuildingImgQueryWrapper);
  103. building.setBuildingImg(buildingImg);
  104. // 查询tag
  105. QueryWrapper<TaBuildingTag> BuildingTagQueryWrapper = new QueryWrapper<>();
  106. BuildingTagQueryWrapper.eq("building_id", id);
  107. List<TaBuildingTag> buildingTags = taBuildingTagMapper.selectList(BuildingTagQueryWrapper);
  108. building.setBuildingTag(buildingTags);
  109. // QueryWrapper<Visit> BuildingVisitQueryWrapper = new QueryWrapper<>();
  110. // BuildingVisitQueryWrapper.eq("visit_type", "building");
  111. // BuildingVisitQueryWrapper.eq("visit_content", id);
  112. // BuildingVisitQueryWrapper.orderByDesc("visit_date");
  113. // List<Visit> visits = visitMapper.selectList(BuildingVisitQueryWrapper);
  114. // building.setVisits(visits);
  115. // 查询户型
  116. QueryWrapper<TaBuildingApartment> AppointmentQueryWrapper = new QueryWrapper<>();
  117. AppointmentQueryWrapper.eq("building_id", id);
  118. AppointmentQueryWrapper.eq("status", 1);
  119. List<TaBuildingApartment> appoint = taBuildingApartmentMapper.selectList(AppointmentQueryWrapper);
  120. for (TaBuildingApartment apar:appoint) {
  121. List<TaBuildingImg> imgs = taBuildingImgMapper.getBuildingImgByApartment(apar.getApartmentId());
  122. apar.setBuildingImgList(imgs);
  123. }
  124. building.setBuildingApartment(appoint);
  125. getBuildingAttaches(building);
  126. QueryWrapper<TaSave> saveQueryWrapper = new QueryWrapper<>();
  127. saveQueryWrapper.eq("tagert_type",CommConstant.FAVOR_PROJECT);
  128. saveQueryWrapper.eq("person_id",personId);
  129. saveQueryWrapper.eq("saved_target",building.getBuildingId());
  130. Integer num = taSaveMapper.selectCount(saveQueryWrapper);
  131. if (num>0){
  132. building.setIsSave(CommConstant.STATUS_NORMAL);
  133. }else {
  134. building.setIsSave(CommConstant.STATUS_UNACCALIMED);
  135. }
  136. return ResponseBean.success(building);
  137. }
  138. @Override
  139. public ResponseBean buildingUpdate(String parameter) {
  140. JSONObject object= JSONObject.parseObject(parameter);
  141. TaBuilding building = JSONObject.parseObject(parameter,TaBuilding.class);
  142. String imgStr = object.getString("img");
  143. List<TaBuildingImg> buildingImgs = JSONObject.parseArray(imgStr, TaBuildingImg.class);
  144. //图片先删除再添加
  145. QueryWrapper<TaBuilding> buildingIdQueryWrapper = new QueryWrapper<>();
  146. buildingIdQueryWrapper.eq("building_id", building.getBuildingId());
  147. taBuildingMapper.update(building,buildingIdQueryWrapper);
  148. QueryWrapper<TaBuildingImg> BuildingImgQueryWrapper = new QueryWrapper<>();
  149. BuildingImgQueryWrapper.eq("building_id", building.getBuildingId());
  150. BuildingImgQueryWrapper.eq("img_type", "banner");
  151. taBuildingImgMapper.delete(BuildingImgQueryWrapper);
  152. insertImgBatch(buildingImgs, building.getBuildingId());
  153. // tag先删除再增加
  154. String tagStr = object.getString("tag");
  155. List<TaBuildingTag> buildingTags = JSONObject.parseArray(tagStr, TaBuildingTag.class);
  156. QueryWrapper<TaBuildingTag> BuildingTagQueryWrapper = new QueryWrapper<>();
  157. BuildingTagQueryWrapper.eq("building_id", building.getBuildingId());
  158. taBuildingTagMapper.delete(BuildingTagQueryWrapper);
  159. insertTagBatch(buildingTags, building.getBuildingId());
  160. if(null != building.getCityId()){
  161. TdCity city = tdCityMapper.selectById(building.getCityId());
  162. city.setStatus("1");
  163. tdCityMapper.updateById(city);
  164. }
  165. return ResponseBean.success("");
  166. }
  167. @Override
  168. public ResponseBean appointmentList(Integer pageNum, Integer pageSize, String buildingId, String username, String phone, String status) {
  169. return null;
  170. }
  171. @Override
  172. public ResponseBean buildingAdd(String parameter) {
  173. JSONObject object= JSONObject.parseObject(parameter);
  174. TaBuilding building = JSONObject.parseObject(parameter,TaBuilding.class);
  175. if(null!= object.getDate("openingDate")){
  176. building.setOpeningDate(DateUtils.date2LocalDateTime(object.getDate("openingDate")));
  177. }
  178. building.setCreateDate(LocalDateTime.now());
  179. building.setStatus(0);
  180. if (taBuildingMapper.insert(building) < 1) {
  181. return ResponseBean.error("添加项目楼栋失败", ResponseBean.ERROR_UNAVAILABLE);
  182. }
  183. if(null != building.getCityId()){
  184. TdCity city = tdCityMapper.selectById(building.getCityId());
  185. city.setStatus("1");
  186. tdCityMapper.updateById(city);
  187. }
  188. String imgStr = object.getString("img");
  189. List<TaBuildingImg> buildingImgs = JSONObject.parseArray(imgStr, TaBuildingImg.class);
  190. // building.setOpeningDate(DateUtils.date2LocalDateTime(object.getDate("openingDate")));
  191. // building.setCreateDate(LocalDateTime.now());
  192. // building.setStatus(0);
  193. insertImgBatch(buildingImgs, building.getBuildingId());
  194. String tagStr = object.getString("tag");
  195. List<TaBuildingTag> buildingTags = JSONObject.parseArray(tagStr, TaBuildingTag.class);
  196. insertTagBatch(buildingTags, building.getBuildingId());
  197. // 项目类型
  198. // 先删除之前关联的
  199. JSONArray buildingProjectType = object.getJSONArray("buildingProjectType");
  200. return ResponseBean.success("");
  201. }
  202. @Override
  203. public ResponseBean buildingUpdateStatus(String parameter) {
  204. TaBuilding building = new TaBuilding();
  205. JSONObject jsonobject = JSONObject.parseObject(parameter);
  206. Integer status= jsonobject.getInteger("status");
  207. String id = jsonobject.getString("id");
  208. QueryWrapper<TaBuilding> buildingIdQueryWrapper = new QueryWrapper<>();
  209. buildingIdQueryWrapper.eq("building_id", id);
  210. building.setBuildingId(id);
  211. building.setStatus(status);
  212. taBuildingMapper.update(building,buildingIdQueryWrapper);
  213. return ResponseBean.success("");
  214. }
  215. @Override
  216. public ResponseBean buildingdelete(String id) {
  217. TaBuilding building = new TaBuilding();
  218. QueryWrapper<TaBuilding> buildingtWrapper = new QueryWrapper<>();
  219. buildingtWrapper.lambda().eq(TaBuilding::getBuildingId,id);
  220. TaBuilding bui= taBuildingMapper.selectOne(buildingtWrapper);
  221. if (bui.getStatus().equals(1)){
  222. return ResponseBean.error("楼盘已发布不可以删除", ResponseBean.ERROR_UNAVAILABLE);
  223. }
  224. QueryWrapper<TaBuilding> buildingIdQueryWrapper = new QueryWrapper<>();
  225. buildingIdQueryWrapper.eq("building_id", id);
  226. building.setBuildingId(String.valueOf(id));
  227. building.setStatus(-1);
  228. taBuildingMapper.update(building,buildingIdQueryWrapper);
  229. return ResponseBean.success("");
  230. }
  231. @Override
  232. public ResponseBean buildingApartmentAdd(String parameter) {
  233. TaBuildingApartment building = JSONObject.parseObject(parameter,TaBuildingApartment.class);
  234. building.setStatus(1);
  235. building.setCreateDate(LocalDateTime.now());
  236. if (taBuildingApartmentMapper.insert(building) < 1) {
  237. return ResponseBean.error("新增楼盘户型失败", ResponseBean.ERROR_UNAVAILABLE);
  238. }
  239. JSONObject jsonobject = JSONObject.parseObject(parameter);
  240. //图片数组
  241. String imgStr = jsonobject.getString("img");
  242. //转集合
  243. List<TaBuildingImg> buildingImgs = JSONObject.parseArray(imgStr, TaBuildingImg.class);
  244. //插入户型图片
  245. insertApartmentImgBatch(buildingImgs, building.getBuildingId(), building.getApartmentId());
  246. return ResponseBean.success("");
  247. }
  248. @Override
  249. public ResponseBean buildingApartmentUpdate(String parameter) {
  250. TaBuildingApartment building = JSONObject.parseObject(parameter,TaBuildingApartment.class);
  251. taBuildingImgMapper.delBuildingImgByApartment(building.getApartmentId());
  252. //删除户户型对应图片表
  253. QueryWrapper<TaApartmentImg> apartmentImgQueryWrapper = new QueryWrapper<>();
  254. apartmentImgQueryWrapper.eq("apartment_id", building.getApartmentId());
  255. taApartmentImgMapper.delete(apartmentImgQueryWrapper);
  256. QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
  257. buildingApartmentQueryWrapper.eq("apartment_id", building.getApartmentId());
  258. taBuildingApartmentMapper.update(building,buildingApartmentQueryWrapper);
  259. JSONObject jsonobject = JSONObject.parseObject(parameter);
  260. //图片数组
  261. String imgStr = jsonobject.getString("img");
  262. //转集合
  263. List<TaBuildingImg> buildingImgs = JSONObject.parseArray(imgStr, TaBuildingImg.class);
  264. //插入户型图片删除之前的图片
  265. insertApartmentImgBatch(buildingImgs, building.getBuildingId(), building.getApartmentId());
  266. return ResponseBean.success("");
  267. }
  268. @Override
  269. public ResponseBean buildingApartmentSelectId(String id) {
  270. //查询户型详情
  271. QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
  272. buildingApartmentQueryWrapper.eq("apartment_id", id);
  273. //拿到当前户型信息
  274. TaBuildingApartment buildingApartment = taBuildingApartmentMapper.selectOne(buildingApartmentQueryWrapper);
  275. if ( null == buildingApartment ){
  276. return ResponseBean.success("", "没有发现户型图上传");
  277. }
  278. //根据户型ID查楼盘户型对应图片表
  279. ArrayList arrayList= new ArrayList<>();
  280. QueryWrapper<TaApartmentImg> ApartmentImgQueryWrapper = new QueryWrapper<>();
  281. ApartmentImgQueryWrapper.eq("apartment_id", buildingApartment.getApartmentId());
  282. List<TaApartmentImg> buildingImg= taApartmentImgMapper.selectList(ApartmentImgQueryWrapper);
  283. for (TaApartmentImg apartmentImg:buildingImg){
  284. QueryWrapper<TaBuildingImg> buildingImgQueryWrapper = new QueryWrapper<>();
  285. buildingImgQueryWrapper.eq("img_id",apartmentImg.getImgId());
  286. buildingImgQueryWrapper.eq("img_type","aparment");
  287. List<TaBuildingImg> buildingImgList= taBuildingImgMapper.selectList(buildingImgQueryWrapper);
  288. for (TaBuildingImg buImg:buildingImgList) {
  289. arrayList.add(buImg);
  290. }
  291. }
  292. buildingApartment.setBuildingImgList(arrayList);
  293. return ResponseBean.success(buildingApartment);
  294. }
  295. @Override
  296. public ResponseBean appointmentUpdate(String id, String writeoffRemark) {
  297. return null;
  298. }
  299. @Override
  300. public ResponseBean getWxBuildingList(Integer pageNum, Integer pageSize, String name, List<String> targets,Integer cityId,boolean mine) {
  301. IPage<TaBuilding> page = new Page<>(pageNum, pageSize);
  302. QueryWrapper<TaBuilding> buildingQueryWrapper = new QueryWrapper<>();
  303. buildingQueryWrapper.nested(null != name && !"".equals(name.trim()), i -> i.like("name", name).or().like("building_name", name));
  304. buildingQueryWrapper.eq("status", 1);
  305. buildingQueryWrapper.eq(null != cityId && cityId != 0,"city_id", cityId);
  306. buildingQueryWrapper.in(null != targets && targets.size() > 0, "building_id", targets);
  307. // buildingQueryWrapper.like(null != name && !"".equals(name.trim()), "name", name);
  308. buildingQueryWrapper.orderByAsc("order_no");
  309. IPage<TaBuilding> result = taBuildingMapper.selectPage(page, buildingQueryWrapper);
  310. List<TaBuilding> buildingList = result.getRecords();
  311. if (null != buildingList && buildingList.size() > 0) {
  312. for (TaBuilding build:buildingList) {
  313. getBuildingAttaches(build);
  314. }
  315. }
  316. if(null!=targets&&targets.size()<=0 && mine){
  317. return ResponseBean.success(null);
  318. }else {
  319. return ResponseBean.success(result);
  320. }
  321. }
  322. private void getBuildingAttaches(TaBuilding build) {
  323. QueryWrapper<TaBuildingImg> BuildingImgQueryWrapper = new QueryWrapper<>();
  324. BuildingImgQueryWrapper.eq("building_id", build.getBuildingId());
  325. BuildingImgQueryWrapper.eq("img_type", "banner");
  326. List<TaBuildingImg> buildingImg = taBuildingImgMapper.selectList(BuildingImgQueryWrapper);
  327. build.setBuildingImg(buildingImg);
  328. // QueryWrapper<Visit> BuildingVisitQueryWrapper = new QueryWrapper<>();
  329. // BuildingVisitQueryWrapper.eq("visit_type", "building");
  330. // BuildingVisitQueryWrapper.eq("visit_content", build.getBuildingId());
  331. // BuildingVisitQueryWrapper.orderByDesc("visit_date");
  332. // List<Visit> visits = visitMapper.selectList(BuildingVisitQueryWrapper);
  333. // build.setVisits(visits);
  334. QueryWrapper<TaBuildingTag> buildingTagQueryWrapper = new QueryWrapper<>();
  335. buildingTagQueryWrapper.eq("building_id", build.getBuildingId());
  336. List<TaBuildingTag> buildingTags = taBuildingTagMapper.selectList(buildingTagQueryWrapper);
  337. build.setBuildingTag(buildingTags);
  338. IPage<TaUv> page = new Page<>(1, 10);
  339. QueryWrapper<TaUv> taUvQueryWrapper = new QueryWrapper<>();
  340. taUvQueryWrapper.eq("be_uv", build.getBuildingId());
  341. taUvQueryWrapper.eq("tagert_type", CommConstant.FAVOR_PROJECT);
  342. taUvQueryWrapper.orderByDesc("create_date");
  343. IPage<TaUv> taUvList = taUvMapper.selectPage(page, taUvQueryWrapper);
  344. build.setUvList(taUvList);
  345. IPage<TaShare> pg = new Page<>(1, 10);
  346. QueryWrapper<TaShare> taShareQueryWrapper = new QueryWrapper<>();
  347. taShareQueryWrapper.eq("be_share", build.getBuildingId());
  348. taShareQueryWrapper.eq("tagert_type", CommConstant.FAVOR_PROJECT);
  349. taShareQueryWrapper.orderByDesc("create_date");
  350. IPage<TaShare> taShareList = taShareMapper.selectPage(pg, taShareQueryWrapper);
  351. build.setShareList(taShareList);
  352. build.setConsultants(taPersonMapper.selectBuildingConsultants(build.getBuildingId(), CommConstant.PERSON_REALTY_CONSULTANT, CommConstant.STATUS_NORMAL));
  353. }
  354. @Override
  355. public ResponseBean getWxMainBuildingList() {
  356. QueryWrapper<TaBuilding> buildingQueryWrapper = new QueryWrapper<>();
  357. buildingQueryWrapper.eq("status", 1);
  358. buildingQueryWrapper.eq("is_main", 1);
  359. buildingQueryWrapper.orderByAsc("order_no");
  360. List<TaBuilding> buildingList = taBuildingMapper.selectList(buildingQueryWrapper);
  361. for (TaBuilding build:buildingList) {
  362. getBuildingAttaches(build);
  363. }
  364. return ResponseBean.success(buildingList);
  365. }
  366. @Override
  367. public ResponseBean getWxBuildingById(String buildingId) {
  368. // 楼盘信息
  369. QueryWrapper<TaBuilding> buildingQueryWrapper = new QueryWrapper<>();
  370. buildingQueryWrapper.eq("building_id", buildingId);
  371. TaBuilding building = taBuildingMapper.selectOne(buildingQueryWrapper);
  372. if (null == building) {
  373. return ResponseBean.error("项目不存在", ResponseBean.ERROR_ILLEGAL_PARAMS);
  374. }
  375. // 楼盘Banner
  376. QueryWrapper<TaBuildingImg> buildingImgBannerQueryWrapper = new QueryWrapper<>();
  377. buildingImgBannerQueryWrapper.eq("building_id", building.getBuildingId());
  378. buildingImgBannerQueryWrapper.eq("img_type", "banner");
  379. buildingImgBannerQueryWrapper.orderBy(true, true, "order_no");
  380. List<TaBuildingImg> buildingBannerImg = taBuildingImgMapper.selectList(buildingImgBannerQueryWrapper);
  381. building.setBuildingImg(buildingBannerImg);
  382. // 楼盘户型
  383. QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
  384. buildingApartmentQueryWrapper.eq("building_id", building.getBuildingId());
  385. List<TaBuildingApartment> buildingApartmentList = taBuildingApartmentMapper.selectList(buildingApartmentQueryWrapper);
  386. // 楼盘户型图
  387. buildingApartmentList.forEach(e -> {
  388. QueryWrapper<TaBuildingImg> buildingImgQueryWrapper = new QueryWrapper<>();
  389. buildingImgQueryWrapper.eq("building_id", building.getBuildingId());
  390. List<TaBuildingImg> buildingImgList = taBuildingImgMapper.selectList(buildingImgQueryWrapper);
  391. e.setBuildingImgList(buildingImgList);
  392. });
  393. Map<String, Object> buildingMap = new HashMap<>();
  394. buildingMap.put("info", building);
  395. buildingMap.put("buildingApartment", buildingApartmentList);
  396. return ResponseBean.success(buildingMap);
  397. }
  398. @Override
  399. public ResponseBean buildingApartmentBuildingId(String id) {
  400. QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
  401. buildingApartmentQueryWrapper.eq("building_id", id);
  402. buildingApartmentQueryWrapper.eq("status",1);
  403. List<TaBuildingApartment> buildingApartment= taBuildingApartmentMapper.selectList(buildingApartmentQueryWrapper);
  404. return ResponseBean.success(buildingApartment);
  405. }
  406. @Override
  407. public ResponseBean apartmentDel(String id) {
  408. QueryWrapper<TaBuildingApartment> buildingApartmentQueryWrapper = new QueryWrapper<>();
  409. buildingApartmentQueryWrapper.eq("apartment_id", id);
  410. TaBuildingApartment buildingApartment = taBuildingApartmentMapper.selectOne(buildingApartmentQueryWrapper);
  411. TaBuilding building= new TaBuilding();
  412. QueryWrapper<TaBuilding> buildingtWrapper = new QueryWrapper<>();
  413. buildingtWrapper.lambda().eq(TaBuilding::getBuildingId,buildingApartment.getBuildingId());
  414. TaBuilding bui= taBuildingMapper.selectOne(buildingtWrapper);
  415. if (bui.getStatus().equals(1)){
  416. return ResponseBean.error("楼盘已发布不可以删除", ResponseBean.ERROR_UNAVAILABLE);
  417. }
  418. buildingApartment.setStatus(-1);
  419. taBuildingApartmentMapper.update(buildingApartment,buildingApartmentQueryWrapper);
  420. return ResponseBean.success("");
  421. }
  422. @Override
  423. public ResponseBean buildingAll() {
  424. List<TaBuilding> taBuilding= taBuildingMapper.buildingAll();
  425. return ResponseBean.success(taBuilding);
  426. }
  427. @Override
  428. public Integer getCityById(String buildingId) {
  429. if (StringUtils.isEmpty(buildingId)) return null;
  430. TaBuilding taBuilding = taBuildingMapper.selectById(buildingId);
  431. if (null == taBuilding) return null;
  432. return taBuilding.getCityId();
  433. }
  434. int insertImgBatch(List<TaBuildingImg> imgs, String buildingId) {
  435. int rows = 0;
  436. for (TaBuildingImg img: imgs){
  437. TaBuildingImg Images = new TaBuildingImg();
  438. Images.setBuildingId(buildingId);
  439. Images.setImgType(img.getImgType());
  440. Images.setUrl(img.getUrl());
  441. Images.setOrderNo(Integer.valueOf(img.getOrderNo()));
  442. Images.setStatus(1);
  443. Images.setCreateDate(LocalDateTime.now());
  444. rows += taBuildingImgMapper.insert(Images);
  445. }
  446. return rows;
  447. }
  448. int insertTagBatch(List<TaBuildingTag> tags, String buildingId) {
  449. int rows = 0;
  450. for (TaBuildingTag tag:tags){
  451. TaBuildingTag btag = new TaBuildingTag();
  452. btag.setBuildingId(buildingId);
  453. btag.setTagName(tag.getTagName());
  454. rows += taBuildingTagMapper.insert(btag);
  455. }
  456. return rows;
  457. }
  458. int insertApartmentImgBatch(List<TaBuildingImg> imgs, String buildingId, String apartmentId) {
  459. int rows = 0;
  460. for (TaBuildingImg img: imgs){
  461. TaBuildingImg Images = new TaBuildingImg();
  462. Images.setBuildingId(buildingId);
  463. Images.setImgType(img.getImgType());
  464. Images.setUrl(img.getUrl());
  465. Images.setOrderNo(Integer.valueOf(img.getOrderNo()));
  466. Images.setStatus(1);
  467. Images.setCreateDate(LocalDateTime.now());
  468. if (taBuildingImgMapper.insert(Images) < 1) {
  469. continue;
  470. };
  471. TaApartmentImg apartmentImg= new TaApartmentImg();
  472. apartmentImg.setApartmentId(apartmentId);
  473. apartmentImg.setImgId(Images.getImgId());
  474. apartmentImg.setStatus(1);
  475. rows += taApartmentImgMapper.insert(apartmentImg);
  476. }
  477. return rows;
  478. }
  479. }