/** * Copyright 2018 人人开源 https://www.renren.io *

* This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. *

* This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. *

* You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.UserBaseInfoDTO; import com.epmet.dto.form.IssueInitiatorFormDTO; import com.epmet.dto.form.ResiVolunteerAuthenticateFormDTO; import com.epmet.dto.result.CustomerUserDetailResultDTO; import com.epmet.dto.result.ResiUserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.entity.UserBaseInfoEntity; import com.epmet.excel.UserBaseInfoExcel; import com.epmet.service.UserBaseInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * 用户基础信息 * * @author generator generator@elink-cn.com * @since v1.0.0 2020-07-19 */ @RestController @RequestMapping("userbaseinfo") public class UserBaseInfoController { @Autowired private UserBaseInfoService userBaseInfoService; @GetMapping("page") public Result> page(@RequestParam Map params){ PageData page = userBaseInfoService.page(params); return new Result>().ok(page); } @GetMapping("{id}") public Result get(@PathVariable("id") String id){ UserBaseInfoDTO data = userBaseInfoService.get(id); return new Result().ok(data); } @PostMapping public Result save(@RequestBody UserBaseInfoDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); userBaseInfoService.save(dto); return new Result(); } @PutMapping public Result update(@RequestBody UserBaseInfoDTO dto){ //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); userBaseInfoService.update(dto); return new Result(); } @DeleteMapping public Result delete(@RequestBody String[] ids){ //效验数据 AssertUtils.isArrayEmpty(ids, "id"); userBaseInfoService.delete(ids); return new Result(); } @GetMapping("export") public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { List list = userBaseInfoService.list(params); ExcelUtils.exportExcelToTarget(response, null, list, UserBaseInfoExcel.class); } /** * @param userIdList * @return com.epmet.commons.tools.utils.Result> * @author yinzuomei * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) * @Date 2020/7/22 9:34 **/ @PostMapping("queryuserbaseinfo") public Result> queryUserBaseInfo(@RequestBody List userIdList) { List list = userBaseInfoService.queryUserBaseInfo(userIdList); return new Result>().ok(list); } /** * @return com.epmet.commons.tools.utils.Result * @param * @author yinzuomei * @description 初始化历史用户信息到user_base_info数据 * @Date 2020/7/22 10:42 **/ @PostMapping("initbaseinfo") public Result initBaseInfo(){ userBaseInfoService.initBaseInfo(); return new Result(); } /** * @Description 新增或保存用户基本信息 * @param baseInfo * @return * @author wangc * @date 2020.07.23 13:31 **/ @PostMapping("saveuserbaseinfo") public Result insertOrUpdate(@RequestBody UserBaseInfoEntity baseInfo){ userBaseInfoService.insertOrUpdate(baseInfo); return new Result(); } /** * @Description 查询用户详情信息 * @param param * @return * @author wangc * @date 2020.07.27 01:34 **/ @PostMapping("customeruserdetail") public Result customerUserDetail(@RequestBody IssueInitiatorFormDTO param){ return new Result().ok(userBaseInfoService.customerUserDetail(param.getUserId())); } /** * 获取用户基础信息 * * @param tokenDTO * @return com.epmet.commons.tools.utils.Result * @Author zhangyong * @Date 15:20 2020-07-28 **/ @PostMapping("selectuserbaseinfo") public Result selectUserBaseInfo(@LoginUser TokenDto tokenDTO){ return userBaseInfoService.selecUserBaseInfoByUserId(tokenDTO.getUserId()); } /** * @Description 认证志愿者时保存/修改用户基础信息 * @param param * @return * @author wangc * @date 2020.07.31 09:38 **/ @PostMapping("volunteerbaseinfo") public Result volunteerBaseInfo(@RequestBody ResiVolunteerAuthenticateFormDTO param){ userBaseInfoService.saveUserBaseInfoWhenAuthVolunteer(param); return new Result(); } /** * @Description 清除用户缓存信息 * @param userIds * @return * @author wangc * @date 2020.08.06 14:41 **/ @PostMapping("clearusercache") public Result clearUserCache(@RequestBody List userIds){ userBaseInfoService.clearUserCache(userIds); return new Result(); } }