| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | 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.*; |
| | | |
| | | /** |
| | | * 城市管理控制器 |
| | |
| | | @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; |
| | | |
| | | /** |
| | | * 跳转到城市管理首页 |
| | | */ |
| | |
| | | public String index() { |
| | | return PREFIX + "tOpenCity.html"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到添加城市管理 |
| | | */ |
| | |
| | | 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 |
| | |
| | | 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"); |
| | |
| | | tOpenCity.setLon(Double.valueOf(longitude)); |
| | | tOpenCity.setLat(Double.valueOf(latitude)); |
| | | tOpenCity.setInsertTime(new Date()); |
| | | tOpenCity.setInsertUser(ShiroKit.getUser().getId()); |
| | | tOpenCity.setInsertUser(shiroExtUtil.getUser().getId()); |
| | | tOpenCityService.insert(tOpenCity); |
| | | |
| | | |
| | | //添加经营业务 |
| | | testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId()); |
| | | testJSONStrToJSONArray(businessTypeStr, tOpenCity.getId()); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | 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(ShiroKit.getUser().getId()); |
| | | business.setUpdateUser(shiroExtUtil.getUser().getId()); |
| | | business.setFlag("2"); |
| | | }else{ |
| | | business.setInsertTime(DateUtil.parse(jsonObject.getString("time")+" 00:00:00","yyyy-MM-dd HH:mm:ss")); |
| | | business.setInsertUser(ShiroKit.getUser().getId()); |
| | | }else { |
| | | business.setInsertTime(DateUtil.parse(jsonObject.getString("time") + " 00:00:00", "yyyy-MM-dd HH:mm:ss")); |
| | | business.setInsertUser(shiroExtUtil.getUser().getId()); |
| | | } |
| | | business.setOpenCityId(tOpenCityId); |
| | | String type = jsonObject.getString("type"); |
| | |
| | | businessType = 4; |
| | | }else if ("包车".equals(type)){ |
| | | businessType = 6; |
| | | }else if ("顺风车".equals(type)){ |
| | | businessType = 8; |
| | | }else if ("代驾".equals(type)){ |
| | | businessType = 9; |
| | | }else{ |
| | | businessType = 7; |
| | | } |
| | |
| | | //获取经纬度 |
| | | 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"); |
| | |
| | | tOpenCity.setLon(Double.valueOf(longitude)); |
| | | tOpenCity.setLat(Double.valueOf(latitude)); |
| | | tOpenCity.setUpdateTime(new Date()); |
| | | tOpenCity.setUpdateUser(ShiroKit.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; |
| | | } |
| | | |