liujie
2025-08-04 8676df39922d6c336add4f94bc728591e05a0fc5
ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java
@@ -8,29 +8,23 @@
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.beetl.ShiroExtUtil;
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.log.LogObjectHolder;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.core.util.SinataUtil;
import com.stylefeng.guns.modular.system.model.TOpenCityBusiness;
import com.stylefeng.guns.modular.system.model.TRegion;
import com.stylefeng.guns.modular.system.service.ITOpenCityBusinessService;
import com.stylefeng.guns.modular.system.service.ITRegionService;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.GaoDeMapUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.beans.factory.annotation.Autowired;
import com.stylefeng.guns.core.log.LogObjectHolder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.stylefeng.guns.modular.system.model.TOpenCity;
import com.stylefeng.guns.modular.system.service.ITOpenCityService;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
/**
 * 城市管理控制器
@@ -41,18 +35,56 @@
@Controller
@RequestMapping("/tOpenCity")
public class TOpenCityController extends BaseController {
    private String PREFIX = "/system/tOpenCity/";
    @Autowired
    private ITOpenCityService tOpenCityService;
    @Autowired
    private ITRegionService tRegionService;
    @Autowired
    private ITOpenCityBusinessService tOpenCityBusinessService;
    @Autowired
    private ShiroExtUtil shiroExtUtil;
    @Autowired
    private ITSysReformistService tSysReformistService;
    @Autowired
    private ITSysIntegralService tSysIntegralService;
    @Autowired
    private ITSysFaceDistinguishService tSysFaceDistinguishService;
    @Autowired
    private ITSysPushOrderService tSysPushOrderService;
    @Autowired
    private ITSysCancleOrderService tSysCancleOrderService;
    @Autowired
    private ITPhoneService tPhoneService;
    @Autowired
    private ITCompanyService companyService;
    @Autowired
    private ISpellOrderRuleService spellOrderRuleService;
    @Autowired
    private IShowModularService showModularService;
    @Autowired
    private ITSysTimeoutMoneyService timeoutMoneyService;
    @Autowired
    private ITSysWithdrawalPoundageService sysWithdrawalPoundageService;
    @Autowired
    private ITDriverPayDaysService driverPayDaysService;
    /**
     * 跳转到城市管理首页
     */
@@ -60,7 +92,7 @@
    public String index() {
        return PREFIX + "tOpenCity.html";
    }
    /**
     * 跳转到添加城市管理
     */
