|  | @ -0,0 +1,119 @@
 | 
	
		
			
				|  |  | package com.yihu.jw.healthyhouse.controller.user;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.jw.healthyhouse.model.user.FeedBack;
 | 
	
		
			
				|  |  | import com.yihu.jw.healthyhouse.service.user.FeedBackService;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ListEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.ObjEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.PageEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
 | 
	
		
			
				|  |  | import com.yihu.jw.rm.health.house.HealthyHouseMapping;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiParam;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.http.MediaType;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.IOException;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * 意见反馈
 | 
	
		
			
				|  |  |  * Created by zdm on 2018/9/21.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @RestController
 | 
	
		
			
				|  |  | @RequestMapping(HealthyHouseMapping.api_healthyHouse_common)
 | 
	
		
			
				|  |  | @Api(value = "FeedBack", description = "意见反馈管理", tags = {"意见反馈管理"})
 | 
	
		
			
				|  |  | public class FeedBackController extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private FeedBackService feedBackService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取意见反馈列表", responseContainer = "List")
 | 
	
		
			
				|  |  |     @GetMapping(value = HealthyHouseMapping.HealthyHouse.FeedBack.PAGE)
 | 
	
		
			
				|  |  |     public PageEnvelop<FeedBack> getFeedBacks(
 | 
	
		
			
				|  |  |             @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "fields", required = false) String fields,
 | 
	
		
			
				|  |  |             @ApiParam(name = "filters", value = "过滤器", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "filters", required = false) String filters,
 | 
	
		
			
				|  |  |             @ApiParam(name = "sorts", value = "排序", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "sorts", required = false) String sorts,
 | 
	
		
			
				|  |  |             @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
 | 
	
		
			
				|  |  |             @RequestParam(value = "size", required = false) Integer size,
 | 
	
		
			
				|  |  |             @ApiParam(name = "page", value = "页码", defaultValue = "1")
 | 
	
		
			
				|  |  |             @RequestParam(value = "page", required = false) Integer page) throws Exception {
 | 
	
		
			
				|  |  |         List<FeedBack> feedBackList = feedBackService.search(fields, filters, sorts, page, size);
 | 
	
		
			
				|  |  |         return success(feedBackList, (null == feedBackList) ? 0 : feedBackList.size(), page, size);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @ApiOperation(value = "创建/更新(id存在)意见反馈")
 | 
	
		
			
				|  |  |     @PostMapping(value = HealthyHouseMapping.HealthyHouse.FeedBack.CREATE)
 | 
	
		
			
				|  |  |     public ObjEnvelop<FeedBack> createFeedBack(
 | 
	
		
			
				|  |  |             @ApiParam(name = "FeedBack", value = "意见反馈JSON结构")
 | 
	
		
			
				|  |  |             @RequestBody FeedBack feedBack) throws IOException {
 | 
	
		
			
				|  |  |         feedBack = feedBackService.save(feedBack);
 | 
	
		
			
				|  |  |         return success(feedBack);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取意见反馈")
 | 
	
		
			
				|  |  |     @GetMapping(value = HealthyHouseMapping.HealthyHouse.FeedBack.GET_FEEDBACK_BY_ID)
 | 
	
		
			
				|  |  |     public ObjEnvelop<FeedBack> getFeedBack(
 | 
	
		
			
				|  |  |             @ApiParam(name = "id", value = "意见反馈ID", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "id") String id) throws Exception {
 | 
	
		
			
				|  |  |         FeedBack feedBack = feedBackService.findById(id);
 | 
	
		
			
				|  |  |         if (feedBack == null) {
 | 
	
		
			
				|  |  |             return failed("意见反馈不存在!", ObjEnvelop.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return success(feedBack);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @ApiOperation(value = "管理员根据id获取/或回复意见反馈,需改变意见反馈回复状态")
 | 
	
		
			
				|  |  |     @GetMapping(value = HealthyHouseMapping.HealthyHouse.FeedBack.UPDATE_FEEDBACKS_BY_ID)
 | 
	
		
			
				|  |  |     public ObjEnvelop<FeedBack> getFeedBackAndUpdate(
 | 
	
		
			
				|  |  |             @ApiParam(name = "id", value = "意见反馈ID(必要)", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "id", required = true) String id,
 | 
	
		
			
				|  |  |             @ApiParam(name = "feedBackJson", value = "意见反馈Json(非必要,有回复内容,需提供。)", defaultValue = "")
 | 
	
		
			
				|  |  |             @RequestParam(value = "feedBackJson", required = false) String feedBackJson) throws Exception {
 | 
	
		
			
				|  |  |         FeedBack feedBackOld = feedBackService.findById(id);
 | 
	
		
			
				|  |  |         if (feedBackOld == null) {
 | 
	
		
			
				|  |  |             return failed("意见反馈不存在!", ObjEnvelop.class);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(feedBackJson)) {
 | 
	
		
			
				|  |  |             FeedBack feedBack = toEntity(feedBackJson, FeedBack.class);
 | 
	
		
			
				|  |  |             feedBackOld.setFlag(2);
 | 
	
		
			
				|  |  |             feedBackOld.setReplyContent(feedBack.getReplyContent());
 | 
	
		
			
				|  |  |             feedBackOld.setUpdateUser(feedBack.getUpdateUser());
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             //根据id获取意见反馈,打开待反馈信息
 | 
	
		
			
				|  |  |             feedBackOld.setFlag(1);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         feedBackOld = feedBackService.save(feedBackOld);
 | 
	
		
			
				|  |  |         return success(feedBackOld);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @ApiOperation(value = "获取意见反馈:根据日期,根据反馈人等")
 | 
	
		
			
				|  |  |     @GetMapping(value = HealthyHouseMapping.HealthyHouse.FeedBack.GET_FEEDBACKS_BY_FIELD)
 | 
	
		
			
				|  |  |     public ListEnvelop<FeedBack> getFeedBackByField(
 | 
	
		
			
				|  |  |             @ApiParam(name = "field", value = "查找字段名", required = true)
 | 
	
		
			
				|  |  |             @RequestParam(value = "field") String field,
 | 
	
		
			
				|  |  |             @ApiParam(name = "value", value = "检索值")
 | 
	
		
			
				|  |  |             @RequestParam(value = "value") String value) throws Exception {
 | 
	
		
			
				|  |  |         List<FeedBack> feedBackList = feedBackService.findByField(field, value);
 | 
	
		
			
				|  |  |         return success(feedBackList);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @ApiOperation(value = "删除意见反馈")
 | 
	
		
			
				|  |  |     @DeleteMapping(value = HealthyHouseMapping.HealthyHouse.FeedBack.DELETE)
 | 
	
		
			
				|  |  |     public Envelop deleteFeedBack(
 | 
	
		
			
				|  |  |             @ApiParam(name = "facilitiesServerId", value = "意见反馈ID")
 | 
	
		
			
				|  |  |             @RequestParam(value = "facilitiesServerId") String facilitiesServerId) throws Exception {
 | 
	
		
			
				|  |  |         FeedBack feedBack = feedBackService.findById(facilitiesServerId);
 | 
	
		
			
				|  |  |         feedBackService.delete(feedBack);
 | 
	
		
			
				|  |  |         return success("success");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |