AdminRegisteInviteCodeController.java 4.0 KB
Newer Older
街头小贩's avatar
街头小贩 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
package com.apobates.forum.thrones.admin.controller;

import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.apobates.forum.member.entity.RegisteInviteCode;
import com.apobates.forum.member.service.RegisteInviteCodeService;
import com.apobates.forum.member.storage.core.MemberSessionBean;
import com.apobates.forum.thrones.admin.controller.form.RegisterInvitecodeForm;
import com.apobates.forum.utils.Commons;
import com.apobates.forum.utils.FrontPageURL;
import com.apobates.forum.utils.TipMessage;
import com.apobates.forum.utils.persistence.Page;
import com.apobates.forum.utils.persistence.PageRequest;
import com.apobates.forum.utils.persistence.Pageable;
街头小贩's avatar
街头小贩 已提交
25 26
import javax.validation.Valid;
import org.springframework.validation.BindingResult;
街头小贩's avatar
街头小贩 已提交
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

/**
 * 会员注册邀请码控制器
 *
 * @author xiaofanku@live.cn
 * @since 20190718
 */
@Controller
@RequestMapping(value = "/member/invitecode")
public class AdminRegisteInviteCodeController {
    @Autowired
    private RegisteInviteCodeService registeInviteCodeService;
    @Value("${site.pageSize}")
    private int pageSize;
    
    @GetMapping(path = "/")
    public String listPage(
            @RequestParam(value = "p", required = false, defaultValue = "1") int page,
            HttpServletRequest request,
            Model model) {
        FrontPageURL fpbuild = new FrontPageURL(request.getContextPath() + "/member/invitecode/").addPageSize("number", pageSize);
        Pageable pr = new PageRequest(page, fpbuild.getPageSize());
        Page<RegisteInviteCode> rs = registeInviteCodeService.get(pr);
        model.addAttribute("rs", rs.getResult().collect(Collectors.toList()));
        model.addAttribute("pageData", fpbuild.toPageData(pr, rs.getTotalElements()));
        return "admin/member_invitecode/index";
    }
    //创建
    @GetMapping(path = "/create")
    public String createForm(
            HttpServletRequest request,
            Model model) {
        RegisterInvitecodeForm form = new RegisterInvitecodeForm();
        form.setCode(Commons.randomAlphaNumeric(10));
        model.addAttribute("form", form);
        return "admin/member_invitecode/create";
    }
    
    @PostMapping(path = "/create")
    public String createAction(
            HttpServletRequest request,
街头小贩's avatar
街头小贩 已提交
68 69 70
            MemberSessionBean mbean,
            @Valid @ModelAttribute("form") RegisterInvitecodeForm form,
            BindingResult bindingResult,
街头小贩's avatar
街头小贩 已提交
71
            Model model) {
街头小贩's avatar
街头小贩 已提交
72 73 74 75
        if (bindingResult.hasErrors()) {
            model.addAttribute("form", form);
            return "admin/member_invitecode/create";
        }
76
        if (registeInviteCodeService.create(mbean.getNickname(), form.getCode()) > 0) {
街头小贩's avatar
街头小贩 已提交
77 78 79 80 81 82 83 84 85 86 87 88 89
            return "redirect:/member/invitecode/";
        }
        model.addAttribute("form", form);
        return "admin/member_invitecode/create";
    }
    //禁用
    @PostMapping(path = "/remove", produces = "application/json;charset=UTF-8")
    @ResponseBody
    public TipMessage removeInvitecodeAction(
            @RequestParam("id") long id,
            MemberSessionBean mbean,
            HttpServletRequest request,
            Model model) {
90 91
        /*
        if (registeInviteCodeService.remove(id).orElse(false)) {
街头小贩's avatar
街头小贩 已提交
92 93
            return TipMessage.ofSuccess("邀请码删除成功");
        }
94 95
        return TipMessage.ofError("操作失败");*/
        return TipMessage.Builder.condition(()->registeInviteCodeService.remove(id)).success("邀请码删除成功").error("操作失败");
街头小贩's avatar
街头小贩 已提交
96 97
    }
}