package com.welampiot.controller; import com.welampiot.common.BaseResult; import com.welampiot.common.InterfaceResultEnum; import com.welampiot.dto.RateDTO; import com.welampiot.service.RateService; import com.welampiot.utils.ToolUtils; import com.welampiot.vo.RateDetailsVO; import com.welampiot.vo.RateVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Objects; /** * ClassName: RateController * Package: com.welampiot.controller * Description: * * @Author: zhj_Start * @Create: 2023/5/17 - 10:35 * @Version: v1.0 */ @RestController @CrossOrigin @RequestMapping("/rate") public class RateController { @Autowired private RateService rateService; @Autowired private ToolUtils toolUtils; /** * 获取费率列表 * @param request 用户id * @return 返回费率列表list以及总页数total */ @RequestMapping(value = "/getList", method = RequestMethod.POST) public BaseResult getList(HttpServletRequest request) { int version = (int) toolUtils.getRequestContent(request,"version",1); String username = request.getParameter("username"); if (username == null || username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page")); int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count")); RateDTO dto = new RateDTO(); dto.setPage(count * (page - 1)); dto.setCount(count); Integer userid = rateService.getUseridByUsername(username); dto.setUserid(userid); RateVO rateVO = rateService.getRateListByDTO(dto); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,rateVO); } /** * 获取费率详情 * @param request 费率id * @return 返回费率详情 */ @RequestMapping(value = "details", method = RequestMethod.POST) public BaseResult details(HttpServletRequest request) { int version = (int) toolUtils.getRequestContent(request,"version",1); int id = (int) toolUtils.getRequestContent(request,"id",1); if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); RateDetailsVO rateDetailsVO = rateService.getRateDetailsByDTO(id); if (rateDetailsVO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,rateDetailsVO); } /** * 添加编辑费率 * @param request 要添加编辑的费率属性 * @return 更新数据 */ @RequestMapping(value = "/save", method = RequestMethod.POST) public BaseResult save(HttpServletRequest request) { int version = (int) toolUtils.getRequestContent(request,"version",1); int id = (int) toolUtils.getRequestContent(request,"id",1); String username = request.getParameter("username"); if (username == null || username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); String name = request.getParameter("name"); String rateOne = request.getParameter("rateOne"); String rateTwo = request.getParameter("rateTwo"); String rateThree = request.getParameter("rateThree"); String rateFour = request.getParameter("rateFour"); RateDTO dto = new RateDTO(); dto.setName(name); dto.setRateOne(rateOne); dto.setRateTwo(rateTwo); dto.setRateThree(rateThree); dto.setRateFour(rateFour); SimpleDateFormat simpleDateFormat; Integer userid = rateService.getUseridByUsername(username); if (id == 0) { // 添加 dto.setUserid(userid); simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dto.setCreateTime(simpleDateFormat.format(System.currentTimeMillis())); if (name == null || name.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_RATE_NAME_ERROR,version); RateDTO rateDTO = new RateDTO(); rateDTO.setName(name); rateDTO.setUserid(userid); if (rateService.finRateNameByDTO(rateDTO) > 0) return toolUtils.response(InterfaceResultEnum.RATE_NAME_UNIQUE_ERROR,version); rateService.addRateDataByDTO(dto); } else { // 编辑 dto.setId(id); Integer useridById = rateService.findUseridById(id); if (!Objects.equals(useridById,userid)) return toolUtils.response(InterfaceResultEnum.USER_HAS_NOT_MODIFY_PRIVILEGE,version); RateDTO rateDTO = new RateDTO(); rateDTO.setId(id); rateDTO.setName(name); rateDTO.setUserid(userid); if (rateService.finRateNameByDTO(rateDTO) > 0) return toolUtils.response(InterfaceResultEnum.RATE_NAME_UNIQUE_ERROR,version); rateService.updateRateDataByDTO(dto); } return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version); } /** * 删除费率 * @param request 要删除的费率的id * @return 删除成功 */ @RequestMapping(value = "/del", method = RequestMethod.POST) public BaseResult del(HttpServletRequest request){ int version = (int) toolUtils.getRequestContent(request,"version",1); String id = request.getParameter("id"); if (id == null || id.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); String[] split = id.split(","); for (String rateId : split) { int l = Integer.parseInt(rateId); rateService.deleteRateDataById(l); } return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version); } /** * 获取费率下拉列表 * @param request 用户id * @return 返回费率下拉列表 */ @RequestMapping(value = "/nav", method = RequestMethod.POST) public BaseResult nav(HttpServletRequest request) { int version = (int) toolUtils.getRequestContent(request,"version",1); String username = request.getParameter("username"); if (username == null || username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version); Integer userid = rateService.getUseridByUsername(username); RateVO rateVO = rateService.getRateDropDownListByUserid(userid); return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,rateVO); } }