package com.xzx.gc.system.controller; 
 | 
  
 | 
import com.github.pagehelper.PageInfo; 
 | 
import com.xzx.gc.common.Result; 
 | 
import com.xzx.gc.common.annotations.PassToken; 
 | 
import com.xzx.gc.common.constant.Constants; 
 | 
import com.xzx.gc.common.dto.log.OperationAppLog; 
 | 
import com.xzx.gc.common.request.BaseController; 
 | 
import com.xzx.gc.common.utils.MqUtil; 
 | 
import com.xzx.gc.entity.CityPartner; 
 | 
import com.xzx.gc.entity.CoreUser; 
 | 
import com.xzx.gc.model.JsonResult; 
 | 
import com.xzx.gc.model.admin.SysNoticeModel; 
 | 
import com.xzx.gc.model.system.SysNoticeReq; 
 | 
import com.xzx.gc.model.system.SysNoticeVo; 
 | 
import com.xzx.gc.system.service.CityPartnerService; 
 | 
import com.xzx.gc.system.service.SysNoticeService; 
 | 
import com.xzx.gc.system.service.UserService; 
 | 
import com.xzx.gc.util.SessionUtil; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletRequest; 
 | 
import java.util.HashMap; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
@Api(tags = "公告") 
 | 
@RestController 
 | 
public class SysNoticeController extends BaseController { 
 | 
    @Autowired 
 | 
    private SysNoticeService sysNoticeService; 
 | 
    @Autowired 
 | 
    private CityPartnerService cityPartnerService; 
 | 
    @Autowired 
 | 
    private SessionUtil platformService; 
 | 
  
 | 
    @Autowired 
 | 
    private MqUtil mqUtil; 
 | 
    @Autowired 
 | 
    private UserService userService; 
 | 
  
 | 
    private static final String MODEL = "/admin/front/sysNotice"; 
 | 
    @ApiOperation( value = "公告查询") 
 | 
    @PostMapping("/sysNotice/query") 
 | 
    @PassToken 
 | 
    public Result<List<SysNoticeVo>> querySysNotice(HttpServletRequest request, @RequestBody SysNoticeReq SysNoticeReq) { 
 | 
        Result result = new Result(); 
 | 
        List<SysNoticeVo> list = sysNoticeService.getSysNoticeByType(SysNoticeReq); 
 | 
        result.setData(list); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
    @ApiOperation( value = "公告详情") 
 | 
    @PostMapping("/sysNotice/detail") 
 | 
    @PassToken 
 | 
    public Result<List<SysNoticeVo>> querySysNoticeDetail(HttpServletRequest request, @RequestBody SysNoticeReq sysNoticeReq) { 
 | 
        Result result = new Result(); 
 | 
        if(sysNoticeReq.getNoticeId()==null){ 
 | 
            return result; 
 | 
        } 
 | 
        SysNoticeVo SysNotice = sysNoticeService.getSysNoticeById(sysNoticeReq); 
 | 
        result.setData(SysNotice); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
    @ApiOperation( value = "新增反馈") 
 | 
    @PostMapping("/sysNotice/add") 
 | 
    public Result<String> addSysNotice(HttpServletRequest request, @RequestBody SysNoticeReq sysNoticeReq) { 
 | 
        Result result = new Result(); 
 | 
        sysNoticeService.addSysNotice(sysNoticeReq); 
 | 
        String mobilePhone = userService.findOtherByUserId(getUserId(request),0); 
 | 
        OperationAppLog build = OperationAppLog.builder().appPrograme(getFrontClient(request)).opreateName(mobilePhone) 
 | 
                .methodName(Constants.SYS_MODUL_NAME).operateAction("新增反馈-"+sysNoticeReq.getNoticeId()).build(); 
 | 
        mqUtil.sendApp(build); 
 | 
  
 | 
        return result; 
 | 
    } 
 | 
  
 | 
    @PostMapping(MODEL + "/queryNoticeList.json") 
 | 
    @ResponseBody 
 | 
    @ApiOperation(value = "意见反馈列表", notes = "test: 仅0有正确返回") 
 | 
    public JsonResult<Map<String, Object>> queryNoticeList(@RequestBody SysNoticeModel model) { 
 | 
        CoreUser user = platformService.getCurrentUser(); 
 | 
        CityPartner partner = cityPartnerService.queryById(user.getId()); 
 | 
        if(null!=partner){ 
 | 
            model.setPartnerId(partner.getId()+""); 
 | 
        } 
 | 
        PageInfo<SysNoticeModel> pageInfo =sysNoticeService.queryNoticeList(model); 
 | 
        Map<String,Object> map = new HashMap<>(); 
 | 
        map.put("data",pageInfo.getList()); 
 | 
        map.put("count",pageInfo.getTotal()); 
 | 
        map.put("code",0); 
 | 
        return JsonResult.success(map); 
 | 
    } 
 | 
  
 | 
//    @ApiOperation( value = "更新公告") 
 | 
//    @PostMapping("/update") 
 | 
//    @PassToken 
 | 
//    public Result update(HttpServletRequest request, @RequestBody SysNotice sysNotice) { 
 | 
//        Result result = new Result(); 
 | 
//        sysNoticeService.update(sysNotice); 
 | 
//        return result; 
 | 
//    } 
 | 
  
 | 
  
 | 
} 
 |