luodangjia
2024-12-10 ee7ce5d1cbf80bee0a15c1e5bc5eaa30858d812b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.hollywood.applet.service.impl;
 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hollywood.applet.dto.CompanyDistanceDto;
import com.hollywood.applet.mapper.TCompanyMapper;
import com.hollywood.applet.query.TCompanyQuery;
import com.hollywood.applet.service.TCompanyService;
import com.hollywood.applet.utils.AmapGeocoding;
import com.hollywood.common.basic.PageInfo;
import com.hollywood.common.model.TCompany;
 
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * <p>
 * 企业管理 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2024-04-23
 */
@Service
public class TCompanyServiceImpl extends ServiceImpl<TCompanyMapper, TCompany> implements TCompanyService {
 
    @Override
    public PageInfo<CompanyDistanceDto> pageList(TCompanyQuery query) {
        PageInfo<CompanyDistanceDto> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        String recommand = "";
        if (query.getLat()!=null&&query.getLat()!=""){
            try {
                String cityCode = AmapGeocoding.getCityCode(Double.parseDouble(query.getLat()), Double.parseDouble(query.getLon()));
//                String cityName = AmapGeocoding.getCityName(Double.parseDouble(query.getLat()), Double.parseDouble(query.getLon()));
//                System.err.println(cityName);
                recommand=replaceLastTwoWithZero(cityCode);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        List<CompanyDistanceDto> list = this.baseMapper.pageList(query,pageInfo,recommand);
        pageInfo.setRecords(list);
        return pageInfo;
    }
 
    @Override
    public int upAndDown(Long id, Integer status) {
        TCompany company = this.baseMapper.selectById(id);
        company.setStatus(status);
        return this.baseMapper.updateById(company);
    }
    public static String replaceLastTwoWithZero(String code) {
        // 检查字符串长度是否为6,如果不是6位,返回错误信息或默认值
        if (code == null || code.length() != 6) {
            throw new IllegalArgumentException("Invalid code length. Expected 6 digits, got: " + code);
        }
 
        // 替换最后两位为'00'
        return code.substring(0, 4) + "00";
    }
 
 
}