| | |
| | | package com.stylefeng.guns.modular.api; |
| | | |
| | | import com.stylefeng.guns.modular.system.service.IAppUserService; |
| | | import com.alibaba.druid.sql.visitor.functions.If; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.service.impl.FeedBackServiceImpl; |
| | | import com.stylefeng.guns.modular.system.service.impl.HouseTypeServiceImpl; |
| | | import com.stylefeng.guns.modular.system.util.HttpUtils; |
| | | import com.stylefeng.guns.modular.system.util.Page; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import com.stylefeng.guns.modular.system.warpper.req.RegisterAccountReq; |
| | | import com.stylefeng.guns.modular.system.warpper.req.*; |
| | | import com.stylefeng.guns.modular.system.warpper.res.AppletLoginRes; |
| | | import com.stylefeng.guns.modular.system.warpper.res.CollectRes; |
| | | import com.stylefeng.guns.modular.system.warpper.res.SearchIntermediaryRes; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author zhibing.pu |
| | |
| | | |
| | | @Autowired |
| | | private IAppUserService appUserService; |
| | | |
| | | |
| | | @Autowired |
| | | private IFeedBackService feedBackService; |
| | | @Autowired |
| | | private IHouseResourceService houseResourceService; |
| | | @Autowired |
| | | private IHousingDemandService housingDemandService; |
| | | @Autowired |
| | | private IHouseTypeService houseTypeService; |
| | | @Autowired |
| | | private IRegionService regionService; |
| | | @Autowired |
| | | private IBannerService bannerService; |
| | | @Autowired |
| | | private IReportHouseResourceService reportHouseResource; |
| | | @ResponseBody |
| | | @GetMapping("/base/appUser/agreement") |
| | | @ApiOperation(value = "协议", tags = {"协议"}) |
| | | public ResultUtil agreement(Integer type){ |
| | | Banner banners = bannerService.selectOne(new EntityWrapper<Banner>().eq("position",type)); |
| | | return ResultUtil.success(banners); |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/appletLogin") |
| | | @ApiOperation(value = "微信小程序登录", tags = {"登录注册"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "jscode", value = "微信jscode", required = true) |
| | | }) |
| | | public ResultUtil<AppletLoginRes> appletLogin(String jscode){ |
| | | return appUserService.appletLogin(jscode); |
| | | @ApiImplicitParam(name = "jscode", value = "微信jscode", required = true)}) |
| | | public ResultUtil<AppletLoginRes> appletLogin(String jscode,String encryptedPhoneData,String phoneIv){ |
| | | RegisterAccountReq req = new RegisterAccountReq(); |
| | | req.setJscode(jscode); |
| | | req.setEncryptedPhoneData(encryptedPhoneData); |
| | | req.setPhone_iv(phoneIv); |
| | | return appUserService.appletLogin(req); |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/registerAccount") |
| | | @ApiOperation(value = "小程序注册账户", tags = {"登录注册"}) |
| | | public ResultUtil<AppletLoginRes> registerAccount(RegisterAccountReq req){ |
| | | public ResultUtil<AppletLoginRes> registerAccount(@RequestBody RegisterAccountReq req){ |
| | | return appUserService.registerAccount(req); |
| | | } |
| | | |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/userInfo") |
| | | @ApiOperation(value = "个人中心", tags = {"个人中心"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header") |
| | | }) |
| | | public ResultUtil<AppUser> userInfo(){ |
| | | return appUserService.userInfo(); |
| | | } |
| | | |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/release") |
| | | @ApiOperation(value = "发布", tags = {"个人中心"}) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header") |
| | | }) |
| | | public ResultUtil<CollectRes> release(UserInfoQuery query){ |
| | | return appUserService.collect(query); |
| | | } |
| | | |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/collect") |
| | | @ApiOperation(value = "收藏", tags = {"个人中心"}) |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", required = true, paramType = "header") |
| | | public ResultUtil<CollectRes> collect(@RequestBody UserInfoQuery query){ |
| | | return appUserService.release(query); |
| | | } |
| | | |
| | | |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @GetMapping("/base/appUser/edit/{id}/{data}") |
| | | @ApiOperation(value = "编辑发布的房源", tags = {"个人中心"}) |
| | | public ResultUtil<Object> edit(@PathVariable("id") Integer id,@PathVariable("data")Integer type){ |
| | | // type=1 求房源 |
| | | if (type == 1){ |
| | | HousingDemand housingDemand = housingDemandService.selectById(id); |
| | | if (StringUtils.hasLength(housingDemand.getDistrict())){ |
| | | JSONArray jsonArray = JSON.parseArray(housingDemand.getDistrict()); |
| | | housingDemand.setDistrict(jsonArray.toString()); |
| | | } |
| | | if (housingDemand.getHouseTypeId()!=null && (!housingDemand.getHouseTypeId().equals("0"))){ |
| | | HouseType houseType = houseTypeService.selectById(housingDemand.getHouseTypeId()); |
| | | if (houseType!=null){ |
| | | housingDemand.setHouseTypeName(houseType.getName()); |
| | | } |
| | | } |
| | | if (housingDemand.getHouseTypeId()!=null && housingDemand.getHouseTypeId().equals("0")){ |
| | | housingDemand.setHouseTypeName("不限"); |
| | | } |
| | | housingDemand.setUpdateTime(new Date()); |
| | | // 查询求房源选择的区域 |
| | | return ResultUtil.success(housingDemand); |
| | | }else{ |
| | | HouseResource houseResource = houseResourceService.selectById(id); |
| | | if (houseResource.getHouseTypeId()!=null){ |
| | | HouseType houseType = houseTypeService.selectById(houseResource.getHouseTypeId()); |
| | | if (houseType!=null)houseResource.setHouseTypeName(houseType.getName()); |
| | | } |
| | | if (houseResource.getCityId()!=null){ |
| | | Region region = regionService.selectById(houseResource.getCityId()); |
| | | if (region!=null)houseResource.setCityName(region.getName()); |
| | | } |
| | | if (houseResource.getDistrictId()!=null && houseResource.getDistrictId()==0){ |
| | | houseResource.setDistrictName("不限"); |
| | | }else{ |
| | | Region region = regionService.selectById(houseResource.getDistrictId()); |
| | | if (region!=null)houseResource.setDistrictName(region.getName()); |
| | | } |
| | | houseResource.setUpdateTime(new Date()); |
| | | return ResultUtil.success(houseResource); |
| | | } |
| | | } |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/auth/{id}") |
| | | @ApiOperation(value = "中介认证", tags = {"个人中心"}) |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", |
| | | required = true, paramType = "header") |
| | | public ResultUtil auth(@RequestBody AuthDTO dto){ |
| | | AppUser appUser = appUserService.getAppUser(); |
| | | if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){ |
| | | return ResultUtil.errorLogin("当前账号已被冻结或删除"); |
| | | } |
| | | appUser.setAgentLicenceCode(dto.getAgentLicenceCode()); |
| | | appUser.setCompanyName(dto.getCompanyName()); |
| | | appUser.setCompanyAddress(dto.getCompanyAddress()); |
| | | appUser.setBusinessCardPhoto(dto.getBusinessCardPhoto()); |
| | | appUser.setCityId(dto.getCityId()); |
| | | appUser.setDistrictId(dto.getDistrictId()); |
| | | appUser.setAuth(1); |
| | | appUserService.updateById(appUser); |
| | | return ResultUtil.success(); |
| | | } |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/authInfo") |
| | | @ApiOperation(value = "中介认证信息", tags = {"个人中心"}) |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", |
| | | required = true, paramType = "header") |
| | | public ResultUtil authInfo(){ |
| | | AppUser appUser = appUserService.getAppUser(); |
| | | AppUserDTO appUserDTO = new AppUserDTO(); |
| | | BeanUtils.copyProperties(appUser,appUserDTO); |
| | | if (appUser.getCityId()!=null){ |
| | | Region region = regionService.selectById(appUser.getCityId()); |
| | | appUserDTO.setCityName(region.getName()); |
| | | } |
| | | if (appUser.getDistrictId()!=null){ |
| | | Region region = regionService.selectById(appUser.getDistrictId()); |
| | | appUserDTO.setDistrictName(region.getName()); |
| | | } |
| | | if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){ |
| | | return ResultUtil.errorLogin("当前账号已被冻结或删除"); |
| | | } |
| | | return ResultUtil.success(appUserDTO); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | *地图查询 |
| | | */ |
| | | @ResponseBody |
| | | @ApiOperation(value = "地图查询", tags = {"个人中心"}) |
| | | @GetMapping("/base/appUser/queryMap") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "位置", required = true) |
| | | }) |
| | | public ResultUtil queryMap(String name) |
| | | { |
| | | String url ="https://apis.map.qq.com/ws/geocoder/v1/?address="+name+"&key=AAIBZ-NO7AQ-RKQ5G-2YSBL-3MEJH-VTFH4"; |
| | | String result = HttpUtils.sendGet(url); |
| | | JSONArray data = JSONObject.parseObject(result).getJSONArray("data"); |
| | | return ResultUtil.success(data); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | String url ="https://apis.map.qq.com/ws/place/v1/suggestion/?keyword="+"四川省成都市青羊区大墙西街72号"+"&key=AAIBZ-NO7AQ-RKQ5G-2YSBL-3MEJH-VTFH4"; |
| | | String result = HttpUtils.sendGet(url); |
| | | System.err.println(result); |
| | | JSONArray data = JSONObject.parseObject(result).getJSONArray("data"); |
| | | System.err.println("返回结果:"+data); |
| | | } |
| | | // // todo 放行 |
| | | // @ResponseBody |
| | | // @GetMapping("/base/appUser/editSubmit") |
| | | // @ApiOperation(value = "编辑提交", tags = {"个人中心"}) |
| | | // @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", |
| | | // required = true, paramType = "header") |
| | | // public ResultUtil editSubmit(@RequestBody AddHouseReq req){ |
| | | // HouseResource houseResource = new HouseResource(); |
| | | // BeanUtils.copyProperties(req,houseResource); |
| | | // houseResource.setInsertTime(new Date()); |
| | | // houseResource.setAuthStatus(1); |
| | | // houseResource.setIsDelete(0); |
| | | // houseResource.setUpdateUserId(appUserService.getAppUser().getId()); |
| | | // houseResource.setUpdateTime(new Date()); |
| | | // houseResource.setStatus(0); |
| | | // houseResource.setLeaseTime(req.getTime()); |
| | | // houseResource.setFirmHouse(req.getFirmHouse()); |
| | | // if (req.getTime().contains("年")){ |
| | | // houseResource.setRentalDuration(2); |
| | | // }else{ |
| | | // houseResource.setRentalDuration(1); |
| | | // } |
| | | // return ResultUtil.success(); |
| | | // } |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/operate") |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", |
| | | required = true, paramType = "header") |
| | | @ApiOperation(value = "发布-删除/下架/顶上去/上架", tags = {"个人中心"}) |
| | | public ResultUtil delete(@RequestBody UserInfoDTO dto){ |
| | | AppUser appUser = appUserService.getAppUser(); |
| | | if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){ |
| | | return ResultUtil.errorLogin("当前账号已被冻结或删除"); |
| | | } |
| | | Integer id = appUser.getId(); |
| | | if (dto.getData() == 2){ |
| | | switch (dto.getType()){ |
| | | case 1: |
| | | HouseResource houseResource = houseResourceService.selectById(dto.getId()); |
| | | houseResource.setIsDelete(1); |
| | | houseResourceService.updateById(houseResource); |
| | | break; |
| | | case 2: |
| | | HouseResource houseResource1 = houseResourceService.selectById(dto.getId()); |
| | | houseResource1.setStatus(0); |
| | | houseResourceService.updateById(houseResource1); |
| | | break; |
| | | case 3: |
| | | HouseResource houseResource2 = houseResourceService.selectById(dto.getId()); |
| | | houseResource2.setInsertTime(new Date()); |
| | | houseResource2.setUpTime(new Date()); |
| | | houseResourceService.updateById(houseResource2); |
| | | break; |
| | | case 4: |
| | | // 判断当前房源是否有被举报的记录 |
| | | int size = reportHouseResource.selectList(new EntityWrapper<ReportHouseResource>() |
| | | .eq("house_resource_id", dto.getId()) |
| | | .eq("audit", 0)).size(); |
| | | if (size>0)return ResultUtil.errorAdd("当前房源被举报,暂时不能上架"); |
| | | HouseResource houseResource3 = houseResourceService.selectById(dto.getId()); |
| | | houseResource3.setStatus(1); |
| | | houseResource3.setAuthStatus(2); |
| | | houseResourceService.updateById(houseResource3); |
| | | break; |
| | | } |
| | | }else{ |
| | | switch (dto.getType()){ |
| | | case 1: |
| | | HousingDemand houseResource = housingDemandService.selectById(dto.getId()); |
| | | houseResource.setIsDelete(1); |
| | | housingDemandService.updateById(houseResource); |
| | | break; |
| | | case 2: |
| | | HousingDemand houseResource1 = housingDemandService.selectById(dto.getId()); |
| | | houseResource1.setStatus(0); |
| | | housingDemandService.updateById(houseResource1); |
| | | break; |
| | | case 3: |
| | | HousingDemand houseResource2 = housingDemandService.selectById(dto.getId()); |
| | | houseResource2.setInsertTime(new Date()); |
| | | houseResource2.setUpTime(new Date()); |
| | | housingDemandService.updateById(houseResource2); |
| | | break; |
| | | case 4: |
| | | HousingDemand houseResource3 = housingDemandService.selectById(dto.getId()); |
| | | houseResource3.setStatus(1); |
| | | housingDemandService.updateById(houseResource3); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/feedback") |
| | | @ApiOperation(value = "意见反馈", tags = {"个人中心"}) |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", |
| | | required = true, paramType = "header") |
| | | public ResultUtil feedback(@RequestBody FeedBack feedBack){ |
| | | AppUser appUser = appUserService.getAppUser(); |
| | | if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){ |
| | | return ResultUtil.errorLogin("当前账号已被冻结或删除"); |
| | | } |
| | | feedBack.setAppUserId(appUserService.getAppUser().getId()); |
| | | feedBack.setInsertTime(new Date()); |
| | | feedBackService.insert(feedBack); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | // todo 放行 |
| | | @ResponseBody |
| | | @PostMapping("/base/appUser/update") |
| | | @ApiOperation(value = "个人资料修改", tags = {"个人中心"}) |
| | | @ApiImplicitParam(name = "Authorization", value = "Bearer eyJhbGciOiJIUzUxMiJ....", |
| | | required = true, paramType = "header") |
| | | public ResultUtil update(@RequestBody UpdateAppUser user){ |
| | | AppUser appUser = appUserService.getAppUser(); |
| | | if(null != appUser && (appUser.getStatus() == 2|| appUser.getStatus() == 3)){ |
| | | return ResultUtil.errorLogin("当前账号已被冻结或删除"); |
| | | } |
| | | if (StringUtils.hasLength(user.getProfilePhoto())){ |
| | | appUser.setProfilePhoto(user.getProfilePhoto()); |
| | | } |
| | | if (StringUtils.hasLength(user.getNickname())){ |
| | | appUser.setNickname(user.getNickname()); |
| | | } |
| | | appUserService.updateById(appUser); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | } |