Pu Zhibing
1 天以前 28e148e28986a08414a4c690a5e5e7ecdc87f9a7
修改bug
12个文件已修改
1个文件已添加
214 ■■■■■ 已修改文件
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSiteController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/DeptController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DeptMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DeptMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Dept.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDeptService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DeptServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoFencingPolygon.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -334,6 +334,12 @@
    @RequestMapping(value = "/add")
    @ResponseBody
    public Object add(TCompany tCompany,@RequestParam String subArr,String account,String password) {
        String name = tCompany.getName();
        name = name.replaceAll("& lt;", "<");
        name = name.replaceAll("& gt;", ">");
        name = name.replaceAll("& #40;", "(");
        name = name.replaceAll("& #41;", ")");
        tCompany.setName(name);
        //判断账号是否已存在
        int count = userService.selectCount(new EntityWrapper<User>().eq("account", account));
        if (count > 0) {
@@ -524,6 +530,12 @@
    @RequestMapping(value = "/update")
    @ResponseBody
    public Object update(TCompany tCompany,@RequestParam String subArr,String account,String password,Integer userId) {
        String name = tCompany.getName();
        name = name.replaceAll("& lt;", "<");
        name = name.replaceAll("& gt;", ">");
        name = name.replaceAll("& #40;", "(");
        name = name.replaceAll("& #41;", ")");
        tCompany.setName(name);
        User user = userService.selectById(userId);
        if(null != user && ToolUtil.isNotEmpty(password)){
            user.setPassword(ShiroKit.md5(password, user.getSalt()));
@@ -557,6 +569,12 @@
    @RequestMapping(value = "/updateFranchisee")
    @ResponseBody
    public Object updateFranchisee(TCompany tCompany,String account,String password,Integer userId) {
        String name = tCompany.getName();
        name = name.replaceAll("& lt;", "<");
        name = name.replaceAll("& gt;", ">");
        name = name.replaceAll("& #40;", "(");
        name = name.replaceAll("& #41;", ")");
        tCompany.setName(name);
        tCompany.setUpdateTime(new Date());
        tCompany.setVersion(tCompany.getVersion() + 1);
        tCompanyService.updateById(tCompany);
@@ -574,6 +592,12 @@
    @RequestMapping(value = "/addFranchisee")
    @ResponseBody
    public Object addFranchisee(TCompany tCompany,String account,String password) {
        String name = tCompany.getName();
        name = name.replaceAll("& lt;", "<");
        name = name.replaceAll("& gt;", ">");
        name = name.replaceAll("& #40;", "(");
        name = name.replaceAll("& #41;", ")");
        tCompany.setName(name);
        //判断账号是否已存在
        int count = userService.selectCount(new EntityWrapper<User>().eq("account", account));
        if (count > 0) {
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
@@ -692,7 +692,7 @@
            tOrderPrivateCar.setResponsibilityType(responsibilityTypeVal);
            tOrderPrivateCar.setAbnormalStatus(2);
            if(responsibilityTypeVal>3){
                tOrderPrivateCar.setResponsibilityMoney(tOrderPrivateCar.getPayMoney());
                tOrderPrivateCar.setResponsibilityMoney(tOrderPrivateCar.getOrderMoney());
                tOrderPrivateCar.setOrderMoney(new BigDecimal(money));
            }
            if(responsibilityTypeVal>2){
@@ -715,6 +715,7 @@
            if(responsibilityTypeVal<3){
                tOrderPrivateCar.setState(9);
                tOrderPrivateCar.setPayType(5);
            }
            tOrderPrivateCar.setAbnormalRemark(remark);
            tOrderPrivateCarService.updateById(tOrderPrivateCar);
@@ -796,7 +797,7 @@
            tOrderCrossCity.setResponsibilityType(responsibilityTypeVal);
            tOrderCrossCity.setAbnormalStatus(2);
            if(responsibilityTypeVal>3) {
                tOrderCrossCity.setResponsibilityMoney(tOrderCrossCity.getPayMoney());
                tOrderCrossCity.setResponsibilityMoney(tOrderCrossCity.getOrderMoney());
                tOrderCrossCity.setOrderMoney(new BigDecimal(money));
            }
            if(responsibilityTypeVal>2){
@@ -830,7 +831,7 @@
            tOrderTaxi.setResponsibilityType(responsibilityTypeVal);
            tOrderTaxi.setAbnormalStatus(2);
            if(responsibilityTypeVal>3) {
                tOrderTaxi.setResponsibilityMoney(tOrderTaxi.getPayMoney());
                tOrderTaxi.setResponsibilityMoney(tOrderTaxi.getOrderMoney());
                tOrderTaxi.setOrderMoney(new BigDecimal(money));
            }
            if(responsibilityTypeVal>2){
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TSiteController.java
@@ -9,6 +9,7 @@
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.util.IdGenerator;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.modular.system.model.TLocation;
import com.stylefeng.guns.modular.system.model.TRegion;
@@ -18,7 +19,13 @@
import com.stylefeng.guns.modular.system.service.ITSiteService;
import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.util.model.GeoFencingPolygon;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.geo.Point;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.geo.GeoJsonPolygon;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
@@ -57,6 +64,9 @@
    private GDMapElectricFenceUtil gdMapElectricFenceUtil;
    @Autowired
    private ShiroExtUtil shiroExtUtil;
    @Autowired
    private MongoTemplate mongoTemplate;
    
    
    /**
@@ -102,7 +112,7 @@
            List<TRegion> areaList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", city.getId()));
            model.addAttribute("areaList",areaList);
        }else{
            model.addAttribute("areaList",null);
            model.addAttribute("areaList",new ArrayList<>());
        }
        //查询所有的站点区域
@@ -175,37 +185,44 @@
            location.setUpdateTime(new Date());
            Integer type = jsonObject.getInteger("areaType");
            location.setType(type);
            if (1 == type){
                if (SinataUtil.isNotEmpty(jsonObject.getString("provinceCode"))){
            if (1 == type) {
                if (SinataUtil.isNotEmpty(jsonObject.getString("provinceCode"))) {
                    location.setProvince(jsonObject.getString("province"));
                    location.setProvinceCode(jsonObject.getString("provinceCode"));
                }
                if (SinataUtil.isNotEmpty(jsonObject.getString("cityCode"))){
                if (SinataUtil.isNotEmpty(jsonObject.getString("cityCode"))) {
                    location.setCity(jsonObject.getString("city"));
                    location.setCityCode(jsonObject.getString("cityCode"));
                }
                if (SinataUtil.isNotEmpty(jsonObject.getString("districtCode"))){
                if (SinataUtil.isNotEmpty(jsonObject.getString("districtCode"))) {
                    location.setDistrict(jsonObject.getString("district"));
                    location.setDistrictCode(jsonObject.getString("districtCode"));
                }
            }else if (2 == type){
            } else if (2 == type) {
                String coordinate = jsonObject.getString("coordinate");
                coordinate = coordinate.substring(0, coordinate.length() - 1);
                location.setCoordinate(coordinate);
                //将电子围栏坐标信息存储到MongoDB
                String[] s1 = coordinate.split("_");
                for (String s2 : s1) {
                    GeoFencingPolygon gfp = new GeoFencingPolygon();
                    gfp.setId(IdGenerator.getId());
                    gfp.setSiteId(id);
                    gfp.setName(jsonObject.getString("name"));
                    String[] split = s2.split(";");
                    List<Point> points = new ArrayList<>();
                    for (String s : split) {
                        String[] str = s.split(",");
                        Point point = new Point(Double.parseDouble(str[0]), Double.parseDouble(str[1]));
                        points.add(point);
                    }
                    //最后一个点要和第一个点相同
                    points.add(new Point(points.get(0).getX(), points.get(0).getY()));
                    gfp.setGeoJsonPolygon(new GeoJsonPolygon(points));
                    mongoTemplate.save(gfp);
                }
            }
            itLocationService.insert(location);
            if(type == 2){
                List<String> fence = gdMapElectricFenceUtil.createFence(location.getId().toString(), location.getCoordinate());
                TLocation location1 = itLocationService.selectById(location.getId());
                String s = "";
                for(String gid : fence){
                    s += gid + "_";
                }
                location1.setGid(s.substring(0, s.length() - 1));
                location1.setUpdateTime(new Date());
                itLocationService.updateById(location1);
            }
        }
    }
@@ -219,6 +236,10 @@
        TSite tSite = tSiteService.selectById(tSiteId);
        if (1 == optType){
            tSite.setState(3);
            //删除mongoDB的区域信息
            Criteria criteria =Criteria.where("siteId").is(tSite.getId());
            Query query = new Query(criteria);
            mongoTemplate.remove(query,GeoFencingPolygon.class);
        }else if (2 == optType){
            tSite.setState(2);
        }else if (3 == optType){
@@ -259,11 +280,11 @@
            }
        }
        for(TLocation location : del){
            if(location.getType() == 2){
                String[] s = location.getGid().split("_");
                for(String gid : s){
                    gdMapElectricFenceUtil.deleteElectricFenc(gid);
                }
            if (location.getType() == 2) {
                //删除mongoDB的区域信息
                Criteria criteria =Criteria.where("siteId").is(tSite.getId());
                Query query = new Query(criteria);
                mongoTemplate.remove(query,GeoFencingPolygon.class);
            }
            itLocationService.deleteById(location.getId());
        }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/DeptController.java
@@ -1,6 +1,7 @@
package com.stylefeng.guns.modular.system.controller.system;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.common.annotion.BussinessLog;
import com.stylefeng.guns.core.common.constant.dictmap.DeptDict;
import com.stylefeng.guns.core.common.constant.factory.ConstantFactory;
@@ -8,6 +9,7 @@
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.node.ZTreeNode;
import com.stylefeng.guns.core.shiro.ShiroUser;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.model.Dept;
import com.stylefeng.guns.modular.system.service.IDeptService;
@@ -37,6 +39,8 @@
    @Autowired
    private IDeptService deptService;
    @Autowired
    private ShiroExtUtil shiroExtUtil;
    /**
@@ -73,7 +77,8 @@
    @RequestMapping(value = "/tree")
    @ResponseBody
    public List<ZTreeNode> tree() {
        List<ZTreeNode> tree = this.deptService.tree();
        ShiroUser user1 = shiroExtUtil.getUser();
        List<ZTreeNode> tree = this.deptService.tree(user1.getObjectId());
        tree.add(ZTreeNode.createParent());
        return tree;
    }
@@ -85,12 +90,13 @@
    @RequestMapping(value = "/add")
    @ResponseBody
    public Object add(Dept dept) {
        ShiroUser user1 = shiroExtUtil.getUser();
        if (ToolUtil.isOneEmpty(dept, dept.getSimplename())) {
            throw new GunsException(BizExceptionEnum.REQUEST_NULL);
        }
        //完善pids,根据pid拿到pid的pids
        deptSetPids(dept);
        dept.setObjectId(user1.getObjectId());
        return this.deptService.insert(dept);
    }
@@ -101,7 +107,8 @@
    @RequestMapping(value = "/list")
    @ResponseBody
    public Object list(String condition) {
        List<Map<String, Object>> list = this.deptService.list(condition);
        ShiroUser user1 = shiroExtUtil.getUser();
        List<Map<String, Object>> list = this.deptService.list(condition, user1.getObjectId());
        return super.warpObject(new DeptWarpper(list));
    }
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/DeptMapper.java
@@ -22,11 +22,11 @@
    /**
     * 获取ztree的节点列表
     */
    List<ZTreeNode> tree();
    List<ZTreeNode> tree(@Param("objectId") Integer objectId);
    /**
     * 获取所有部门列表
     */
    List<Map<String, Object>> list(@Param("condition") String condition);
    List<Map<String, Object>> list(@Param("condition") String condition, @Param("objectId") Integer objectId);
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DeptMapper.xml
@@ -23,13 +23,13 @@
        ELSE
        'false'
        END
        ) as isOpen from sys_dept
        ) as isOpen from sys_dept where objectId = #{objectId}
    </select>
    <select id="list" resultType="map">
        select * from sys_dept
        select * from sys_dept where objectId = #{objectId}
        <if test="condition != null and condition != ''">
            where simplename like CONCAT('%',#{condition},'%') or fullname like CONCAT('%',#{condition},'%')
            and simplename like CONCAT('%',#{condition},'%') or fullname like CONCAT('%',#{condition},'%')
        </if>
        order by num ASC
    </select>
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml
@@ -68,7 +68,7 @@
        when type = 5 then '小件物流-跨城'
        when type = 6 then '包车'
        else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id
        LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.id = cc.useDriverId) as o
        LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o
        <where>
            o.state = 1
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml
@@ -225,11 +225,13 @@
        when ot.orderSource = 4 then '司机下单'
        when ot.orderSource = 5 then '调度下单' else '' end orderSourceStr,
        ui.nickName as userName,ui.phone as userPhone,
        case when ot.payType = 1 then '微信'
        when ot.payType = 2 then '支付宝'
        when ot.payType = 3 then '余额'
        when ot.payType = 4 then '云闪付'
        else '预备金' end as payTypeStr,
        case when ot.state not in (8, 9) then '' else
        (case when ot.payType = 1 then '微信'
              when ot.payType = 2 then '支付宝'
              when ot.payType = 3 then '余额'
              when ot.payType = 4 then '云闪付'
              when ot.payType = 5 then '预备金'
              else '' end) end as payTypeStr,
        sc.`name` as serverCarModel,
        case when income1.type = 1 then income1.money else 0 end as platIncome,
        case when income1.type = 2 then income1.money else 0 end as companyIncome,
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Dept.java
@@ -53,6 +53,10 @@
     * 版本(乐观锁保留字段)
     */
    private Integer version;
    /**
     * 企业id
     */
    private Integer objectId;
    public Integer getId() {
@@ -119,6 +123,14 @@
        this.version = version;
    }
    public Integer getObjectId() {
        return objectId;
    }
    public void setObjectId(Integer objectId) {
        this.objectId = objectId;
    }
    @Override
    protected Serializable pkVal() {
        return this.id;
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDeptService.java
@@ -24,10 +24,10 @@
    /**
     * 获取ztree的节点列表
     */
    List<ZTreeNode> tree();
    List<ZTreeNode> tree(Integer objectId);
    /**
     * 获取所有部门列表
     */
    List<Map<String, Object>> list(@Param("condition") String condition);
    List<Map<String, Object>> list(@Param("condition") String condition, Integer objectId);
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DeptServiceImpl.java
@@ -38,12 +38,12 @@
    }
    @Override
    public List<ZTreeNode> tree() {
        return this.baseMapper.tree();
    public List<ZTreeNode> tree(Integer objectId) {
        return this.baseMapper.tree(objectId);
    }
    @Override
    public List<Map<String, Object>> list(String condition) {
        return this.baseMapper.list(condition);
    public List<Map<String, Object>> list(String condition, Integer objectId) {
        return this.baseMapper.list(condition, objectId);
    }
}
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/model/GeoFencingPolygon.java
New file
@@ -0,0 +1,36 @@
package com.stylefeng.guns.modular.system.util.model;
import lombok.Data;
import org.springframework.data.mongodb.core.geo.GeoJsonPolygon;
import org.springframework.data.mongodb.core.index.GeoSpatialIndexType;
import org.springframework.data.mongodb.core.index.GeoSpatialIndexed;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
/**
 * 地理围栏-多边形
 * @author zhibing.pu
 * @date 2023/4/29 23:53
 */
@Data
@Document(collection = "geo_fencing")
public class GeoFencingPolygon implements Serializable {
    private static final long serialVersionUID = 4508868382007529971L;
    private String id;
    /**
     * 站点id
     */
    private Integer siteId;
    /**
     * 站点名称
     */
    private String name;
    /**
     * 多边形经纬度
     */
    @GeoSpatialIndexed(type = GeoSpatialIndexType.GEO_2DSPHERE)
    private GeoJsonPolygon geoJsonPolygon;
}
ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver_immediately.html
@@ -108,25 +108,6 @@
                            </div>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-3 control-label">网约车资格证:</label>
                        <div class="col-sm-9">
                            <div class="form-group">
                                <div class="col-sm-6">
                                    <div id="networkCarlssueImgPreId">
                                        <div>
                                            @if(isEmpty(item.networkCarlssueImg)){
                                            <img onclick="lookBigImg('${ctxPath}/static/img/NoPIC.png')" src="${ctxPath}/static/img/NoPIC.png" style="width:150px;">
                                            @}else{
                                            <img onclick="lookBigImg('${item.networkCarlssueImg}')" src="${item.networkCarlssueImg}" style="width:150px;">
                                            @}
                                        </div>
                                    </div>
                                </div>
                                <input type="hidden" id="networkCarlssueImg" name="headImgUrl" value="${item.networkCarlssueImg}"/>
                            </div>
                        </div>
                    </div>
                </div>
            </div>