123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- package com.ruoyi.web.controller.api;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Arrays;
- import java.util.concurrent.atomic.AtomicInteger;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.ruoyi.app.domain.TbAppUser;
- import com.ruoyi.app.domain.TbFamilyMember;
- import com.ruoyi.app.domain.vo.AppMemberVo;
- import com.ruoyi.app.service.ITbAppUserService;
- import com.ruoyi.app.service.ITbFamilyMemberService;
- import com.ruoyi.common.utils.StringUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.PutMapping;
- import org.springframework.web.bind.annotation.DeleteMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.ruoyi.common.annotation.Log;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.enums.BusinessType;
- import com.ruoyi.common.utils.poi.ExcelUtil;
- import com.ruoyi.common.core.page.TableDataInfo;
- /**
- * 会员Controller
- *
- * @author Alex
- * @date 2020-09-24
- */
- @Api(value = "个人会员管理", tags = "个人会员管理")
- @RequiredArgsConstructor(onConstructor_ = @Autowired)
- @RestController
- @RequestMapping("/system/appUser" )
- public class TbAppUserController extends BaseController {
- private final ITbAppUserService iTbAppUserService;
- private final ITbFamilyMemberService memberService;
- /**
- * 查询会员列表
- */
- @ApiOperation("查询会员+家族成员列表")
- @PreAuthorize("@ss.hasPermi('system:appUser:list')")
- @GetMapping("/memberList")
- public TableDataInfo memberList(AppMemberVo memberVo) {
- startPage();
- List<AppMemberVo> list = iTbAppUserService.selectAppMembers(memberVo.getEnable(),memberVo.getSearchValue(),
- memberVo.getBeginTime(),memberVo.getEndTime());
- return getDataTable(list);
- }
- /**
- * 查询会员列表
- */
- @ApiOperation("查询会员列表")
- @PreAuthorize("@ss.hasPermi('system:appUser:list')")
- @GetMapping("/list")
- public TableDataInfo list(TbAppUser tbAppUser)
- {
- startPage();
- LambdaQueryWrapper<TbAppUser> lqw = new LambdaQueryWrapper<TbAppUser>();
- if (tbAppUser.getTemplateId() != null){
- lqw.eq(TbAppUser::getTemplateId ,tbAppUser.getTemplateId());
- }
- if (StringUtils.isNotBlank(tbAppUser.getNickName())){
- lqw.like(TbAppUser::getNickName ,tbAppUser.getNickName());
- }
- if (StringUtils.isNotBlank(tbAppUser.getAvatar())){
- lqw.eq(TbAppUser::getAvatar ,tbAppUser.getAvatar());
- }
- if (StringUtils.isNotBlank(tbAppUser.getQrcode())){
- lqw.eq(TbAppUser::getQrcode ,tbAppUser.getQrcode());
- }
- if (tbAppUser.getMobile() != null){
- lqw.eq(TbAppUser::getMobile ,tbAppUser.getMobile());
- }
- if (StringUtils.isNotBlank(tbAppUser.getOpenid())){
- lqw.eq(TbAppUser::getOpenid ,tbAppUser.getOpenid());
- }
- if (StringUtils.isNotBlank(tbAppUser.getVerCode())){
- lqw.eq(TbAppUser::getVerCode ,tbAppUser.getVerCode());
- }
- List<TbAppUser> list = iTbAppUserService.list(lqw);
- return getDataTable(list);
- }
- /**
- * 导出会员列表
- */
- @ApiOperation("导出会员列表")
- @PreAuthorize("@ss.hasPermi('system:appUser:export')" )
- @Log(title = "会员" , businessType = BusinessType.EXPORT)
- @GetMapping("/export" )
- public AjaxResult export(TbAppUser tbAppUser) {
- LambdaQueryWrapper<TbAppUser> lqw = new LambdaQueryWrapper<TbAppUser>(tbAppUser);
- List<TbAppUser> list = iTbAppUserService.list(lqw);
- ExcelUtil<TbAppUser> util = new ExcelUtil<TbAppUser>(TbAppUser. class);
- return util.exportExcel(list, "user" );
- }
- /**
- * 获取会员详细信息
- */
- @ApiOperation("获取会员详细信息")
- @PreAuthorize("@ss.hasPermi('system:appUser:query')" )
- @GetMapping(value = "/{id}" )
- public AjaxResult getInfo(@PathVariable("id" ) Long id) {
- return AjaxResult.success(iTbAppUserService.getAppMember(id.toString(),""));
- }
- /**
- * 新增会员
- */
- @ApiOperation("新增会员")
- @PreAuthorize("@ss.hasPermi('system:appUser:add')" )
- @Log(title = "会员" , businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody TbAppUser tbAppUser) {
- return toAjax(iTbAppUserService.save(tbAppUser) ? 1 : 0);
- }
- //
- // /**
- // * 修改会员
- // */
- // @ApiOperation("修改会员")
- // @PreAuthorize("@ss.hasPermi('system:appUser:edit')" )
- // @Log(title = "会员" , businessType = BusinessType.UPDATE)
- // @PutMapping
- // public AjaxResult edit(@RequestBody TbAppUser tbAppUser) {
- // return toAjax(iTbAppUserService.updateById(tbAppUser) ? 1 : 0);
- // }
- /**
- * 修改会员+家族成员
- */
- @ApiOperation("修改会员信息")
- @PreAuthorize("@ss.hasPermi('system:appUser:edit')" )
- @Log(title = "会员" , businessType = BusinessType.UPDATE)
- @PutMapping("/editAppMember")
- public AjaxResult editAppMember(@RequestBody AppMemberVo memberVo) {
- return toAjax(iTbAppUserService.saveOrUpdate(memberVo) ? 1 : 0);
- }
- /**
- * 删除会员
- */
- @ApiOperation("删除会员")
- @PreAuthorize("@ss.hasPermi('system:appUser:remove')" )
- @Log(title = "会员" , businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}" )
- public AjaxResult remove(@PathVariable Long[] ids) {
- List<TbAppUser> list = iTbAppUserService.listByIds(Arrays.asList(ids));
- if (list.size() <= 0) {
- return AjaxResult.success("数据不存在");
- }
- List<Long> mIds = new ArrayList<>();
- AtomicInteger ck = new AtomicInteger(0);
- list.forEach(item -> {
- if (item.getJoins().equals("Y")) {
- ck.set(1);
- mIds.add(item.getId());
- }
- });
- if(ck.intValue() > 0) {
- return AjaxResult.error("该会员已经加入家族,不允许删除");
- }
- List<TbFamilyMember> memberList = memberService.list(new LambdaQueryWrapper<TbFamilyMember>()
- .in(TbFamilyMember::getAppUserId, Arrays.asList(ids))
- );
- if (memberList.size() > 0) {
- memberList.forEach(item -> {
- item.setAppUserId(null);
- });
- memberService.updateBatchById(memberList);
- }
- return toAjax(iTbAppUserService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
- }
- }
|