邀请码申请与审核
This commit is contained in:
parent
7ddab1ae68
commit
69cf630a57
@ -1,4 +1,4 @@
|
|||||||
# 邀请码
|
# 邀请码(未上线)
|
||||||
|
|
||||||
说明
|
说明
|
||||||
|
|
||||||
@ -7,3 +7,8 @@
|
|||||||
1. 由管理员直接生成
|
1. 由管理员直接生成
|
||||||
2. 自己发起申请,管理员审核通过后生成
|
2. 自己发起申请,管理员审核通过后生成
|
||||||
3. 生成邀请码时,必须设置金额和邀请码返利比例
|
3. 生成邀请码时,必须设置金额和邀请码返利比例
|
||||||
|
|
||||||
|
变更的表
|
||||||
|
|
||||||
|
sys_user_expand
|
||||||
|
sys_user_ic_apply
|
@ -0,0 +1,72 @@
|
|||||||
|
package cn.com.tenlion.operator.controller.api.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.enums.ApplyStatusEnum;
|
||||||
|
import cn.com.tenlion.operator.pojo.dtos.user.ic.apply.UserIcApplyDTO;
|
||||||
|
import cn.com.tenlion.operator.pojo.vos.user.ic.apply.UserIcApplyReviewVO;
|
||||||
|
import cn.com.tenlion.operator.service.user.ic.apply.UserIcApplyService;
|
||||||
|
import ink.wgink.common.base.DefaultBaseController;
|
||||||
|
import ink.wgink.exceptions.ParamsException;
|
||||||
|
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||||
|
import ink.wgink.pojo.ListPage;
|
||||||
|
import ink.wgink.pojo.result.SuccessResult;
|
||||||
|
import ink.wgink.pojo.result.SuccessResultList;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcApplyController
|
||||||
|
* Description: 用户邀请码申请
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 上午11:59
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping(ISystemConstant.API_PREFIX + "/user/ic/apply")
|
||||||
|
public class UserIcApplyController extends DefaultBaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserIcApplyService userIcApplyService;
|
||||||
|
|
||||||
|
@PutMapping("review/{userIcApplyId}")
|
||||||
|
public synchronized SuccessResult review(@PathVariable("userIcApplyId") String userIcApplyId,
|
||||||
|
@RequestBody UserIcApplyReviewVO userIcApplyReview) {
|
||||||
|
if (ApplyStatusEnum.PENDING.equals(userIcApplyReview.getApplyStatus())) {
|
||||||
|
throw new ParamsException("状态不能是等待");
|
||||||
|
}
|
||||||
|
if (ApplyStatusEnum.REJECTED.equals(userIcApplyReview.getApplyStatus())) {
|
||||||
|
if (StringUtils.isBlank(userIcApplyReview.getApplyNotes())) {
|
||||||
|
throw new ParamsException("原因不能为空");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ApplyStatusEnum.APPROVED.equals(userIcApplyReview.getApplyStatus())) {
|
||||||
|
if (userIcApplyReview.getPriceAll() < 0) {
|
||||||
|
throw new ParamsException("全托价格不能小于0");
|
||||||
|
}
|
||||||
|
if (userIcApplyReview.getPriceMaterial() < 0) {
|
||||||
|
throw new ParamsException("写材料价格不能小于0");
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(userIcApplyReview.getIc())) {
|
||||||
|
throw new ParamsException("邀请码不能为空");
|
||||||
|
}
|
||||||
|
if (userIcApplyReview.getIcRebateRatio() <= 0) {
|
||||||
|
throw new ParamsException("邀请码返利比率不能小于0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userIcApplyService.updateReview(userIcApplyId, userIcApplyReview);
|
||||||
|
return new SuccessResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("get/{userIcApplyId}")
|
||||||
|
public UserIcApplyDTO get(@PathVariable("userIcApplyId") String userIcApplyId) {
|
||||||
|
return userIcApplyService.get(userIcApplyId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("listpage")
|
||||||
|
public SuccessResultList<List<UserIcApplyDTO>> listpage(ListPage page) {
|
||||||
|
page.setParams(requestParams());
|
||||||
|
return userIcApplyService.listpage(page);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package cn.com.tenlion.operator.controller.resource.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.pojo.dtos.user.ic.apply.UserIcApplyDTO;
|
||||||
|
import cn.com.tenlion.operator.service.user.ic.apply.UserIcApplyService;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import ink.wgink.exceptions.ParamsException;
|
||||||
|
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||||
|
import ink.wgink.pojo.result.SuccessResult;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcApplyResourceController
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 下午12:01
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping(ISystemConstant.RESOURCE_PREFIX + "/user/ic/apply")
|
||||||
|
public class UserIcApplyResourceController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserIcApplyService userIcApplyService;
|
||||||
|
|
||||||
|
@PostMapping("apply")
|
||||||
|
public synchronized SuccessResult apply(@RequestBody JSONObject body) {
|
||||||
|
if (StringUtils.isBlank(body.getString("applier"))) {
|
||||||
|
throw new ParamsException("申请人不能为空");
|
||||||
|
}
|
||||||
|
userIcApplyService.save(body.getString("applier"));
|
||||||
|
return new SuccessResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("get/{userId}")
|
||||||
|
public UserIcApplyDTO getByUserId(@PathVariable("userId") String userId) {
|
||||||
|
return userIcApplyService.getByUserId(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
package cn.com.tenlion.operator.controller.route.user.ic.apply;
|
||||||
|
|
||||||
|
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcRouteController
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 下午6:04
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/user/ic/apply")
|
||||||
|
public class UserIcApplyRouteController {
|
||||||
|
|
||||||
|
@GetMapping("list")
|
||||||
|
public ModelAndView list() {
|
||||||
|
ModelAndView modelAndView = new ModelAndView("user/ic/apply/list");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("review")
|
||||||
|
public ModelAndView review() {
|
||||||
|
ModelAndView modelAndView = new ModelAndView("user/ic/apply/review");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -21,6 +21,8 @@ public interface IUserExpandDao {
|
|||||||
|
|
||||||
void update(Map<String, Object> params);
|
void update(Map<String, Object> params);
|
||||||
|
|
||||||
|
void updateIc(Map<String, Object> params);
|
||||||
|
|
||||||
void updateRelationIc(Map<String, Object> params);
|
void updateRelationIc(Map<String, Object> params);
|
||||||
|
|
||||||
void updateRelationRebateRatio(Map<String, Object> params);
|
void updateRelationRebateRatio(Map<String, Object> params);
|
||||||
@ -33,4 +35,5 @@ public interface IUserExpandDao {
|
|||||||
|
|
||||||
List<String> listUserIdByRelationUserId(String userId);
|
List<String> listUserIdByRelationUserId(String userId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,33 @@
|
|||||||
|
package cn.com.tenlion.operator.dao.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.pojo.dtos.user.ic.apply.UserIcApplyDTO;
|
||||||
|
import cn.com.tenlion.operator.pojo.pos.user.ic.apply.UserIcApplyPO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName: IUserIcApplyDao
|
||||||
|
* @Description:
|
||||||
|
* @Author: wanggeng
|
||||||
|
* @Date: 2024/8/8 上午11:50
|
||||||
|
* @Version: 1.0
|
||||||
|
*/
|
||||||
|
public interface IUserIcApplyDao {
|
||||||
|
|
||||||
|
void save(Map<String, Object> params);
|
||||||
|
|
||||||
|
void updateApplyStatus(Map<String, Object> params);
|
||||||
|
|
||||||
|
UserIcApplyPO getPO(Map<String, Object> params);
|
||||||
|
|
||||||
|
UserIcApplyPO getLatestPOByCreator(String creator);
|
||||||
|
|
||||||
|
UserIcApplyDTO get(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<UserIcApplyPO> listPO(Map<String, Object> params);
|
||||||
|
|
||||||
|
List<UserIcApplyDTO> list(Map<String, Object> params);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package cn.com.tenlion.operator.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: ApplyStatusEnum
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 上午11:55
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
public enum ApplyStatusEnum {
|
||||||
|
|
||||||
|
PENDING("等待中"),
|
||||||
|
APPROVED("已通过"),
|
||||||
|
REJECTED("已拒绝");
|
||||||
|
|
||||||
|
private final String text;
|
||||||
|
|
||||||
|
ApplyStatusEnum(String text) {
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getText() {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,153 @@
|
|||||||
|
package cn.com.tenlion.operator.pojo.dtos.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.enums.ApplyStatusEnum;
|
||||||
|
import cn.com.tenlion.operator.pojo.dtos.user.info.UserInfoDTO;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcApplyDTO
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 下午2:30
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
@ApiModel
|
||||||
|
public class UserIcApplyDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "userIcApplyId", value = "主键")
|
||||||
|
private String userIcApplyId;
|
||||||
|
@ApiModelProperty(name = "applyStatus", value = "申请状态")
|
||||||
|
private ApplyStatusEnum applyStatus;
|
||||||
|
@ApiModelProperty(name = "applyNotes", value = "申请备注")
|
||||||
|
private String applyNotes;
|
||||||
|
@ApiModelProperty(name = "reviewer", value = "审核人")
|
||||||
|
private String reviewer;
|
||||||
|
@ApiModelProperty(name = "gmtReview", value = "审核时间")
|
||||||
|
private String gmtReview;
|
||||||
|
@ApiModelProperty(name = "gmtCreate", value = "申请时间")
|
||||||
|
private String gmtCreate;
|
||||||
|
@ApiModelProperty(name = "creator", value = "申请人")
|
||||||
|
private String creator;
|
||||||
|
@ApiModelProperty(name = "userUsername", value = "用户名")
|
||||||
|
private String userUsername;
|
||||||
|
@ApiModelProperty(name = "userName", value = "昵称")
|
||||||
|
private String userName;
|
||||||
|
private UserInfoDTO userInfo;
|
||||||
|
private Long priceAll;
|
||||||
|
private Long priceMaterial;
|
||||||
|
private String ic;
|
||||||
|
private Integer icRebateRatio;
|
||||||
|
|
||||||
|
public String getUserIcApplyId() {
|
||||||
|
return userIcApplyId == null ? "" : userIcApplyId.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserIcApplyId(String userIcApplyId) {
|
||||||
|
this.userIcApplyId = userIcApplyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ApplyStatusEnum getApplyStatus() {
|
||||||
|
return applyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplyStatus(ApplyStatusEnum applyStatus) {
|
||||||
|
this.applyStatus = applyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getApplyNotes() {
|
||||||
|
return applyNotes == null ? "" : applyNotes.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplyNotes(String applyNotes) {
|
||||||
|
this.applyNotes = applyNotes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReviewer() {
|
||||||
|
return reviewer == null ? "" : reviewer.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReviewer(String reviewer) {
|
||||||
|
this.reviewer = reviewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGmtReview() {
|
||||||
|
return gmtReview == null ? "" : gmtReview.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGmtReview(String gmtReview) {
|
||||||
|
this.gmtReview = gmtReview;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGmtCreate() {
|
||||||
|
return gmtCreate == null ? "" : gmtCreate.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGmtCreate(String gmtCreate) {
|
||||||
|
this.gmtCreate = gmtCreate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreator() {
|
||||||
|
return creator == null ? "" : creator.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreator(String creator) {
|
||||||
|
this.creator = creator;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserUsername() {
|
||||||
|
return userUsername == null ? "" : userUsername.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserUsername(String userUsername) {
|
||||||
|
this.userUsername = userUsername;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUserName() {
|
||||||
|
return userName == null ? "" : userName.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserName(String userName) {
|
||||||
|
this.userName = userName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserInfoDTO getUserInfo() {
|
||||||
|
return userInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserInfo(UserInfoDTO userInfo) {
|
||||||
|
this.userInfo = userInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getPriceAll() {
|
||||||
|
return priceAll == null ? 0 : priceAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPriceAll(Long priceAll) {
|
||||||
|
this.priceAll = priceAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getPriceMaterial() {
|
||||||
|
return priceMaterial == null ? 0 : priceMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPriceMaterial(Long priceMaterial) {
|
||||||
|
this.priceMaterial = priceMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIc() {
|
||||||
|
return ic == null ? "" : ic.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIc(String ic) {
|
||||||
|
this.ic = ic;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIcRebateRatio() {
|
||||||
|
return icRebateRatio == null ? 0 : icRebateRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIcRebateRatio(Integer icRebateRatio) {
|
||||||
|
this.icRebateRatio = icRebateRatio;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,86 @@
|
|||||||
|
package cn.com.tenlion.operator.pojo.pos.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.enums.ApplyStatusEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcApplyPO
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 上午11:42
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
public class UserIcApplyPO {
|
||||||
|
|
||||||
|
private String userIcApplyId;
|
||||||
|
private ApplyStatusEnum applyStatus;
|
||||||
|
private String applyNotes;
|
||||||
|
private String reviewer;
|
||||||
|
private String gmtReview;
|
||||||
|
private String gmtCreate;
|
||||||
|
private String creator;
|
||||||
|
private Integer isDelete;
|
||||||
|
|
||||||
|
public String getUserIcApplyId() {
|
||||||
|
return userIcApplyId == null ? "" : userIcApplyId.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserIcApplyId(String userIcApplyId) {
|
||||||
|
this.userIcApplyId = userIcApplyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ApplyStatusEnum getApplyStatus() {
|
||||||
|
return applyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplyStatus(ApplyStatusEnum applyStatus) {
|
||||||
|
this.applyStatus = applyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getApplyNotes() {
|
||||||
|
return applyNotes == null ? "" : applyNotes.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplyNotes(String applyNotes) {
|
||||||
|
this.applyNotes = applyNotes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getReviewer() {
|
||||||
|
return reviewer == null ? "" : reviewer.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReviewer(String reviewer) {
|
||||||
|
this.reviewer = reviewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGmtReview() {
|
||||||
|
return gmtReview == null ? "" : gmtReview.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGmtReview(String gmtReview) {
|
||||||
|
this.gmtReview = gmtReview;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGmtCreate() {
|
||||||
|
return gmtCreate == null ? "" : gmtCreate.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGmtCreate(String gmtCreate) {
|
||||||
|
this.gmtCreate = gmtCreate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreator() {
|
||||||
|
return creator == null ? "" : creator.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreator(String creator) {
|
||||||
|
this.creator = creator;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIsDelete() {
|
||||||
|
return isDelete == null ? 0 : isDelete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIsDelete(Integer isDelete) {
|
||||||
|
this.isDelete = isDelete;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,73 @@
|
|||||||
|
package cn.com.tenlion.operator.pojo.vos.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.enums.ApplyStatusEnum;
|
||||||
|
import cn.com.tenlion.operator.pojo.vos.user.expand.UserExpandVO;
|
||||||
|
import ink.wgink.annotation.CheckEmptyAnnotation;
|
||||||
|
import ink.wgink.annotation.CheckNullAnnotation;
|
||||||
|
import ink.wgink.annotation.CheckNumberAnnotation;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcApplyVO
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 下午3:53
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
public class UserIcApplyReviewVO {
|
||||||
|
|
||||||
|
@CheckNullAnnotation(name = "申请状态")
|
||||||
|
private ApplyStatusEnum applyStatus;
|
||||||
|
private String applyNotes;
|
||||||
|
private Double priceAll;
|
||||||
|
private Double priceMaterial;
|
||||||
|
private String ic;
|
||||||
|
private Integer icRebateRatio;
|
||||||
|
|
||||||
|
public ApplyStatusEnum getApplyStatus() {
|
||||||
|
return applyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplyStatus(ApplyStatusEnum applyStatus) {
|
||||||
|
this.applyStatus = applyStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getApplyNotes() {
|
||||||
|
return applyNotes == null ? "" : applyNotes.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplyNotes(String applyNotes) {
|
||||||
|
this.applyNotes = applyNotes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getPriceAll() {
|
||||||
|
return priceAll == null ? 0 : priceAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPriceAll(Double priceAll) {
|
||||||
|
this.priceAll = priceAll;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getPriceMaterial() {
|
||||||
|
return priceMaterial == null ? 0 : priceMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPriceMaterial(Double priceMaterial) {
|
||||||
|
this.priceMaterial = priceMaterial;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIc() {
|
||||||
|
return ic == null ? "" : ic.trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIc(String ic) {
|
||||||
|
this.ic = ic;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getIcRebateRatio() {
|
||||||
|
return icRebateRatio == null ? 0 : icRebateRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIcRebateRatio(Integer icRebateRatio) {
|
||||||
|
this.icRebateRatio = icRebateRatio;
|
||||||
|
}
|
||||||
|
}
|
@ -44,8 +44,6 @@ public class UserCustomService extends DefaultBaseService {
|
|||||||
private IRoleUserService roleUserService;
|
private IRoleUserService roleUserService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserInfoService userInfoService;
|
private UserInfoService userInfoService;
|
||||||
@Autowired
|
|
||||||
private SystemApiPathProperties systemApiPathProperties;
|
|
||||||
|
|
||||||
public SuccessResultList<List<UserCustomDTO>> listpage(ListPage page) {
|
public SuccessResultList<List<UserCustomDTO>> listpage(ListPage page) {
|
||||||
SuccessResultList<List<UserDTO>> successResultList = userService.listPage(page);
|
SuccessResultList<List<UserDTO>> successResultList = userService.listPage(page);
|
||||||
|
@ -151,13 +151,15 @@ public class UserExpandServiceImpl extends DefaultBaseService implements IUserEx
|
|||||||
|
|
||||||
Map<String, Object> params = getHashMap(2);
|
Map<String, Object> params = getHashMap(2);
|
||||||
params.put("userId", userId);
|
params.put("userId", userId);
|
||||||
|
UserExpandDTO userExpandDTO = userExpandDao.get(params);
|
||||||
|
|
||||||
params = HashMapUtil.beanToMap(userExpandVO);
|
params = HashMapUtil.beanToMap(userExpandVO);
|
||||||
params.put("userId", userId);
|
params.put("userId", userId);
|
||||||
if (StringUtils.isNotBlank(userExpandVO.getIc())) {
|
if (StringUtils.isNotBlank(userExpandVO.getIc())) {
|
||||||
|
params.put("icAssignUserId", securityComponent.getCurrentUser().getUserId());
|
||||||
params.put("icWayToGet", IcWayToGetEnum.ASSIGN);
|
params.put("icWayToGet", IcWayToGetEnum.ASSIGN);
|
||||||
params.put("icGetTime", DateUtil.getTime());
|
params.put("icGetTime", DateUtil.getTime());
|
||||||
}
|
}
|
||||||
UserExpandDTO userExpandDTO = userExpandDao.get(params);
|
|
||||||
if (userExpandDTO == null) {
|
if (userExpandDTO == null) {
|
||||||
if (StringUtils.isNotBlank(userExpandVO.getIc()) && countIc(userExpandVO.getIc()) > 0) {
|
if (StringUtils.isNotBlank(userExpandVO.getIc()) && countIc(userExpandVO.getIc()) > 0) {
|
||||||
throw new SearchException("邀请码已存在,请重新生成");
|
throw new SearchException("邀请码已存在,请重新生成");
|
||||||
@ -183,6 +185,37 @@ public class UserExpandServiceImpl extends DefaultBaseService implements IUserEx
|
|||||||
updateBatchRelationRebateRatio(userId, userExpandDTO == null ? 0 : userExpandDTO.getIcRebateRatio(), userExpandVO.getIcRebateRatio());
|
updateBatchRelationRebateRatio(userId, userExpandDTO == null ? 0 : userExpandDTO.getIcRebateRatio(), userExpandVO.getIcRebateRatio());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveOrUpdateWithIc(String userId, UserExpandVO userExpandVO) {
|
||||||
|
userExpandVO.setPriceAll(userExpandVO.getPriceAll() * 100);
|
||||||
|
userExpandVO.setPriceMaterial(userExpandVO.getPriceMaterial() * 100);
|
||||||
|
userExpandVO.setAvailableProjType("PRICE_ALL,PRICE_MATERIAL,PRICE_FREE");
|
||||||
|
|
||||||
|
Map<String, Object> params = getHashMap(2);
|
||||||
|
params.put("userId", userId);
|
||||||
|
UserExpandDTO userExpandDTO = userExpandDao.get(params);
|
||||||
|
|
||||||
|
params = HashMapUtil.beanToMap(userExpandVO);
|
||||||
|
params.put("userId", userId);
|
||||||
|
params.put("icAssignUserId", securityComponent.getCurrentUser().getUserId());
|
||||||
|
params.put("icWayToGet", IcWayToGetEnum.APPLY);
|
||||||
|
params.put("icGetTime", DateUtil.getTime());
|
||||||
|
|
||||||
|
if (StringUtils.isNotBlank(userExpandVO.getIc()) && countIc(userExpandVO.getIc()) > 0) {
|
||||||
|
throw new SearchException("邀请码已存在,请重新生成");
|
||||||
|
}
|
||||||
|
if (userExpandDTO == null) {
|
||||||
|
userExpandDao.save(params);
|
||||||
|
} else {
|
||||||
|
if (StringUtils.isNotBlank(userExpandDTO.getRelationIc()) &&
|
||||||
|
StringUtils.equals("ACTIVE", userExpandVO.getPostpaid())) {
|
||||||
|
throw new SearchException("已经绑定邀请码的用户不能设置为后付费用户");
|
||||||
|
}
|
||||||
|
userExpandDao.updateIc(params);
|
||||||
|
}
|
||||||
|
updateRedis(userId);
|
||||||
|
updateBatchRelationRebateRatio(userId, userExpandDTO == null ? 0 : userExpandDTO.getIcRebateRatio(), userExpandVO.getIcRebateRatio());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量更新返利比率
|
* 批量更新返利比率
|
||||||
*
|
*
|
||||||
|
@ -0,0 +1,145 @@
|
|||||||
|
package cn.com.tenlion.operator.service.user.ic.apply;
|
||||||
|
|
||||||
|
import cn.com.tenlion.operator.dao.user.ic.apply.IUserIcApplyDao;
|
||||||
|
import cn.com.tenlion.operator.enums.ApplyStatusEnum;
|
||||||
|
import cn.com.tenlion.operator.pojo.dtos.user.ic.apply.UserIcApplyDTO;
|
||||||
|
import cn.com.tenlion.operator.pojo.dtos.user.info.UserInfoDTO;
|
||||||
|
import cn.com.tenlion.operator.pojo.pos.user.expand.UserExpandPO;
|
||||||
|
import cn.com.tenlion.operator.pojo.pos.user.ic.apply.UserIcApplyPO;
|
||||||
|
import cn.com.tenlion.operator.pojo.vos.user.expand.UserExpandVO;
|
||||||
|
import cn.com.tenlion.operator.pojo.vos.user.ic.apply.UserIcApplyReviewVO;
|
||||||
|
import cn.com.tenlion.operator.service.user.expand.UserExpandServiceImpl;
|
||||||
|
import cn.com.tenlion.operator.service.user.info.UserInfoService;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import ink.wgink.common.base.DefaultBaseService;
|
||||||
|
import ink.wgink.exceptions.SearchException;
|
||||||
|
import ink.wgink.pojo.ListPage;
|
||||||
|
import ink.wgink.pojo.result.SuccessResultList;
|
||||||
|
import ink.wgink.util.UUIDUtil;
|
||||||
|
import ink.wgink.util.date.DateUtil;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName: UserIcApplyService
|
||||||
|
* Description:
|
||||||
|
* Author: wanggeng
|
||||||
|
* Date: 2024/8/8 上午11:58
|
||||||
|
* Version: 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class UserIcApplyService extends DefaultBaseService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IUserIcApplyDao userIcApplyDao;
|
||||||
|
@Autowired
|
||||||
|
private UserExpandServiceImpl userExpandService;
|
||||||
|
@Autowired
|
||||||
|
private UserInfoService userInfoService;
|
||||||
|
|
||||||
|
public void save(String applier) {
|
||||||
|
UserIcApplyPO latestPO = userIcApplyDao.getLatestPOByCreator(applier);
|
||||||
|
if (latestPO != null) {
|
||||||
|
if (ApplyStatusEnum.PENDING.equals(latestPO.getApplyStatus())) {
|
||||||
|
throw new SearchException("正在审核");
|
||||||
|
}
|
||||||
|
if (ApplyStatusEnum.APPROVED.equals(latestPO.getApplyStatus())) {
|
||||||
|
throw new SearchException("申请已通过,不能重复申请");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String uuid = UUIDUtil.getUUID();
|
||||||
|
Map<String, Object> params = new HashMap<>();
|
||||||
|
params.put("userIcApplyId", uuid);
|
||||||
|
params.put("applyStatus", ApplyStatusEnum.PENDING);
|
||||||
|
params.put("creator", applier);
|
||||||
|
params.put("gmtCreate", DateUtil.getTime());
|
||||||
|
params.put("isDelete", 0);
|
||||||
|
userIcApplyDao.save(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateReview(String userIcApplyId, UserIcApplyReviewVO userIcApplyReview) {
|
||||||
|
UserIcApplyPO po = getPO(userIcApplyId);
|
||||||
|
if (po == null) {
|
||||||
|
throw new SearchException("申请不存在");
|
||||||
|
}
|
||||||
|
if(!ApplyStatusEnum.PENDING.equals(po.getApplyStatus())) {
|
||||||
|
throw new SearchException("不能重复审核");
|
||||||
|
}
|
||||||
|
Map<String, Object> params = getHashMap(6);
|
||||||
|
params.put("receiver", securityComponent.getCurrentUser().getUserId());
|
||||||
|
params.put("applyStatus", userIcApplyReview.getApplyStatus());
|
||||||
|
params.put("applyNotes", userIcApplyReview.getApplyNotes());
|
||||||
|
params.put("reviewer", securityComponent.getCurrentUser().getUserId());
|
||||||
|
params.put("gmtReview", DateUtil.getTime());
|
||||||
|
params.put("userIcApplyId", userIcApplyId);
|
||||||
|
userIcApplyDao.updateApplyStatus(params);
|
||||||
|
|
||||||
|
if (ApplyStatusEnum.APPROVED.equals(userIcApplyReview.getApplyStatus())) {
|
||||||
|
UserExpandVO userExpandVO = new UserExpandVO();
|
||||||
|
BeanUtils.copyProperties(userIcApplyReview, userExpandVO);
|
||||||
|
userExpandService.saveOrUpdateWithIc(po.getCreator(), userExpandVO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserIcApplyPO getPO(String userIcApplyId) {
|
||||||
|
Map<String, Object> params = getHashMap(2);
|
||||||
|
params.put("userIcApplyId", userIcApplyId);
|
||||||
|
return userIcApplyDao.getPO(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserIcApplyDTO get(String userIcApplyId) {
|
||||||
|
Map<String, Object> params = getHashMap(2);
|
||||||
|
params.put("userIcApplyId", userIcApplyId);
|
||||||
|
UserIcApplyDTO userIcApplyDTO = userIcApplyDao.get(params);
|
||||||
|
if (userIcApplyDTO == null) {
|
||||||
|
throw new SearchException("申请不存在");
|
||||||
|
}
|
||||||
|
UserExpandPO po = userExpandService.getPO(userIcApplyDTO.getCreator());
|
||||||
|
if (po != null) {
|
||||||
|
userIcApplyDTO.setPriceAll(po.getPriceAll());
|
||||||
|
userIcApplyDTO.setPriceMaterial(po.getPriceMaterial());
|
||||||
|
userIcApplyDTO.setIc(po.getIc());
|
||||||
|
userIcApplyDTO.setIcRebateRatio(po.getIcRebateRatio());
|
||||||
|
}
|
||||||
|
return userIcApplyDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserIcApplyDTO getByUserId(String userId) {
|
||||||
|
Map<String, Object> params = getHashMap(2);
|
||||||
|
params.put("creator", userId);
|
||||||
|
return userIcApplyDao.get(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserIcApplyDTO getSelf() {
|
||||||
|
return getByUserId(securityComponent.getCurrentUser().getUserId());
|
||||||
|
}
|
||||||
|
|
||||||
|
public SuccessResultList<List<UserIcApplyDTO>> listpage(ListPage page) {
|
||||||
|
PageHelper.startPage(page.getPage(), page.getRows());
|
||||||
|
List<UserIcApplyDTO> userIcApplyDTOS = userIcApplyDao.list(page.getParams());
|
||||||
|
PageInfo<UserIcApplyDTO> pageInfo = new PageInfo<>(userIcApplyDTOS);
|
||||||
|
setUserInfo(userIcApplyDTOS);
|
||||||
|
return new SuccessResultList<>(userIcApplyDTOS, pageInfo.getPageNum(), pageInfo.getTotal());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setUserInfo(List<UserIcApplyDTO> userIcApplyDTOS) {
|
||||||
|
if (userIcApplyDTOS.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<String> userIds = userIcApplyDTOS.stream().map(UserIcApplyDTO::getCreator).collect(Collectors.toList());
|
||||||
|
List<UserInfoDTO> userInfoDTOS = userInfoService.listByUserIds(userIds);
|
||||||
|
userIcApplyDTOS.forEach(userIcApplyDTO -> {
|
||||||
|
userInfoDTOS.stream().filter(userInfoDTO -> StringUtils.equals(userIcApplyDTO.getCreator(), userInfoDTO.getUserId())).findFirst().ifPresent(userIcApplyDTO::setUserInfo);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -69,6 +69,7 @@
|
|||||||
correction_count,
|
correction_count,
|
||||||
ic,
|
ic,
|
||||||
ic_rebate_ratio,
|
ic_rebate_ratio,
|
||||||
|
ic_way_to_get,
|
||||||
ic_get_time,
|
ic_get_time,
|
||||||
ic_assign_user_id
|
ic_assign_user_id
|
||||||
) VALUES (
|
) VALUES (
|
||||||
@ -87,6 +88,7 @@
|
|||||||
#{correctionCount},
|
#{correctionCount},
|
||||||
#{ic},
|
#{ic},
|
||||||
#{icRebateRatio},
|
#{icRebateRatio},
|
||||||
|
#{icWayToGet},
|
||||||
#{icGetTime},
|
#{icGetTime},
|
||||||
#{icAssignUserId}
|
#{icAssignUserId}
|
||||||
)
|
)
|
||||||
@ -124,6 +126,22 @@
|
|||||||
user_id = #{userId}
|
user_id = #{userId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="updateIc" parameterType="map">
|
||||||
|
UPDATE
|
||||||
|
sys_user_expand
|
||||||
|
SET
|
||||||
|
ic = #{ic},
|
||||||
|
ic_rebate_ratio = #{icRebateRatio},
|
||||||
|
ic_assign_user_id = #{icAssignUserId},
|
||||||
|
ic_way_to_get = #{icWayToGet},
|
||||||
|
ic_get_time = #{icGetTime},
|
||||||
|
price_all = #{priceAll},
|
||||||
|
price_material = #{priceMaterial},
|
||||||
|
available_proj_type = #{availableProjType}
|
||||||
|
WHERE
|
||||||
|
user_id = #{userId}
|
||||||
|
</update>
|
||||||
|
|
||||||
<update id="updateRelationIc" parameterType="map">
|
<update id="updateRelationIc" parameterType="map">
|
||||||
UPDATE
|
UPDATE
|
||||||
sys_user_expand
|
sys_user_expand
|
||||||
|
@ -0,0 +1,219 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.com.tenlion.operator.dao.user.ic.apply.IUserIcApplyDao">
|
||||||
|
|
||||||
|
<resultMap id="userIcApplyPO" type="cn.com.tenlion.operator.pojo.pos.user.ic.apply.UserIcApplyPO">
|
||||||
|
<result column="user_ic_apply_id" property="userIcApplyId"/>
|
||||||
|
<result column="apply_status" property="applyStatus"/>
|
||||||
|
<result column="apply_notes" property="applyNotes"/>
|
||||||
|
<result column="reviewer" property="reviewer"/>
|
||||||
|
<result column="gmt_review" property="gmtReview"/>
|
||||||
|
<result column="gmt_create" property="gmtCreate"/>
|
||||||
|
<result column="creator" property="creator"/>
|
||||||
|
<result column="is_delete" property="isDelete"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="userIcApplyDTO" type="cn.com.tenlion.operator.pojo.dtos.user.ic.apply.UserIcApplyDTO">
|
||||||
|
<result column="user_ic_apply_id" property="userIcApplyId"/>
|
||||||
|
<result column="apply_status" property="applyStatus"/>
|
||||||
|
<result column="apply_notes" property="applyNotes"/>
|
||||||
|
<result column="reviewer" property="reviewer"/>
|
||||||
|
<result column="gmt_review" property="gmtReview"/>
|
||||||
|
<result column="gmt_create" property="gmtCreate"/>
|
||||||
|
<result column="creator" property="creator"/>
|
||||||
|
<result column="user_username" property="userUsername"/>
|
||||||
|
<result column="user_name" property="userName"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<insert id="save" parameterType="map">
|
||||||
|
INSERT INTO sys_user_ic_apply (
|
||||||
|
user_ic_apply_id,
|
||||||
|
apply_status,
|
||||||
|
apply_notes,
|
||||||
|
reviewer,
|
||||||
|
gmt_review,
|
||||||
|
gmt_create,
|
||||||
|
creator,
|
||||||
|
is_delete
|
||||||
|
) VALUES (
|
||||||
|
#{userIcApplyId},
|
||||||
|
#{applyStatus},
|
||||||
|
#{applyNotes},
|
||||||
|
#{reviewer},
|
||||||
|
#{gmtReview},
|
||||||
|
#{gmtCreate},
|
||||||
|
#{creator},
|
||||||
|
#{isDelete}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateApplyStatus" parameterType="map">
|
||||||
|
UPDATE
|
||||||
|
sys_user_ic_apply
|
||||||
|
SET
|
||||||
|
apply_status = #{applyStatus},
|
||||||
|
apply_notes = #{applyNotes},
|
||||||
|
reviewer = #{reviewer},
|
||||||
|
gmt_review = #{gmtReview}
|
||||||
|
WHERE
|
||||||
|
user_ic_apply_id = #{userIcApplyId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="getPO" parameterType="map" resultMap="userIcApplyPO">
|
||||||
|
SELECT
|
||||||
|
user_ic_apply_id,
|
||||||
|
apply_status,
|
||||||
|
apply_notes,
|
||||||
|
reviewer,
|
||||||
|
gmt_review,
|
||||||
|
gmt_create,
|
||||||
|
creator,
|
||||||
|
is_delete
|
||||||
|
FROM
|
||||||
|
sys_user_ic_apply
|
||||||
|
WHERE
|
||||||
|
is_delete = 0
|
||||||
|
<if test="userIcApplyId != null and userIcApplyId != ''">
|
||||||
|
AND
|
||||||
|
user_ic_apply_id = #{userIcApplyId}
|
||||||
|
</if>
|
||||||
|
<if test="applyStatus != null and applyStatus != ''">
|
||||||
|
AND
|
||||||
|
apply_status = #{applyStatus}
|
||||||
|
</if>
|
||||||
|
<if test="creator != null and creator != ''">
|
||||||
|
AND
|
||||||
|
creator = #{creator}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getLatestPOByCreator" parameterType="java.lang.String" resultMap="userIcApplyPO">
|
||||||
|
SELECT
|
||||||
|
user_ic_apply_id,
|
||||||
|
apply_status,
|
||||||
|
apply_notes,
|
||||||
|
reviewer,
|
||||||
|
gmt_review,
|
||||||
|
gmt_create,
|
||||||
|
creator,
|
||||||
|
is_delete
|
||||||
|
FROM
|
||||||
|
sys_user_ic_apply
|
||||||
|
WHERE
|
||||||
|
is_delete = 0
|
||||||
|
AND
|
||||||
|
creator = #{_parameter}
|
||||||
|
ORDER BY
|
||||||
|
id DESC
|
||||||
|
LIMIT 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="get" parameterType="map" resultMap="userIcApplyDTO">
|
||||||
|
SELECT
|
||||||
|
user_ic_apply_id,
|
||||||
|
apply_status,
|
||||||
|
apply_notes,
|
||||||
|
reviewer,
|
||||||
|
gmt_review,
|
||||||
|
gmt_create,
|
||||||
|
creator,
|
||||||
|
is_delete
|
||||||
|
FROM
|
||||||
|
sys_user_ic_apply
|
||||||
|
WHERE
|
||||||
|
is_delete = 0
|
||||||
|
<if test="userIcApplyId != null and userIcApplyId != ''">
|
||||||
|
AND
|
||||||
|
user_ic_apply_id = #{userIcApplyId}
|
||||||
|
</if>
|
||||||
|
<if test="applyStatus != null and applyStatus != ''">
|
||||||
|
AND
|
||||||
|
apply_status = #{applyStatus}
|
||||||
|
</if>
|
||||||
|
<if test="creator != null and creator != ''">
|
||||||
|
AND
|
||||||
|
creator = #{creator}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="listPO" parameterType="map" resultMap="userIcApplyPO">
|
||||||
|
SELECT
|
||||||
|
user_ic_apply_id,
|
||||||
|
apply_status,
|
||||||
|
apply_notes,
|
||||||
|
reviewer,
|
||||||
|
gmt_review,
|
||||||
|
gmt_create,
|
||||||
|
creator,
|
||||||
|
is_delete
|
||||||
|
FROM
|
||||||
|
sys_user_ic_apply
|
||||||
|
WHERE
|
||||||
|
is_delete = 0
|
||||||
|
<if test="userIcApplyIds != null and userIcApplyIds.size > 0">
|
||||||
|
AND
|
||||||
|
user_ic_apply_id IN
|
||||||
|
<foreach collection="userIcApplyIds" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="applyStatus != null and applyStatus != ''">
|
||||||
|
AND
|
||||||
|
apply_status = #{applyStatus}
|
||||||
|
</if>
|
||||||
|
<if test="creator != null and creator != ''">
|
||||||
|
AND
|
||||||
|
creator = #{creator}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="list" parameterType="map" resultMap="userIcApplyDTO">
|
||||||
|
SELECT
|
||||||
|
suia.user_ic_apply_id,
|
||||||
|
suia.apply_status,
|
||||||
|
suia.apply_notes,
|
||||||
|
suia.reviewer,
|
||||||
|
suia.gmt_review,
|
||||||
|
suia.gmt_create,
|
||||||
|
suia.creator,
|
||||||
|
su.user_username,
|
||||||
|
su.user_name
|
||||||
|
FROM
|
||||||
|
sys_user_ic_apply suia
|
||||||
|
INNER JOIN
|
||||||
|
sys_user su
|
||||||
|
ON
|
||||||
|
suia.creator = su.user_id
|
||||||
|
AND
|
||||||
|
su.is_delete = 0
|
||||||
|
WHERE
|
||||||
|
suia.is_delete = 0
|
||||||
|
<if test="userIcApplyIds != null and userIcApplyIds.size > 0">
|
||||||
|
AND
|
||||||
|
suia.user_ic_apply_id IN
|
||||||
|
<foreach collection="userIcApplyIds" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="applyStatus != null and applyStatus != ''">
|
||||||
|
AND
|
||||||
|
suia.apply_status = #{applyStatus}
|
||||||
|
</if>
|
||||||
|
<if test="creator != null and creator != ''">
|
||||||
|
AND
|
||||||
|
suia.creator = #{creator}
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null and startTime != ''">
|
||||||
|
AND
|
||||||
|
LEFT(suia.gmt_create, 10) <![CDATA[ >= ]]> #{startTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime != ''">
|
||||||
|
AND
|
||||||
|
LEFT(suia.gmt_create, 10) <![CDATA[ <= ]]> #{endTime}
|
||||||
|
</if>
|
||||||
|
ORDER BY
|
||||||
|
suia.gmt_create DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
202
src/main/resources/templates/user/ic/apply/list.html
Normal file
202
src/main/resources/templates/user/ic/apply/list.html
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<base th:href="${#request.getContextPath() + '/'}">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
<style>
|
||||||
|
.id-card .img {width: 26px;height: 26px;cursor:pointer;}
|
||||||
|
.search-item .layui-form-select .layui-input {width: 150px;}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||||
|
<div class="layui-row">
|
||||||
|
<div class="layui-col-md12">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-body">
|
||||||
|
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
||||||
|
<div class="layui-inline">
|
||||||
|
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入名称或姓名">
|
||||||
|
</div>
|
||||||
|
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||||
|
<i class="fa fa-lg fa-search"></i> 搜索
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
|
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||||
|
<script th:inline="javascript">
|
||||||
|
layui.config({
|
||||||
|
base: 'assets/layuiadmin/'
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index'
|
||||||
|
}).use(['index', 'table', 'laydate', 'common' , 'form'], function() {
|
||||||
|
var $ = layui.$;
|
||||||
|
var $win = $(window);
|
||||||
|
var table = layui.table;
|
||||||
|
var admin = layui.admin;
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
var common = layui.common;
|
||||||
|
var form = layui.form;
|
||||||
|
var resizeTimeout = null;
|
||||||
|
var tableUrl = 'api/user/ic/apply/listpage';
|
||||||
|
|
||||||
|
// 初始化表格
|
||||||
|
function initTable() {
|
||||||
|
table.render({
|
||||||
|
elem: '#dataTable',
|
||||||
|
id: 'dataTable',
|
||||||
|
url: tableUrl,
|
||||||
|
width: admin.screen() > 1 ? '100%' : '',
|
||||||
|
height: $win.height() - 90,
|
||||||
|
limit: 20,
|
||||||
|
limits: [20, 40, 60, 80, 100, 200],
|
||||||
|
toolbar: false,
|
||||||
|
defaultToolbar: [],
|
||||||
|
request: {
|
||||||
|
pageName: 'page',
|
||||||
|
limitName: 'rows'
|
||||||
|
},
|
||||||
|
cols: [
|
||||||
|
[
|
||||||
|
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_NUM}}</span>'},
|
||||||
|
{field: 'userUsername', width: 140, title: '用户名', align:'center',
|
||||||
|
templet: function(row) {
|
||||||
|
var rowData = row[this.field];
|
||||||
|
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return rowData;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'userInfoName', width: 140, title: '用户信息名称', align:'center',
|
||||||
|
templet: function(row) {
|
||||||
|
var rowData = row.userInfo.userInfoName;
|
||||||
|
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return rowData;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'applyStatus', width: 140, title: '申请状态', align:'center',
|
||||||
|
templet: function(row) {
|
||||||
|
var rowData = row[this.field];
|
||||||
|
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
if(rowData === 'PENDING') {
|
||||||
|
return '待审核';
|
||||||
|
}
|
||||||
|
if(rowData === 'APPROVED') {
|
||||||
|
return '已同意';
|
||||||
|
}
|
||||||
|
if(rowData === 'REJECTED') {
|
||||||
|
return '已拒绝';
|
||||||
|
}
|
||||||
|
return '错误';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'applyNotes', width: 180, title: '备注', align:'center',
|
||||||
|
templet: function(row) {
|
||||||
|
var rowData = row[this.field];
|
||||||
|
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return rowData;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'gmtCreate', width: 180, title: '申请时间', align:'center',
|
||||||
|
templet: function(row) {
|
||||||
|
var rowData = row[this.field];
|
||||||
|
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return rowData;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{field: 'operate', width: 80, title: '操作', align:'center', fixed: 'right',
|
||||||
|
templet: function(row) {
|
||||||
|
return `<button type="button" class="layui-btn layui-btn-xs" lay-event="reviewEvent">审核</button>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
],
|
||||||
|
page: true,
|
||||||
|
parseData: function(data) {
|
||||||
|
return {
|
||||||
|
'code': 0,
|
||||||
|
'msg': '',
|
||||||
|
'count': data.total,
|
||||||
|
'data': data.rows
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重载表格
|
||||||
|
function reloadTable(currentPage) {
|
||||||
|
table.reload('dataTable', {
|
||||||
|
where: {
|
||||||
|
keywords: $('#keywords').val(),
|
||||||
|
userInfoType: $("#userInfoType").val()
|
||||||
|
},
|
||||||
|
page: {
|
||||||
|
curr: currentPage
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 初始化日期
|
||||||
|
function initDate() {
|
||||||
|
// 日期选择
|
||||||
|
laydate.render({
|
||||||
|
elem: '#startTime',
|
||||||
|
format: 'yyyy-MM-dd'
|
||||||
|
});
|
||||||
|
laydate.render({
|
||||||
|
elem: '#endTime',
|
||||||
|
format: 'yyyy-MM-dd'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
initTable();
|
||||||
|
initDate();
|
||||||
|
// 事件 - 页面变化
|
||||||
|
$win.on('resize', function() {
|
||||||
|
clearTimeout(resizeTimeout);
|
||||||
|
resizeTimeout = setTimeout(function() {
|
||||||
|
reloadTable();
|
||||||
|
}, 500);
|
||||||
|
});
|
||||||
|
// 事件 - 搜索
|
||||||
|
$(document).on('click', '#search', function() {
|
||||||
|
reloadTable(1);
|
||||||
|
});
|
||||||
|
table.on('tool(dataTable)', function(obj) {
|
||||||
|
var event = obj.event;
|
||||||
|
var data = obj.data;
|
||||||
|
if(event === 'reviewEvent') {
|
||||||
|
top.dialog.open({
|
||||||
|
title: '审核',
|
||||||
|
url: top.restAjax.path('route/user/ic/apply/review?userIcApplyId={userIcApplyId}', [data.userIcApplyId]),
|
||||||
|
width: '800px',
|
||||||
|
height: '420px',
|
||||||
|
onClose: function() {
|
||||||
|
reloadTable();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
245
src/main/resources/templates/user/ic/apply/review.html
Normal file
245
src/main/resources/templates/user/ic/apply/review.html
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<base th:href="${#request.getContextPath() + '/'}">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="renderer" content="webkit">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
<style>
|
||||||
|
.layui-form-item {margin-bottom: 0;}
|
||||||
|
.layui-form-label-new {width: 180px !important;}
|
||||||
|
.layui-input-block-new {margin-left: 180px !important;}
|
||||||
|
.layui-input-block-new-center {margin-left: 180px !important; margin-right: 80px;}
|
||||||
|
.layui-form-btn {width: 80px; text-align: center; position: absolute; top: 0; right: 0; border-color: #eeeeee;}
|
||||||
|
.slide {width: 100%}
|
||||||
|
.slide .layui-slider {height: 38px;}
|
||||||
|
.slide .layui-slider .layui-slider-step {height: 100%;}
|
||||||
|
.slide .layui-slider .layui-slider-wrap {height: 100%; top: 0;}
|
||||||
|
.slide .layui-slider .layui-slider-wrap .layui-slider-wrap-btn {width: 20px; height: 20px;}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-anim layui-anim-fadein">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="layui-card-body" style="padding: 15px 15px 35px 15px;">
|
||||||
|
<form class="layui-form layui-form-pane" lay-filter="dataForm">
|
||||||
|
<div class="layui-row layui-col-space15">
|
||||||
|
<div class="layui-col-xs6">
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label class="layui-form-label">审核状态 *</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="radio" name="applyStatus" value="APPROVED" title="同意" lay-filter="applyStatusFilter">
|
||||||
|
<input type="radio" name="applyStatus" value="REJECTED" title="拒绝" lay-filter="applyStatusFilter">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs6">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">审核意见</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="text" id="applyNotes" name="applyNotes" class="layui-input" value="" placeholder="审核意见" maxlength="50" lay-verify="required">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="approvedContent" style="margin-top: 15px; display: none;">
|
||||||
|
<blockquote class="layui-elem-quote">【项目价格设置】单位为<b>元(¥)</b>,可保留两位小数,如要使用系统默认金额,设置为0即可</blockquote>
|
||||||
|
<div class=" layui-row layui-col-space15">
|
||||||
|
<div class="layui-col-xs6">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label layui-form-label-new">全托管</label>
|
||||||
|
<div class="layui-input-block layui-input-block-new">
|
||||||
|
<input type="number" id="priceAll" name="priceAll" class="layui-input" value="" placeholder="全托管价格" maxlength="50">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs6">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label layui-form-label-new">写材料</label>
|
||||||
|
<div class="layui-input-block layui-input-block-new">
|
||||||
|
<input type="number" id="priceMaterial" name="priceMaterial" class="layui-input" value="" placeholder="全托管价格" maxlength="50">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<blockquote class="layui-elem-quote" style="margin-top: 15px;">邀请码设置</blockquote>
|
||||||
|
<div class=" layui-row layui-col-space15">
|
||||||
|
<div class="layui-col-xs6">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label layui-form-label-new">邀请码</label>
|
||||||
|
<div class="layui-input-block layui-input-block-new-center">
|
||||||
|
<input type="text" id="ic" name="ic" class="layui-input" placeholder="邀请码" maxlength="50" readonly>
|
||||||
|
</div>
|
||||||
|
<button type="button" class="layui-form-btn layui-btn layui-btn-primary" id="generateIc">生成</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-col-xs6">
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label layui-form-label-new">返利比率</label>
|
||||||
|
<div class="layui-input-block layui-input-block-new">
|
||||||
|
<input type="hidden" id="icRebateRatio" name="icRebateRatio">
|
||||||
|
<div id="icRebateRatioSlide" class="slide"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="layui-form-item layui-layout-admin">
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<div class="layui-footer" style="left: 0;">
|
||||||
|
<button id="confirmBtn" type="button" class="layui-btn" lay-submit lay-filter="submitForm" style="display: none;">提交审核</button>
|
||||||
|
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
|
<script>
|
||||||
|
layui.config({
|
||||||
|
base: 'assets/layuiadmin/' //静态资源所在路径
|
||||||
|
}).extend({
|
||||||
|
index: 'lib/index' //主入口模块
|
||||||
|
}).use(['index', 'form', 'laydate', 'slider'], function(){
|
||||||
|
var $ = layui.$;
|
||||||
|
var form = layui.form;
|
||||||
|
var slider = layui.slider;
|
||||||
|
var common = layui.common;
|
||||||
|
var query = top.restAjax.params(window.location.href);
|
||||||
|
var userIcApplyId = query.userIcApplyId;
|
||||||
|
var icRebateRatioSlide;
|
||||||
|
var $icRebateRatio = $('#icRebateRatio');
|
||||||
|
var $approvedContent = $('#approvedContent');
|
||||||
|
var $applyNotes = $('#applyNotes');
|
||||||
|
var $confirmBtn = $('#confirmBtn');
|
||||||
|
|
||||||
|
function generateIc() {
|
||||||
|
var loadLayerIndex;
|
||||||
|
top.restAjax.get(`api/user/expand/generate-ic`, {}, null, function(code, data) {
|
||||||
|
form.val('dataForm', {
|
||||||
|
ic: data.data
|
||||||
|
})
|
||||||
|
if(parseInt($icRebateRatio.val()) <= 0) {
|
||||||
|
icRebateRatioSlide.setValue(10);
|
||||||
|
}
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
}, function() {
|
||||||
|
loadLayerIndex = top.dialog.msg('生成中...', {icon: 16, time: 0, shade: 0.3});
|
||||||
|
}, function() {
|
||||||
|
top.dialog.close(loadLayerIndex);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
var loadLayerIndex;
|
||||||
|
top.restAjax.get(`api/user/ic/apply/get/${userIcApplyId}`, {}, null, function(code, data) {
|
||||||
|
if(data.applyStatus === 'PENDING') {
|
||||||
|
data.applyStatus = 'REJECTED';
|
||||||
|
$confirmBtn.show();
|
||||||
|
}
|
||||||
|
if(data.applyStatus === 'APPROVED') {
|
||||||
|
$approvedContent.show();
|
||||||
|
}
|
||||||
|
data.priceAll = (data.priceAll / 100).toFixed(2)
|
||||||
|
data.priceMaterial = (data.priceMaterial / 100).toFixed(2)
|
||||||
|
var dataFormData = {};
|
||||||
|
for(var i in data) {
|
||||||
|
dataFormData[i] = data[i] +'';
|
||||||
|
}
|
||||||
|
form.val('dataForm', dataFormData);
|
||||||
|
form.render(null, 'dataForm');
|
||||||
|
icRebateRatioSlide = slider.render({
|
||||||
|
elem: '#icRebateRatioSlide',
|
||||||
|
max: 50,
|
||||||
|
min: 0,
|
||||||
|
step: 1,
|
||||||
|
showstep: true,
|
||||||
|
value: data.icRebateRatio,
|
||||||
|
range: false,
|
||||||
|
change: function(value) {
|
||||||
|
$icRebateRatio.val(value);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
}, function() {
|
||||||
|
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
|
||||||
|
}, function() {
|
||||||
|
top.dialog.close(loadLayerIndex);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提交表单
|
||||||
|
form.on('submit(submitForm)', function(formData) {
|
||||||
|
top.dialog.confirm(top.dataMessage.commit, function(index) {
|
||||||
|
top.dialog.close(index);
|
||||||
|
var loadLayerIndex;
|
||||||
|
top.restAjax.put(`api/user/ic/apply/review/${userIcApplyId}`, formData.field, null, function(code, data) {
|
||||||
|
var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, {
|
||||||
|
time: 0,
|
||||||
|
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||||
|
shade: 0.3,
|
||||||
|
yes: function(index) {
|
||||||
|
top.dialog.close(index);
|
||||||
|
window.location.reload();
|
||||||
|
},
|
||||||
|
btn2: function() {
|
||||||
|
closeBox();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, function(code, data) {
|
||||||
|
top.dialog.msg(data.msg);
|
||||||
|
}, function() {
|
||||||
|
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
|
||||||
|
}, function() {
|
||||||
|
top.dialog.close(loadLayerIndex);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
init();
|
||||||
|
|
||||||
|
function closeBox() {
|
||||||
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.close').on('click', function() {
|
||||||
|
closeBox();
|
||||||
|
});
|
||||||
|
|
||||||
|
form.on('radio(applyStatusFilter)', function(data) {
|
||||||
|
var elem = data.elem; // 获得 radio 原始 DOM 对象
|
||||||
|
var checked = elem.checked; // 获得 radio 选中状态
|
||||||
|
var value = elem.value; // 获得 radio 值
|
||||||
|
var othis = data.othis; // 获得 radio 元素被替换后的 jQuery 对象
|
||||||
|
if(value === 'APPROVED') {
|
||||||
|
$approvedContent.show();
|
||||||
|
$applyNotes.removeAttr('lay-verify');
|
||||||
|
} else if(value === 'REJECTED') {
|
||||||
|
$approvedContent.hide();
|
||||||
|
$applyNotes.attr('lay-verify', 'required');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#generateIc').click(function() {
|
||||||
|
generateIc();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 校验
|
||||||
|
form.verify({
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user