@@ -94,6 +126,135 @@
        model.addAttribute("businessList",businessList);
        return PREFIX + "tOpenCity_edit.html";
    }
    /**
     * 跳转到基础配置
     * @param tOpenCityId
     * @param model
     * @return
     */
    @RequestMapping("/tOpenCity_systemSet/{tOpenCityId}")
    public String tOpenCity_systemSet(@PathVariable Integer tOpenCityId, Model model){
        model.addAttribute("openCityId", tOpenCityId);//改派设置
        TSysReformist reformist = tSysReformistService.selectOne(new EntityWrapper<TSysReformist>().eq("openCityId", tOpenCityId));
        model.addAttribute("reformist",reformist);
        //积分设置
        TSysIntegral integral = tSysIntegralService.selectOne(new EntityWrapper<TSysIntegral>().eq("openCityId", tOpenCityId));
        model.addAttribute("integral",integral);
        //人脸识别
        TSysFaceDistinguish faceDistinguish = tSysFaceDistinguishService.selectOne(new EntityWrapper<TSysFaceDistinguish>().eq("openCityId", tOpenCityId));
        model.addAttribute("faceDistinguish",faceDistinguish);
        //快车推单(第一轮)
        TSysPushOrder zcOne = tSysPushOrderService.selectOne(new EntityWrapper<TSysPushOrder>().eq("openCityId", tOpenCityId).eq("pushType", 1).eq("type", 1));
        model.addAttribute("zcOne",zcOne);
        //快车推单(第二轮)
        TSysPushOrder zcTwo = tSysPushOrderService.selectOne(new EntityWrapper<TSysPushOrder>().eq("openCityId", tOpenCityId).eq("pushType", 1).eq("type", 2));
        model.addAttribute("zcTwo",zcTwo);
        //快车推单(第三轮)
        TSysPushOrder zcThree = tSysPushOrderService.selectOne(new EntityWrapper<TSysPushOrder>().eq("openCityId", tOpenCityId).eq("pushType", 1).eq("type", 3));
        model.addAttribute("zcThree",zcThree);
        //出租车推单(第一轮)
        TSysPushOrder czcOne = tSysPushOrderService.selectOne(new EntityWrapper<TSysPushOrder>().eq("openCityId", tOpenCityId).eq("pushType", 2).eq("type", 1));
        model.addAttribute("czcOne",czcOne);
        //出租车推单(第二轮)
        TSysPushOrder czcTwo = tSysPushOrderService.selectOne(new EntityWrapper<TSysPushOrder>().eq("openCityId", tOpenCityId).eq("pushType", 2).eq("type", 2));
        model.addAttribute("czcTwo",czcTwo);
        //出租车推单(第三轮)
        TSysPushOrder czcThree = tSysPushOrderService.selectOne(new EntityWrapper<TSysPushOrder>().eq("openCityId", tOpenCityId).eq("pushType", 2).eq("type", 3));
        model.addAttribute("czcThree",czcThree);
        //普通取消设置(快车)
        TSysCancleOrder ptCancel1 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("openCityId", tOpenCityId).eq("type", 1).eq("orderType", 1));
        model.addAttribute("ptCancel1",ptCancel1);
        //普通取消设置(出租车)
        TSysCancleOrder ptCancel2 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("openCityId", tOpenCityId).eq("type", 1).eq("orderType", 2));
        model.addAttribute("ptCancel2",ptCancel2);
        //普通取消设置(跨城出行)
        TSysCancleOrder ptCancel3 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("openCityId", tOpenCityId).eq("type", 1).eq("orderType", 3));
        model.addAttribute("ptCancel3",ptCancel3);
        //预约取消设置(快车)
        TSysCancleOrder yyCancel1 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("openCityId", tOpenCityId).eq("type", 2).eq("orderType", 1));
        model.addAttribute("yyCancel1",yyCancel1);
        //预约取消设置(出租车)
        TSysCancleOrder yyCancel2 = tSysCancleOrderService.selectOne(new EntityWrapper<TSysCancleOrder>().eq("openCityId", tOpenCityId).eq("type", 2).eq("orderType", 2));
        model.addAttribute("yyCancel2",yyCancel2);
        //拼车设置
        SpellOrderRule spellOrderRule = spellOrderRuleService.selectOne(new EntityWrapper<SpellOrderRule>().eq("openCityId", tOpenCityId));
        model.addAttribute("spellOrderRule", null == spellOrderRule ? "" : JSONObject.parseObject(spellOrderRule.getContent()));
        //报警电话
        TPhone phone1 = tPhoneService.selectOne(new EntityWrapper<TPhone>().eq("openCityId", tOpenCityId).eq("type", 1));
        model.addAttribute("phone1",phone1);
        //客服电话
        TPhone phone2 = tPhoneService.selectOne(new EntityWrapper<TPhone>().eq("openCityId", tOpenCityId).eq("type", 2));
        model.addAttribute("phone2",phone2);
        //客服电话
        TPhone phone3 = tPhoneService.selectOne(new EntityWrapper<TPhone>().eq("openCityId", tOpenCityId).eq("type", 3));
        model.addAttribute("phone3",phone3);
        //95128电召电话
        TPhone phone4 = tPhoneService.selectOne(new EntityWrapper<TPhone>().eq("openCityId", tOpenCityId).eq("type", 4));
        model.addAttribute("phone4",phone4);
        //招聘电话
        TPhone phone5 = tPhoneService.selectOne(new EntityWrapper<TPhone>().eq("openCityId", tOpenCityId).eq("type", 5));
        model.addAttribute("phone5",phone5);
        //节假日服务费
        BigDecimal holidayFee = companyService.selectById(shiroExtUtil.getUser().getObjectId()).getHolidayFee();
        model.addAttribute("holidayFee",holidayFee);
        //超时扣款
        TSysTimeoutMoney tSysTimeoutMoney = timeoutMoneyService.selectOne(new EntityWrapper<TSysTimeoutMoney>().eq("openCityId", tOpenCityId));
        model.addAttribute("tSysTimeoutMoney",tSysTimeoutMoney);
        //提现手续费
        TSysWithdrawalPoundage tSysWithdrawalPoundage = sysWithdrawalPoundageService.selectOne(null);
        model.addAttribute("tSysWithdrawalPoundage",tSysWithdrawalPoundage);
        //模块管理
        List<ShowModular> showModulars = showModularService.selectList(new EntityWrapper<ShowModular>().eq("openCityId", tOpenCityId));
        Map<String, Integer> map = new HashMap<>();
        for (ShowModular showModular : showModulars) {
            switch (showModular.getType()){
                case 1:
                    map.put("sjzp1", showModular.getUserShow());
                    map.put("sjzp2", showModular.getDriverShow());
                    break;
                case 2:
                    map.put("zuc1", showModular.getUserShow());
                    map.put("zuc2", showModular.getDriverShow());
                    break;
                case 3:
                    map.put("mc1", showModular.getUserShow());
                    map.put("mc2", showModular.getDriverShow());
                    break;
                case 4:
                    map.put("czgrcl1", showModular.getUserShow());
                    map.put("czgrcl2", showModular.getDriverShow());
                    break;
                case 5:
                    map.put("mac1", showModular.getUserShow());
                    map.put("mac2", showModular.getDriverShow());
                    break;
                case 6:
                    map.put("sjzx1", showModular.getUserShow());
                    map.put("sjzx2", showModular.getDriverShow());
                    break;
                case 7:
                    map.put("dck1", showModular.getUserShow());
                    map.put("dck2", showModular.getDriverShow());
                    break;
            }
        }
        model.addAttribute("showModulars", map);
        TDriverPayDays tDriverPayDays = driverPayDaysService.selectOne(null);
        if(tDriverPayDays!=null){
            model.addAttribute("driverDay", tDriverPayDays.getDay());
        }else {
            model.addAttribute("driverDay", "");
        }
        return PREFIX + "tSysReformist.html";
    }
    @RequestMapping(value = "/change")
    @ResponseBody
