package com.stylefeng.guns.modular.system.controller.general; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.modular.system.model.TAgent; import com.stylefeng.guns.modular.system.model.TBranchOffice; import com.stylefeng.guns.modular.system.service.ITAgentService; import com.stylefeng.guns.modular.system.service.ITBranchOfficeService; 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.RequestParam; import com.stylefeng.guns.modular.system.model.TSystemConfig; import com.stylefeng.guns.modular.system.service.ITSystemConfigService; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Objects; /** * 控制器 * * @author fengshuonan * @Date 2023-03-02 17:09:55 */ @Controller @RequestMapping("/tSystemConfig") public class TSystemConfigController extends BaseController { private String PREFIX = "/system/tSystemConfig/"; @Autowired private ITSystemConfigService tSystemConfigService; @Autowired private ITAgentService agentService; /** * 跳转到首页 */ @RequestMapping("") public String index() { return PREFIX + "tSystemConfig.html"; } /** * 跳转到添加 */ @RequestMapping("/tSystemConfig_add") public String tSystemConfigAdd() { return PREFIX + "tSystemConfig_add.html"; } /** * 跳转到修改 */ @RequestMapping("/tSystemConfig_update/{tSystemConfigId}") public String tSystemConfigUpdate(@PathVariable Integer tSystemConfigId, Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectById(tSystemConfigId); model.addAttribute("item",tSystemConfig); LogObjectHolder.me().set(tSystemConfig); return PREFIX + "tSystemConfig_edit.html"; } /** * 跳转到派单规则 */ @RequestMapping("/dispatchRules") public String dispatchRules(Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 1) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); model.addAttribute("num1",jsonObject.getInteger("num1")); model.addAttribute("num2",jsonObject.getInteger("num2")); model.addAttribute("num3",jsonObject.getInteger("num3")); model.addAttribute("num4",jsonObject.getInteger("num4")); model.addAttribute("num5",jsonObject.getInteger("num5")); return PREFIX + "tSystemConfigDispatchRules.html"; } /** * 跳转到佣金分成规则 */ @RequestMapping("/commissionShareRules") public String commissionShareRules(Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 2) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); model.addAttribute("num1",jsonObject.getString("num1")); model.addAttribute("num2",jsonObject.getString("num2")); model.addAttribute("num3",jsonObject.getString("num3")); model.addAttribute("num4",jsonObject.getString("num4")); model.addAttribute("num5",jsonObject.getString("num5")); model.addAttribute("num6",jsonObject.getString("num6")); model.addAttribute("num7",jsonObject.getString("num7")); return PREFIX + "tSystemConfigCommissionShareRules.html"; } /** * 跳转到抽成规则 */ @RequestMapping("/extractionRules") public String extractionRules(Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 3) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); model.addAttribute("num1",jsonObject.getInteger("num1")); model.addAttribute("num2",jsonObject.getInteger("num2")); model.addAttribute("num3",jsonObject.getString("num3")); return PREFIX + "tSystemConfigExtractionRules.html"; } /** * 跳转到积分规则 */ @RequestMapping("/integralRules") public String integralRules(Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 4) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); model.addAttribute("num1",jsonObject.getString("num1")); model.addAttribute("num2",jsonObject.getString("num2")); model.addAttribute("num3",jsonObject.getInteger("num3")); model.addAttribute("num4",jsonObject.getInteger("num4")); model.addAttribute("num5",jsonObject.getInteger("num5")); model.addAttribute("num6",jsonObject.getInteger("num6")); model.addAttribute("num7",jsonObject.getInteger("num7")); model.addAttribute("num8",jsonObject.getInteger("num8")); model.addAttribute("num9",jsonObject.getInteger("num9")); model.addAttribute("num10",jsonObject.getInteger("num10")); return PREFIX + "tSystemConfigIntegralRules.html"; } /** * 跳转到价格规则 */ @RequestMapping("/priceRules") public String priceRules(Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 5) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); JSONArray array = jsonObject.getJSONArray("ChargeStandard"); JSONArray objects = new JSONArray(); for (int i = 0; i < array.size(); i++) { JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.toJSONString(array.get(i))); if(i == 0){ jsonObject1.put("key",0); }else { jsonObject1.put("key",1); } objects.add(jsonObject1); } TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 8) .last("LIMIT 1")); JSONObject jsonObj = JSONObject.parseObject(config.getContent()); Integer zcOne = jsonObj.getInteger("num1"); model.addAttribute("zcOne",zcOne); model.addAttribute("array",objects); JSONObject extraCost = JSONObject.parseObject(jsonObject.getString("ExtraCost")); model.addAttribute("ExtraCost",extraCost); return PREFIX + "tSystemConfigPriceRules.html"; } /** * 跳转到余额规则 */ @RequestMapping("/balanceRules") public String balanceRules(Model model) { TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 6) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); model.addAttribute("num1",jsonObject.getInteger("num1")); model.addAttribute("num2",jsonObject.getInteger("num2")); return PREFIX + "tSystemConfigBalanceRules.html"; } /** * 跳转到客服管理 */ @RequestMapping("/serviceMgmt") public String serviceMgmt(Model model) { Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); if(roleType == 1){ TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 7) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent()); model.addAttribute("num1",jsonObject.getString("num1")); } if(roleType == 3){ TAgent tAgent = agentService.selectById(objectId); if (Objects.nonNull(tAgent)){ model.addAttribute("num1",tAgent.getServiceCalls()); } } return PREFIX + "tSystemConfigServiceMgmt.html"; } /** * 获取列表 */ @RequestMapping(value = "/systemConfigSubmit") @ResponseBody public Object systemConfigSubmit(Integer type,String content) { Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); if(roleType == 1){ TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper().eq("type", type) .last("LIMIT 1")); tSystemConfig.setContent(content); tSystemConfigService.updateById(tSystemConfig); } if(roleType == 3){ TAgent tAgent = agentService.selectById(objectId); if (Objects.nonNull(tAgent)){ JSONObject jsonObject = JSONObject.parseObject(content); String num1 = jsonObject.getString("num1"); tAgent.setServiceCalls(num1); agentService.updateById(tAgent); } } return SUCCESS_TIP; } /** * 获取列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { return tSystemConfigService.selectList(null); } /** * 新增 */ @RequestMapping(value = "/add") @ResponseBody public Object add(TSystemConfig tSystemConfig) { tSystemConfigService.insert(tSystemConfig); return SUCCESS_TIP; } /** * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tSystemConfigId) { tSystemConfigService.deleteById(tSystemConfigId); return SUCCESS_TIP; } /** * 修改 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TSystemConfig tSystemConfig) { tSystemConfigService.updateById(tSystemConfig); return SUCCESS_TIP; } /** * 修改价格规则开关 */ @RequestMapping(value = "/openOrClose") @ResponseBody public Object openOrClose(Integer num1) { TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 8) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(config.getContent()); jsonObject.remove(jsonObject.getString("num1")); jsonObject.put("num1",num1); config.setContent(JSONObject.toJSONString(jsonObject)); tSystemConfigService.updateById(config); return SUCCESS_TIP; } /** * 修改启动页状态 */ @RequestMapping(value = "/updateStartState") @ResponseBody public Object updateStartState(Integer num2) { TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper().eq("type", 8) .last("LIMIT 1")); JSONObject jsonObject = JSONObject.parseObject(config.getContent()); jsonObject.remove(jsonObject.getString("num2")); jsonObject.put("num2",num2); config.setContent(JSONObject.toJSONString(jsonObject)); tSystemConfigService.updateById(config); return SUCCESS_TIP; } /** * 详情 */ @RequestMapping(value = "/detail/{tSystemConfigId}") @ResponseBody public Object detail(@PathVariable("tSystemConfigId") Integer tSystemConfigId) { return tSystemConfigService.selectById(tSystemConfigId); } }