1. 程式人生 > >springBoot 常用@註解標籤

springBoot 常用@註解標籤

1.  @Service("/orgService")    

2.  @SuppressWarnings("unused")   忽略警告。

3.  @Value("${cloudDir}")    內容注入。

 2. 接收資料型別為json物件or form表單資料型別時。

  a.  json

   controller層

/**
	 * 建立或修改查驗任務
	 * @param task
	 * @return
	 */
	@RequestMapping(value = "/rest", params = "method=ciq.checktask.createtask")
	public ResMsg createTask(@RequestBody CheckTask task) {
		checkTaskService.createTask(this.getUserId(), task);
		return ResMsg.success();
	}

     service層 : 判斷有無id,有id修改,無id新增。

    @Autowired
	private CheckTaskMapper checkTaskMapper;
	
	@Autowired
	private CheckTaskDetailMapper checkTaskDetailMapper;
	
	@Autowired
	private CheckTaskStepMapper checkTaskStepMapper;
	
	@Autowired
	private CrossOrderMapper crossOrderMapper;
	
	public int createTask(Long userId, CheckTask task) {
		int result = 0;
		if(task.getId() != null) {
			checkTaskMapper.updateByPrimaryKeySelective(task);
			//刪除明細
			checkTaskDetailMapper.deleteByCheckTaskId(task.getId());
			//重新儲存明細
			List<CheckTaskDetail> details = task.getDetails();
			for(int i=0; i<details.size(); i++) {
				CheckTaskDetail detail = details.get(i);
				detail.setCheckTaskId(task.getId());
				checkTaskDetailMapper.insert(detail);
			}
			//在步驟表中,記錄修改通知的事件
			CheckTaskStep step = new CheckTaskStep();
			step.setCheckTaskId(task.getId());
			step.setUserId(userId);
			step.setStepTime(new Date());
			step.setStatus(CheckTask.CREATED_TASK);
			step.setStepName("修改通知");
			step.setRemark("修改記錄");
			checkTaskStepMapper.insert(step);
		} else {
			CrossOrder order = crossOrderMapper.selectByPrimaryKey(task.getOrderId());
			task.setOrgId(order.getOrgId());
			task.setStatus(CheckTask.CREATED_TASK);//初始狀態
			task.setCreateTime(new Date());
			checkTaskMapper.insert(task);
			//儲存明細
			List<CheckTaskDetail> details = task.getDetails();
			for(int i=0; i<details.size(); i++) {
				CheckTaskDetail detail = details.get(i);
				detail.setCheckTaskId(task.getId());
				checkTaskDetailMapper.insert(detail);
			}
			//在步驟表中,記錄建立通知的事件
			CheckTaskStep step = new CheckTaskStep();
			step.setCheckTaskId(task.getId());
			step.setUserId(userId);
			step.setStepTime(new Date());
			step.setStatus(CheckTask.CREATED_TASK);
			step.setStepName("建立通知");
			checkTaskStepMapper.insert(step);
		}
		return result;
	}

b.  form表單

     刪除操作:

    /**
	 * 刪除查驗任務
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/rest", params = "method=ciq.checktask.remove")
	public ResMsg remove(Long id) {
		checkTaskService.remove(id);
		return ResMsg.success();
	}
    @Override
	public int remove(Object id) {
		CheckTask task = checkTaskMapper.selectByPrimaryKey(id);
		if(task != null && task.getStatus() != 0) {
			throw new BusinessException("{checkTask.status.cannotRemove}", "任務不允許刪除");
		}
		return checkTaskMapper.deleteByPrimaryKey(id);
	}

 分頁查詢操作 :

    /**
	 * 查驗任務處理列表
	 * @param pageIndex
	 * @param pageSize
	 * @param userId
	 * @param status
	 * @param eciqCode
	 * @return
	 */
	@RequestMapping(value = "/rest", params = "method=ciq.checktask.list")
	@ResponseBody
	public ResMsg list(Integer pageIndex, Integer pageSize, Long userId, String status, String eciqCode,
            String writeOffBillCode,String orderCode,String orgName,String createTime,String finishTime,String planTime) {
		
		//報檢號eciqCode     核銷號writeOffBillCode   訂單編號 orderCode
		//申請單位 orgName   建立時間createTime    處理時間  finishTime
		Integer[] arrStatus = {0,1,2,3,4};
		 
		//建立任務、準備好,開始檢查,完成檢查,關閉任務
		if(hasRole("ciq_yunying")) {
			//看全部的
			PageList<CheckTask> page = checkTaskService.page(pageIndex, pageSize, userId, arrStatus, eciqCode,
					writeOffBillCode,orderCode,orgName,createTime,finishTime,planTime);
			return ResMsg.success(page);
		}
		if(hasRole("ciq_jianyiju")) {
			PageList<CheckTask> page = checkTaskService.page(pageIndex, pageSize, userId, arrStatus, eciqCode,
					writeOffBillCode,orderCode,orgName,createTime,finishTime,planTime);
			return ResMsg.success(page);
		}
		if (hasRole("ciq_chayanyuan")) {
			PageList<CheckTask> page = checkTaskService.page(pageIndex, pageSize, this.getUserId(), arrStatus, eciqCode,
					writeOffBillCode,orderCode,orgName,createTime,finishTime,planTime);
			return ResMsg.success(page);
		}
		return ResMsg.success(new PageList<CheckTask>());
	}
	@Override
	public PageList<CheckTask> page(Integer pageIndex, Integer pageSize, Long checkPersonelUserId, Integer[] arrStatus, String eciqCode,
			 String writeOffBillCode,String orderCode,String orgName,String createTime,String finishTime,String planTime) {
		
		Example exp = new Example(CheckTask.class);
		Criteria c = exp.createCriteria();
		
		//查驗人員是自己
		if(checkPersonelUserId != null) {
			c.andEqualTo("checkPersonelUserId", checkPersonelUserId);
		}
		//狀態
		if(arrStatus != null && arrStatus.length > 0) {
			c.andIn("status", Arrays.asList(arrStatus));
		}
		int[] status ={};
		//呼叫多條件查詢的方法
		expBase(c, exp, null, status, eciqCode, writeOffBillCode, orderCode, orgName, createTime, finishTime, planTime);
		
		 
		return this.page(exp, pageIndex, pageSize);
	}