@@ -150,8 +311,8 @@
        if (SinataUtil.isNotEmpty(tOpenCity.getCityName())){
            address+=tOpenCity.getCityName();
        }
        if (SinataUtil.isNotEmpty(tOpenCity.getProvinceName())){
            address+=tOpenCity.getProvinceName();
        if (SinataUtil.isNotEmpty(tOpenCity.getProvinceName())) {
            address += tOpenCity.getProvinceName();
        }
        JSONObject positionObj = GaoDeMapUtil.getLngAndLat(address);
        String longitude = positionObj.getString("longitude");
@@ -159,11 +320,11 @@
        tOpenCity.setLon(Double.valueOf(longitude));
        tOpenCity.setLat(Double.valueOf(latitude));
        tOpenCity.setInsertTime(new Date());
        tOpenCity.setInsertUser(ShiroExtUtil.getUser().getId());
        tOpenCity.setInsertUser(shiroExtUtil.getUser().getId());
        tOpenCityService.insert(tOpenCity);
        //添加经营业务
        testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId());
        testJSONStrToJSONArray(businessTypeStr, tOpenCity.getId());
        return SUCCESS_TIP;
    }
@@ -173,14 +334,14 @@
        for (int i = 0; i < size; i++){
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            TOpenCityBusiness business = new TOpenCityBusiness();
            if (SinataUtil.isNotEmpty(jsonObject.getInteger("busId")) && jsonObject.getInteger("busId") != 0){
            if (SinataUtil.isNotEmpty(jsonObject.getInteger("busId")) && jsonObject.getInteger("busId") != 0) {
                business = tOpenCityBusinessService.selectById(jsonObject.getInteger("busId"));
                business.setUpdateTime(new Date());
                business.setUpdateUser(ShiroExtUtil.getUser().getId());
                business.setUpdateUser(shiroExtUtil.getUser().getId());
                business.setFlag("2");
            }else{
            }else {
                business.setInsertTime(DateUtil.parse(jsonObject.getString("time") + " 00:00:00", "yyyy-MM-dd HH:mm:ss"));
                business.setInsertUser(ShiroExtUtil.getUser().getId());
                business.setInsertUser(shiroExtUtil.getUser().getId());
            }
            business.setOpenCityId(tOpenCityId);
            String type = jsonObject.getString("type");
@@ -197,6 +358,10 @@
                businessType = 4;
            }else if ("包车".equals(type)){
                businessType = 6;
            }else if ("顺风车".equals(type)){
                businessType = 8;
            }else if ("代驾".equals(type)){
                businessType = 9;
            }else{
                businessType = 7;
            }
@@ -262,10 +427,10 @@
        //获取经纬度
        String address = tOpenCity.getAreaName();
        if (SinataUtil.isNotEmpty(tOpenCity.getCityName())){
            address+=tOpenCity.getCityName();
            address += tOpenCity.getCityName();
        }
        if (SinataUtil.isNotEmpty(tOpenCity.getProvinceName())){
            address+=tOpenCity.getProvinceName();
        if (SinataUtil.isNotEmpty(tOpenCity.getProvinceName())) {
            address += tOpenCity.getProvinceName();
        }
        JSONObject positionObj = GaoDeMapUtil.getLngAndLat(address);
        String longitude = positionObj.getString("longitude");
@@ -273,15 +438,15 @@
        tOpenCity.setLon(Double.valueOf(longitude));
        tOpenCity.setLat(Double.valueOf(latitude));
        tOpenCity.setUpdateTime(new Date());
        tOpenCity.setUpdateUser(ShiroExtUtil.getUser().getId());
        tOpenCity.setUpdateUser(shiroExtUtil.getUser().getId());
        tOpenCityService.updateById(tOpenCity);
        //删除经营业务
        TOpenCityBusiness business = new TOpenCityBusiness();
        business.setFlag("3");
        tOpenCityBusinessService.update(business,new EntityWrapper<TOpenCityBusiness>().eq("openCityId",tOpenCity.getId()));
        tOpenCityBusinessService.update(business, new EntityWrapper<TOpenCityBusiness>().eq("openCityId", tOpenCity.getId()));
        //添加经营业务
        testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId());
        testJSONStrToJSONArray(businessTypeStr, tOpenCity.getId());
        return SUCCESS_TIP;
    }