package com.hmit.kernes.controller;
import com.hmit.kernes.entity.CloudBaseInfoEntity;
import com.hmit.kernes.entity.CloudHonorInfoEntity;
import com.hmit.kernes.service.CloudBaseInfoService;
import com.hmit.kernes.service.CloudHonorInfoService;
import com.hmit.kernes.utils.PageUtils;
import com.hmit.kernes.utils.Query;
import com.hmit.kernes.utils.R;
import com.hmit.kernes.utils.RRException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/cloud/honorinfo")
public class CloudHonorInfoController extends AbstractController {
@Autowired
private CloudHonorInfoService cloudHonorInfoService;
@Autowired
private CloudBaseInfoService cloudBaseInfoService;
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,String type){
if("user".equals(type)){
Long id=getUser().getUnionId();
if(id==null)
throw new RRException("暂时查询不到相关记录,请稍后再试,或联系管理员");
params.put("unionId",id.toString());
}
Query query = new Query(params);
List<CloudHonorInfoEntity> list= cloudHonorInfoService.queryList(query);
int total=cloudHonorInfoService.queryTotal(query);
PageUtils pageUtil = new PageUtils(list, total, query.getLimit(), query.getPage());
return R.ok().put("page", pageUtil);
}
@RequestMapping("/info/{id}")
//@RequiresPermissions("sys:recommend:info")
public R info(@PathVariable("") Long id){
CloudHonorInfoEntity cloudHonorInfoEntity=cloudHonorInfoService.queryObject(id);
return R.ok().put("honorinfo",cloudHonorInfoEntity);
}
@RequestMapping("/save")
public R save(@RequestBody CloudHonorInfoEntity cloudHonorInfoEntity){
//数据校验
cloudHonorInfoEntity.setMakerId(getUserId());
cloudHonorInfoEntity.setUpdateTime(new Date());
cloudHonorInfoEntity.setMakerName(getUser().getRealName());
cloudHonorInfoService.save(cloudHonorInfoEntity);
return R.ok();
}
@RequestMapping("/user/save")
public R userSave(@RequestBody CloudHonorInfoEntity cloudHonorInfoEntity){
//数据校验
cloudHonorInfoEntity=verifyForm(cloudHonorInfoEntity);
cloudHonorInfoService.save(cloudHonorInfoEntity);
return R.ok();
}
@RequestMapping("/delete")
//@RequiresPermissions("zhgh:reception:delete")
public R delete(@RequestBody Long[] ids){
cloudHonorInfoService.deleteBatch(ids);
return R.ok();
}
@RequestMapping("/update")
public R update(@RequestBody CloudHonorInfoEntity cloudHonorInfoEntity){
cloudHonorInfoEntity.setMakerId(getUserId());
cloudHonorInfoEntity.setUpdateTime(new Date());
cloudHonorInfoEntity.setMakerName(getUser().getRealName());
cloudHonorInfoService.update(cloudHonorInfoEntity);
return R.ok();
}
@RequestMapping("/user/update")
public R userUpdate(@RequestBody CloudHonorInfoEntity cloudHonorInfoEntity){
//数据校验
cloudHonorInfoEntity= verifyForm(cloudHonorInfoEntity);
cloudHonorInfoService.update(cloudHonorInfoEntity);
return R.ok();
}
private CloudHonorInfoEntity verifyForm( CloudHonorInfoEntity c){
if(getUserId()!=null){
CloudBaseInfoEntity cbie=cloudBaseInfoService.queryObject(getUser().getUnionId());
if(cbie==null){
throw new RRException("请先填写基本信息!");
}else{
c.setUnionId(cbie.getId());
c.setUnionName(cbie.getLocalUnionName());
}
}else{
throw new RRException("no user id!");
}
c.setMakerId(getUserId());
c.setUpdateTime(new Date());
c.setMakerName(getUser().getRealName());
return c;
}
}