相關推薦

springBoot 常用@註解標籤

1.  @Service("/orgService")     2.  @SuppressWarnings("unused")   忽略警告。 3.  @Value("${cloudDir}")    內容注入。  2. 接收資料型別為json物件or form表單

Springboot 常用註解

RF head rest服務 請求 false val bean api time @SpringBootApplication: 包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主類上。 很多Spri

spring和springboot常用註解總結

普通 map 組件 構造 sca service 提交 依賴 demo1 @RequestMapping 這個註解可以用於類和方法上,用於類上,表示父路徑,如類上是demo,方法上是/demo1,那麽訪問路徑就是demo/demo1 該註解有六個屬性:params:指定re

SpringBoot 常用註解(持續更新)

SpringBoot 常用註解 @SpringBootApplication @Bean @ComponentScan @ControllerAdvice @ExceptionHandler @ResponseBody @Qualifier 注入(@Autowired和@R

SpringBoot常用註解

bean的分類標識 @Service: 註解在類上,表示這是一個業務層bean @Controller:註解在類上,表示這是一個控制層bean @Repository: 註解在類上,表示這是一個數據訪問層bean @Component: 註解在類上,表示通用b

springboot常用註解的使用

Controller: @Controller:處理http請求 @RestController :返回json格式的資料。相當於@[email protected] @RequestMapping:配置URL對映 @PathVariable:獲取URL中的

springmvc常用註解標籤詳解

1、@Controller 在SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發的請求,它把使用者請求的資料經過業務處理層處理之後封裝成一個Model ,然後再把該Model 返回給對應的View 進行展示。在Spring

SpringBoot常用註解解釋

  @SpringBootConfiguration:這是SpringBoot專案的配置註解,在Spring Boot專案中推薦使用@SpringBootConfiguration替代@Configuration; @EnableAutoConfiguration:啟用自動配

springmvc 常用註解標籤詳解

1、@Controller 在SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發的請求,它把使用者請求的資料經過 業務處理層 處理之後封裝成一個Model ,然後再把該Model 返回給對應的View 進行展示。 在

Springboot常用註解小結

@Autowired自動裝配註釋,作為:實現自動裝配,使用範圍:用在成員變數、方法以及建構函式上。用在類屬性上,可以免寫setter方法優點:可以免除在配置檔案中新增bean的注入資訊,等價於上下文通過ByType的方式,在配置檔案中查詢相應的bean,並注入到該類中。<

SpringBoot(二):SpringBoot常用註解介紹

@SpringBootApplication package com.lpl.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot

Springboot常用註解大全

springboot註解:@Service: 註解在類上,表示這是一個業務層bean@Controller:註解在類上,表示這是一個控制層bean@Repository: 註解在類上,表示這是一個數據訪問層bean@Component: 註解在類上,表示通用bean ,val

SpringBoot | 常用註解記錄

一、@PathVariable URL變數 在Web應用中URL通常不是一成不變的,例如微博兩個不同使用者的個人主頁對應兩個不同的URL: http://weibo.com/user1,http://

springBoot常用註解使用大全(附:使用說明)

自述:近來在用springBoot,但又有很多註解只會用,並不知其含義,故整理此文章,以幫助更多正在使用springBoot的同學。。。說明:以下文章均來自網路各網際網路大神,,此教程並非官方,僅個人見

Springboot常用註解大全一

springboot註解: 1、@Service: 註解在類上,表示這是一個業務層bean 2、@Controller:註解在類上,表示這是一個控制層bean 3、@Repository: 註解在類上,表示這是一個數據訪問層bean 4、@Component: 註解在類上,表

SpringBoot 入門篇(二) SpringBoot常用註解以及自動配置

一、SpringBoot常用註解 二、SpringBoot自動配置機制 一、SpringBoot常用註解   在上一篇文章中https://blog.csdn.net/zhichao_qzc/article/details/806421

SpringBoot2.X (六):SpringBoot 常用註解簡單說明

@SpringBootApplication Spring Boot的專案一般都會有*Application的入口類,入口類中會有main方法,這是一個標準的Java應用程式的入口方法。 @Spr

面試:----springmvc常用註解標籤詳解

1、@Controller 在SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發的請求,它把使用者請求的資料經過業務處理層處理之後封裝成一個Model ,然後再把該Model 返回給對應的View 進行展示。在Spri

二、Springboot 常用註解

nal tom home hex 我們 nco classpath bean 附加 @SpringBootApplication: ??包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主類上。??很多S

SpringBoot常用註解總結

可用 單例模式 post utm 簡單 路徑 利用 span 一個 在SpringBoot框架中,註解做為一種隱式配置,極大的簡化了之前xml文件的配置方式。SpringBoot中包含許多種類的註解,這裏對在SpingBoot項目中經常使用到的一些註解的進行大致的歸納總結;