forked from gzzfw/backEnd/gz-dyh

liyj
2024-09-23 ca53d255cec99c13e371ca33928fdb4c833852f2
1、小程序反应诉求临时区域检测接口
1 files added
1 files modified
78 ■■■■■ changed files
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java 70 ●●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java 8 ●●●● patch | view | raw | blame | history
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/controller/wechat/SyregionWechatController.java
New file
@@ -0,0 +1,70 @@
package cn.huge.module.kind.controller.wechat;
import cn.huge.base.common.constant.GzAreaEnum;
import cn.huge.base.common.utils.ObjectUtils;
import cn.huge.base.common.utils.ReturnFailUtils;
import cn.huge.base.common.utils.ReturnSucUtils;
import cn.huge.module.kind.domain.po.SyRegion;
import cn.huge.module.kind.service.SyRegionService;
import cn.huge.module.sys.dto.QueAddrBaseDTO;
import cn.huge.module.utils.BaiduMapAddrDTO;
import cn.huge.module.utils.BaiduMapUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
 * @title: 地域表接口api-小程序端
 * @description: 地域表接口api-小程序端
 * @company: hugeinfo
 * @author: wangwh
 * @time: 2024-09-04 16:48:57
 * @version: 1.0.0
 */
@Slf4j
@RestController
@RequestMapping("/api/wechat/syRegion")
public class SyregionWechatController {
    @Autowired(required = false)
    private HttpServletRequest request;
    @Autowired
    private SyRegionService service;
    /**
     * 根据百度地图经纬度获取街道
     * @url {ctx}/api/wechat/syRegion/checkRegisterArea
     * @param lng 经度
     * @param lat 维度
     * @return
     */
    @GetMapping("/checkRegisterArea")
    public Object checkRegisterArea(@RequestParam(value = "lng") String lng, @RequestParam(value = "lat") String lat) {
        try {
            BaiduMapAddrDTO baiduMapAddrDTO = BaiduMapUtils.getAddrByLngLat(lng, lat, BaiduMapUtils.coordtype_bd09ll);
            QueryWrapper<SyRegion> syRegionQueryWrapper = new QueryWrapper<>();
            // 查询区
            syRegionQueryWrapper.clear();
            syRegionQueryWrapper.like("name", baiduMapAddrDTO.getDistrict());
            SyRegion district = service.getOne(syRegionQueryWrapper);
            if (ObjectUtils.isNotEmpty(district)) {
                if (GzAreaEnum.GZAREAEnum_7.getIndex().equals(district.getId())) {
                    return ReturnSucUtils.getRepInfo();
                } else {
                    return ReturnSucUtils.getRepInfo(200, "反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", null);
                }
            }else {
                return ReturnSucUtils.getRepInfo(200, "反映诉求服务目前仅支持纠纷发生地为白云区内的申请。", null);
            }
        } catch (Exception e) {
            return ReturnFailUtils.getRepInfo();
        }
    }
}
dyh-service/dyh-sys/src/main/java/cn/huge/module/kind/service/SyRegionService.java
@@ -178,25 +178,25 @@
            if (ObjectUtils.isNotEmpty(baiduMapAddrDTO)) {
                QueryWrapper<SyRegion> syRegionQueryWrapper = new QueryWrapper<>();
                // 查询省
                syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getProvince());
                syRegionQueryWrapper.like("name", baiduMapAddrDTO.getProvince());
                SyRegion province = mapper.selectOne(syRegionQueryWrapper);
                queAddrBaseDTO.setQueProv(province.getId());
                queAddrBaseDTO.setQueProvName(province.getName());
                // 查询市
                syRegionQueryWrapper.clear();
                syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getCity());
                syRegionQueryWrapper.like("name", baiduMapAddrDTO.getCity());
                SyRegion city = mapper.selectOne(syRegionQueryWrapper);
                queAddrBaseDTO.setQueCity(city.getId());
                queAddrBaseDTO.setQueCityName(city.getName());
                // 查询区
                syRegionQueryWrapper.clear();
                syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getDistrict());
                syRegionQueryWrapper.like("name", baiduMapAddrDTO.getDistrict());
                SyRegion district = mapper.selectOne(syRegionQueryWrapper);
                queAddrBaseDTO.setQueArea(district.getId());
                queAddrBaseDTO.setQueAreaName(district.getName());
                // 查询街道
                syRegionQueryWrapper.clear();
                syRegionQueryWrapper.eq("name", baiduMapAddrDTO.getTown());
                syRegionQueryWrapper.like("name", baiduMapAddrDTO.getTown());
                SyRegion town = mapper.selectOne(syRegionQueryWrapper);
                queAddrBaseDTO.setQueRoad(town.getId());
                queAddrBaseDTO.setQueRoadName(town.getName());