| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- package com.goafanti.admin.controller;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletResponse;
- import javax.validation.Valid;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import com.goafanti.achievement.bo.InputAchievementOrder;
- import com.goafanti.achievement.service.AchievementOrderLogService;
- import com.goafanti.achievement.service.AchievementOrderService;
- import com.goafanti.common.bo.Result;
- import com.goafanti.common.constant.ErrorConstants;
- import com.goafanti.common.controller.CertifyApiController;
- import com.goafanti.common.enums.AchievementOrderFields;
- import com.goafanti.common.enums.AchievementOrderStatus;
- import com.goafanti.common.enums.DemandOrderStatus;
- import com.goafanti.common.model.AchievementOrder;
- import com.goafanti.common.model.AchievementOrderLog;
- import com.goafanti.common.model.DemandOrder;
- import com.goafanti.common.model.DemandOrderLog;
- import com.goafanti.demand.bo.InputDemandOrder;
- import com.goafanti.demand.service.DemandOrderLogService;
- import com.goafanti.demand.service.DemandOrderService;
- @RestController
- @RequestMapping(value = "/api/admin/portal/order")
- public class AdminOrderApiController extends CertifyApiController {
- @Resource
- private AchievementOrderService achievementOrderService;
- @Resource
- private DemandOrderService demandOrderService;
- @Resource
- private DemandOrderLogService demandOrderLogService;
- @Resource
- private AchievementOrderLogService achievementOrderLogService;
- /**
- * 科技成果线索单/意向单修改
- */
- @RequestMapping(value = "/updateAchievementOrder", method = RequestMethod.POST)
- public Result updateAchievementOrder(@Valid InputAchievementOrder order, BindingResult bindingResult,
- String recordTimeFormattedDate) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- AchievementOrderFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (StringUtils.isBlank(order.getId())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技成果线索单/意向单ID", "科技成果线索单/意向单ID"));
- return res;
- }
- if (StringUtils.isBlank(order.getAchievementId())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技成果ID", "科技成果ID"));
- return res;
- }
- if (null == order.getStatus()) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技成果线索单/意向单状态", "科技成果线索单/意向单状态"));
- return res;
- }
- AchievementOrder ao = achievementOrderService.selectByPrimaryKey(order.getId());
- if (null == ao) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技成果线索单/意向单ID"));
- return res;
- }
- if (AchievementOrderStatus.CANCELLED.getCode().equals(ao.getStatus())) {
- res.getError().add(buildError("", "当前科技成果线索单/意向单已关闭,无法修改!"));
- return res;
- }
- AchievementOrder achievementOrder = new AchievementOrder();
- AchievementOrderLog aol = new AchievementOrderLog();
- BeanUtils.copyProperties(order, achievementOrder);
- BeanUtils.copyProperties(order, aol);
- achievementOrderService.updateAchievementOrder(achievementOrder, aol, recordTimeFormattedDate);
- return res;
- }
- /**
- * 科技成果线索单/意向单Log
- */
- @RequestMapping(value = "/achievementOrderLog", method = RequestMethod.GET)
- public Result achievementOrderLog(String achievementOrderId) {
- Result res = new Result();
- if (StringUtils.isEmpty(achievementOrderId)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "科技成果订单ID"));
- return res;
- }
- res.setData(achievementOrderLogService.selectAdminAchievementOrderLogByAchievementOrderId(achievementOrderId));
- return res;
- }
- /**
- * 科技成果线索单/意向单列表(个人用户)
- */
- @RequestMapping(value = "/userAchievementOrderList", method = RequestMethod.GET)
- public Result userAchievementOrderList(String uid, String username, Integer status, String pageNo,
- String pageSize) {
- Result res = new Result();
- Integer pNo = 1;
- Integer pSize = 10;
- if (StringUtils.isNumeric(pageSize)) {
- pSize = Integer.parseInt(pageSize);
- }
- if (StringUtils.isNumeric(pageNo)) {
- pNo = Integer.parseInt(pageNo);
- }
- res.setData(achievementOrderService.listUserAchievementOrder(uid, username, status, pNo, pSize));
- return res;
- }
- /**
- * 科技成果线索单/意向单列表(组织用户)
- */
- @RequestMapping(value = "/orgAchievementOrderList", method = RequestMethod.GET)
- public Result orgAchievementOrderList(String uid, String unitName, Integer status, String pageNo, String pageSize) {
- Result res = new Result();
- Integer pNo = 1;
- Integer pSize = 10;
- if (StringUtils.isNumeric(pageSize)) {
- pSize = Integer.parseInt(pageSize);
- }
- if (StringUtils.isNumeric(pageNo)) {
- pNo = Integer.parseInt(pageNo);
- }
- res.setData(achievementOrderService.listOrgAchievementOrder(uid, unitName, status, pNo, pSize));
- return res;
- }
- /**
- * 科技需求线索单/意向单列表(个人用户)
- */
- @RequestMapping(value = "/userDemandOrderList", method = RequestMethod.GET)
- public Result userDemandOrderList(String uid, String username, Integer status, String pageNo, String pageSize) {
- Result res = new Result();
- Integer pNo = 1;
- Integer pSize = 10;
- if (StringUtils.isNumeric(pageSize)) {
- pSize = Integer.parseInt(pageSize);
- }
- if (StringUtils.isNumeric(pageNo)) {
- pNo = Integer.parseInt(pageNo);
- }
- res.setData(demandOrderService.listUserDemandOrder(uid, username, status, pNo, pSize));
- return res;
- }
- /**
- * 科技需求线索单/意向单列表(组织用户)
- */
- @RequestMapping(value = "/orgDemandOrderList", method = RequestMethod.GET)
- public Result orgDemandOrderList(String uid, String unitName, Integer status, String pageNo, String pageSize) {
- Result res = new Result();
- Integer pNo = 1;
- Integer pSize = 10;
- if (StringUtils.isNumeric(pageSize)) {
- pSize = Integer.parseInt(pageSize);
- }
- if (StringUtils.isNumeric(pageNo)) {
- pNo = Integer.parseInt(pageNo);
- }
- res.setData(demandOrderService.listOrgDemandOrder(uid, unitName, status, pNo, pSize));
- return res;
- }
- /**
- * 科技需求线索单/意向单log
- */
- @RequestMapping(value = "/demandOrderLog", method = RequestMethod.GET)
- public Result demandOrderLog(String demandOrderId) {
- Result res = new Result();
- if (StringUtils.isEmpty(demandOrderId)) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "科技需求订单ID"));
- return res;
- }
- res.setData(demandOrderLogService.selectAdminDemandOrderLogByDemandOrderId(demandOrderId));
- return res;
- }
- /**
- * 科技需求线索单/意向单修改
- */
- @RequestMapping(value = "/updateDemandOrder", method = RequestMethod.POST)
- public Result updateDemandOrder(@Valid InputDemandOrder inputDemandOrder, BindingResult bindingResult,
- String recordTimeFormattedDate) {
- Result res = new Result();
- if (bindingResult.hasErrors()) {
- res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
- AchievementOrderFields.getFieldDesc(bindingResult.getFieldError().getField())));
- return res;
- }
- if (StringUtils.isBlank(inputDemandOrder.getId())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求线索单/意向单ID", "科技需求线索单/意向单ID"));
- return res;
- }
- if (StringUtils.isBlank(inputDemandOrder.getDemandId())) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求ID", "科技需求ID"));
- return res;
- }
- if (null == inputDemandOrder.getStatus()) {
- res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到科技需求状态", "科技需求状态"));
- return res;
- }
- DemandOrder demandOrder = demandOrderService.selectByPrimaryKey(inputDemandOrder.getId());
- if (null == demandOrder) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技需求线索单/意向单ID"));
- return res;
- }
- if (DemandOrderStatus.SHUTDOWN.getCode().equals(demandOrder.getStatus())) {
- res.getError().add(buildError("", "当前科技需求线索单/意向单已关闭,无法修改!"));
- return res;
- }
- DemandOrder order = new DemandOrder();
- DemandOrderLog dol = new DemandOrderLog();
- BeanUtils.copyProperties(inputDemandOrder, order);
- BeanUtils.copyProperties(inputDemandOrder, dol);
- res.setData(demandOrderService.updateDemandOrder(order, dol, recordTimeFormattedDate));
- return res;
- }
- /**
- * 下载科技需求线索单/意向单文件
- */
- @RequestMapping(value = "/downloadDemandOrder", method = RequestMethod.GET)
- public Result download(HttpServletResponse response, String id) {
- Result res = new Result();
- if (StringUtils.isEmpty(id)) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技需求订单ID"));
- return res;
- }
- DemandOrder order = demandOrderService.selectByPrimaryKey(id);
- if (null == order) {
- res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技需求订单ID"));
- return res;
- }
- downloadUnPrivateFile(response, order.getEnclosureDownloadFileName(), order.getEnclosureUrl());
- return res;
- }
- }
|