From 8098ebc3da01f538666f425f23b460b5b840e190 Mon Sep 17 00:00:00 2001 From: SjS Date: Tue, 8 Apr 2025 16:04:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=9B=E5=95=86=E5=8A=A0=E7=9B=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/bst/mchApply/domain/MchApply.java | 75 ++++ .../bst/mchApply/domain/MchApplyQuery.java | 16 + .../ruoyi/bst/mchApply/domain/MchApplyVO.java | 15 + .../mchApply/domain/enums/MchApplyStatus.java | 22 + .../bst/mchApply/mapper/MchApplyMapper.java | 82 ++++ .../bst/mchApply/mapper/MchApplyMapper.xml | 404 ++++++++++++++++++ .../bst/mchApply/service/MchApplyService.java | 65 +++ .../service/impl/MchApplyServiceImpl.java | 146 +++++++ .../java/com/ruoyi/web/app/AppMchApply.java | 35 ++ .../com/ruoyi/web/bst/MchApplyController.java | 118 +++++ 10 files changed, 978 insertions(+) create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApply.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyQuery.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyVO.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/enums/MchApplyStatus.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.xml create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/MchApplyService.java create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/impl/MchApplyServiceImpl.java create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/app/AppMchApply.java create mode 100644 ruoyi-web/src/main/java/com/ruoyi/web/bst/MchApplyController.java diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApply.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApply.java new file mode 100644 index 0000000..4eb9ffd --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApply.java @@ -0,0 +1,75 @@ +package com.ruoyi.bst.mchApply.domain; + +import java.time.LocalDateTime; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 招商加盟对象 bst_mch_apply + * + * @author ruoyi + * @date 2025-04-08 + */ +@Data +public class MchApply extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + private Long applyId; + + @Excel(name = "用户id") + @ApiModelProperty("用户id") + private Long userId; + + @Excel(name = "申请状态", readConverterExp = "0=:审核中,1:审核通过,2:已驳回") + @ApiModelProperty("申请状态") + private String status; + + @Excel(name = "姓名") + @ApiModelProperty("姓名") + private String name; + + @Excel(name = "手机号") + @ApiModelProperty("手机号") + private String mobile; + + @Excel(name = "详细信息") + @ApiModelProperty("详细信息") + private String content; + + @Excel(name = "反馈信息", readConverterExp = "对=外") + @ApiModelProperty("反馈信息") + private String callback; + + @Excel(name = "审核人id") + @ApiModelProperty("审核人id") + private Long verifyBy; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("审核时间") + private LocalDateTime verifyTime; + + @Excel(name = "审核意见") + @ApiModelProperty("审核意见") + private String verifyRemark; + + @Excel(name = "是否有设备") + @ApiModelProperty("是否有设备") + private Integer hasDevice; + + @Excel(name = "经营模式", readConverterExp = "1=个体,2=企业,3=政府,4=机构") + @ApiModelProperty("经营模式") + private String operateMode; + + @Excel(name = "使用场景列表") + @ApiModelProperty("使用场景列表") + private String scenes; + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyQuery.java new file mode 100644 index 0000000..260577a --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyQuery.java @@ -0,0 +1,16 @@ +package com.ruoyi.bst.mchApply.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MchApplyQuery extends MchApply{ + + + @ApiModelProperty("用户名称") + private String userName; + + @ApiModelProperty("审核人名称") + private String verifyName; + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyVO.java new file mode 100644 index 0000000..6e4c5ac --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/MchApplyVO.java @@ -0,0 +1,15 @@ +package com.ruoyi.bst.mchApply.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class MchApplyVO extends MchApply{ + + @ApiModelProperty("用户名称") + private String userName; + + @ApiModelProperty("审核人名称") + private String verifyName; + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/enums/MchApplyStatus.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/enums/MchApplyStatus.java new file mode 100644 index 0000000..687b12f --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/domain/enums/MchApplyStatus.java @@ -0,0 +1,22 @@ +package com.ruoyi.bst.mchApply.domain.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum MchApplyStatus { + + APPROVING("1"), // 审核中 + PASSED("2"), // 审核通过 + REJECTED("3") // 审核驳回 + ; + + private final String status; + + public static String getStatusByPass(boolean pass) { + return pass ? PASSED.getStatus() : REJECTED.getStatus(); + } + + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.java new file mode 100644 index 0000000..535f41f --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.java @@ -0,0 +1,82 @@ +package com.ruoyi.bst.mchApply.mapper; + +import java.util.List; +import com.ruoyi.bst.mchApply.domain.MchApply; +import com.ruoyi.bst.mchApply.domain.MchApplyVO; +import com.ruoyi.bst.mchApply.domain.MchApplyQuery; +import org.apache.ibatis.annotations.Param; + +/** + * 招商加盟Mapper接口 + * + * @author ruoyi + * @date 2025-04-08 + */ +public interface MchApplyMapper +{ + /** + * 查询招商加盟 + * + * @param applyId 招商加盟主键 + * @return 招商加盟 + */ + MchApplyVO selectMchApplyByApplyId(Long applyId); + + /** + * 查询招商加盟列表 + * + * @param query 招商加盟 + * @return 招商加盟集合 + */ + List selectMchApplyList(@Param("query")MchApplyQuery query); + + /** + * 新增招商加盟 + * + * @param mchApply 招商加盟 + * @return 结果 + */ + int insertMchApply(MchApply mchApply); + + /** + * 批量新增招商加盟 + */ + int batchInsert(@Param("list") List list); + + /** + * 批量修改招商加盟 + */ + int batchUpdate(@Param("list") List list); + + /** + * 修改招商加盟 + * + * @param mchApply 招商加盟 + * @return 结果 + */ + public int updateMchApply(@Param("data") MchApply mchApply); + + /** + * 删除招商加盟 + * + * @param applyId 招商加盟主键 + * @return 结果 + */ + int deleteMchApplyByApplyId(Long applyId); + + /** + * 根据条件更新 + * @param data + * @param query + * @return + */ + int updateWithCondition(@Param("data") MchApply data, @Param("query") MchApplyQuery query); + + /** + * 批量删除招商加盟 + * + * @param applyIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMchApplyByApplyIds(Long[] applyIds); +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.xml new file mode 100644 index 0000000..500b5a7 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/mapper/MchApplyMapper.xml @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select + bma.apply_id, + bma.user_id, + bma.status, + bma.name, + bma.mobile, + bma.content, + bma.remark, + bma.callback, + bma.verify_by, + bma.verify_time, + bma.verify_remark, + bma.create_time, + bma.update_time, + bma.deleted, + bma.has_device, + bma.operate_mode, + bma.scenes, + su.user_name as userName, + su_verify.user_name as verifyName + from bst_mch_apply bma + left join sys_user su on bma.user_id = su.user_id + left join sys_user su_verify on bma.verify_by = su_verify.user_id + + + + and bma.user_id = #{query.userId} + and bma.status = #{query.status} + and bma.name like concat('%', #{query.name}, '%') + and su.user_name like concat('%', #{query.userName}, '%') + and bma.mobile like concat('%', #{query.mobile}, '%') + and bma.verify_by = #{query.verifyBy} + and su.user_name like concat('%', #{query.verifyName}, '%') + and deleted = false + and deleted = #{query.deleted} + and apply_id = #{query.applyId} + and has_device = #{query.hasDevice} + and operate_mode = #{query.operateMode} + ${@com.ruoyi.framework.util.DataScopeUtil@dataScope( + null, + "bma.user_id,bma.verify_by", + null, + null, + query.scope + )} + ${query.params.dataScope} + + + + + + + + insert into bst_mch_apply + + user_id, + status, + name, + mobile, + content, + remark, + callback, + verify_by, + verify_time, + verify_remark, + create_time, + update_time, + deleted, + has_device, + operate_mode, + scenes, + + + #{userId}, + #{status}, + #{name}, + #{mobile}, + #{content}, + #{remark}, + #{callback}, + #{verifyBy}, + #{verifyTime}, + #{verifyRemark}, + #{createTime}, + #{updateTime}, + #{deleted}, + #{hasDevice}, + #{operateMode}, + #{scenes}, + + + + + insert into bst_mch_apply + + user_id, + status, + name, + mobile, + content, + remark, + callback, + verify_by, + verify_time, + verify_remark, + create_time, + update_time, + deleted, + has_device, + operate_mode, + scenes, + + values + + + #{i.userId}, + default, + #{i.status}, + default, + #{i.name}, + default, + #{i.mobile}, + default, + #{i.content}, + default, + #{i.remark}, + default, + #{i.callback}, + default, + #{i.verifyBy}, + default, + #{i.verifyTime}, + default, + #{i.verifyRemark}, + default, + #{i.createTime}, + default, + #{i.updateTime}, + default, + #{i.deleted}, + default, + #{i.hasDevice}, + default, + #{i.operateMode}, + default, + #{i.scenes}, + default, + + + + + + update bst_mch_apply + + + + + WHEN #{item.apply_id} THEN #{item.userId} + + + WHEN #{item.apply_id} THEN `user_id` + + + + + + + WHEN #{item.apply_id} THEN #{item.status} + + + WHEN #{item.apply_id} THEN `status` + + + + + + + WHEN #{item.apply_id} THEN #{item.name} + + + WHEN #{item.apply_id} THEN `name` + + + + + + + WHEN #{item.apply_id} THEN #{item.mobile} + + + WHEN #{item.apply_id} THEN `mobile` + + + + + + + WHEN #{item.apply_id} THEN #{item.content} + + + WHEN #{item.apply_id} THEN `content` + + + + + + + WHEN #{item.apply_id} THEN #{item.remark} + + + WHEN #{item.apply_id} THEN `remark` + + + + + + + WHEN #{item.apply_id} THEN #{item.callback} + + + WHEN #{item.apply_id} THEN `callback` + + + + + + + WHEN #{item.apply_id} THEN #{item.verifyBy} + + + WHEN #{item.apply_id} THEN `verify_by` + + + + + + + WHEN #{item.apply_id} THEN #{item.verifyTime} + + + WHEN #{item.apply_id} THEN `verify_time` + + + + + + + WHEN #{item.apply_id} THEN #{item.verifyRemark} + + + WHEN #{item.apply_id} THEN `verify_remark` + + + + + + + WHEN #{item.apply_id} THEN #{item.createTime} + + + WHEN #{item.apply_id} THEN `create_time` + + + + + + + WHEN #{item.apply_id} THEN #{item.updateTime} + + + WHEN #{item.apply_id} THEN `update_time` + + + + + + + WHEN #{item.apply_id} THEN #{item.deleted} + + + WHEN #{item.apply_id} THEN `deleted` + + + + + + + WHEN #{item.apply_id} THEN #{item.hasDevice} + + + WHEN #{item.apply_id} THEN `has_device` + + + + + + + WHEN #{item.apply_id} THEN #{item.operateMode} + + + WHEN #{item.apply_id} THEN `operate_mode` + + + + + + + WHEN #{item.apply_id} THEN #{item.scenes} + + + WHEN #{item.apply_id} THEN `scenes` + + + + + where apply_id in + + #{item.applyId} + + + + + update bst_mch_apply + + + + where apply_id = #{data.applyId} + + + + update bst_mch_apply bma + + + + + + + + + + user_id = #{data.userId}, + status = #{data.status}, + name = #{data.name}, + mobile = #{data.mobile}, + content = #{data.content}, + remark = #{data.remark}, + callback = #{data.callback}, + verify_by = #{data.verifyBy}, + verify_time = #{data.verifyTime}, + verify_remark = #{data.verifyRemark}, + create_time = #{data.createTime}, + update_time = #{data.updateTime}, + deleted = #{data.deleted}, + has_device = #{data.hasDevice}, + operate_mode = #{data.operateMode}, + scenes = #{data.scenes},typeHandler=com.ruoyi.system.mapper.typehandler.StringSplitListTypeHandler}, + + + + delete from bst_mch_apply where apply_id = #{applyId} + + + + delete from bst_mch_apply where apply_id in + + #{applyId} + + + diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/MchApplyService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/MchApplyService.java new file mode 100644 index 0000000..e2cbb32 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/MchApplyService.java @@ -0,0 +1,65 @@ +package com.ruoyi.bst.mchApply.service; + +import java.util.List; +import com.ruoyi.bst.mchApply.domain.MchApply; +import com.ruoyi.bst.mchApply.domain.MchApplyVO; +import com.ruoyi.bst.mchApply.domain.MchApplyQuery; + +/** + * 招商加盟Service接口 + * + * @author ruoyi + * @date 2025-04-08 + */ +public interface MchApplyService +{ + /** + * 查询招商加盟 + * + * @param applyId 招商加盟主键 + * @return 招商加盟 + */ + public MchApplyVO selectMchApplyByApplyId(Long applyId); + + /** + * 查询招商加盟列表 + * + * @param mchApply 招商加盟 + * @return 招商加盟集合 + */ + public List selectMchApplyList(MchApplyQuery mchApply); + + /** + * 新增招商加盟 + * + * @param mchApply 招商加盟 + * @return 结果 + */ + public int insertMchApply(MchApply mchApply); + + /** + * 修改招商加盟 + * + * @param mchApply 招商加盟 + * @return 结果 + */ + public int updateMchApply(MchApply mchApply); + + /** + * 批量删除招商加盟 + * + * @param applyIds 需要删除的招商加盟主键集合 + * @return 结果 + */ + public int deleteMchApplyByApplyIds(Long[] applyIds); + + /** + * 删除招商加盟信息 + * + * @param applyId 招商加盟主键 + * @return 结果 + */ + public int deleteMchApplyByApplyId(Long applyId); + + boolean verify(Long applyId, Boolean pass, String remark); +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/impl/MchApplyServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/impl/MchApplyServiceImpl.java new file mode 100644 index 0000000..302ba2f --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/mchApply/service/impl/MchApplyServiceImpl.java @@ -0,0 +1,146 @@ +package com.ruoyi.bst.mchApply.service.impl; + +import java.time.LocalDateTime; +import java.util.List; + +import com.ruoyi.bst.mchApply.domain.enums.MchApplyStatus; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.ServiceUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.bst.mchApply.mapper.MchApplyMapper; +import com.ruoyi.bst.mchApply.domain.MchApply; +import com.ruoyi.bst.mchApply.domain.MchApplyVO; +import com.ruoyi.bst.mchApply.domain.MchApplyQuery; +import com.ruoyi.bst.mchApply.service.MchApplyService; +import org.springframework.transaction.support.TransactionTemplate; + +/** + * 招商加盟Service业务层处理 + * + * @author ruoyi + * @date 2025-04-08 + */ +@Service +public class MchApplyServiceImpl implements MchApplyService +{ + @Autowired + private MchApplyMapper mchApplyMapper; + @Autowired + private TransactionTemplate transactionTemplate; + + /** + * 查询招商加盟 + * + * @param applyId 招商加盟主键 + * @return 招商加盟 + */ + @Override + public MchApplyVO selectMchApplyByApplyId(Long applyId) + { + return mchApplyMapper.selectMchApplyByApplyId(applyId); + } + + /** + * 查询招商加盟列表 + * + * @param mchApply 招商加盟 + * @return 招商加盟 + */ + @Override + public List selectMchApplyList(MchApplyQuery mchApply) + { + return mchApplyMapper.selectMchApplyList(mchApply); + } + + /** + * 新增招商加盟 + * + * @param mchApply 招商加盟 + * @return 结果 + */ + @Override + public int insertMchApply(MchApply mchApply) + { + mchApply.setCreateTime(DateUtils.getNowDate()); + return mchApplyMapper.insertMchApply(mchApply); + } + + /** + * 修改招商加盟 + * + * @param mchApply 招商加盟 + * @return 结果 + */ + @Override + public int updateMchApply(MchApply mchApply) + { + mchApply.setUpdateTime(DateUtils.getNowDate()); + return mchApplyMapper.updateMchApply(mchApply); + } + + /** + * 批量删除招商加盟 + * + * @param applyIds 需要删除的招商加盟主键 + * @return 结果 + */ + @Override + public int deleteMchApplyByApplyIds(Long[] applyIds) + { + return mchApplyMapper.deleteMchApplyByApplyIds(applyIds); + } + + /** + * 删除招商加盟信息 + * + * @param applyId 招商加盟主键 + * @return 结果 + */ + @Override + public int deleteMchApplyByApplyId(Long applyId) + { + return mchApplyMapper.deleteMchApplyByApplyId(applyId); + } + + /** + * 审核 + * + * @param applyId 申请id + * @param pass 是否通过 + * @param remark 审核意见 + */ + @Override + public boolean verify(Long applyId, Boolean pass, String remark) { + ServiceUtil.assertion(applyId == null, "id不允许为空"); + ServiceUtil.assertion(pass == null, "是否通过不允许为空"); + ServiceUtil.assertion(remark == null, "审核意见不允许为空"); + + // 查询申请数据 + MchApplyVO dbApply = selectMchApplyByApplyId(applyId); + ServiceUtil.assertion(dbApply == null, "申请不存在"); + + // 修改内容 + MchApply apply = new MchApply(); + apply.setVerifyBy(SecurityUtils.getUserId()); + apply.setVerifyTime(LocalDateTime.now()); + apply.setStatus(MchApplyStatus.getStatusByPass(pass)); + apply.setVerifyRemark(remark); + + // 修改条件 + MchApplyQuery condition = new MchApplyQuery(); + condition.setApplyId(applyId); + condition.setStatus(MchApplyStatus.APPROVING.getStatus()); + + transactionTemplate.execute(status -> { + // 修改申请状态 + int i = mchApplyMapper.updateWithCondition(apply, condition); + ServiceUtil.assertion(i != 1, "当前申请状态已发生变更,请刷新后重试"); + + return Boolean.TRUE; + }); + + return true; + } +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppMchApply.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppMchApply.java new file mode 100644 index 0000000..fbf7562 --- /dev/null +++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppMchApply.java @@ -0,0 +1,35 @@ +package com.ruoyi.web.app; + +import com.ruoyi.bst.fault.domain.FaultVO; +import com.ruoyi.bst.mchApply.domain.MchApplyVO; +import com.ruoyi.bst.mchApply.service.MchApplyService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/app/mchApply") +public class AppMchApply extends BaseController { + + @Autowired + private MchApplyService mchApplyService; + + /** + * 新增合作申请 + * @param mchApply + * @return + */ + @ApiOperation("故障申报") + @PostMapping + public AjaxResult add(@RequestBody MchApplyVO mchApply) { + mchApply.setUserId(getUserId()); + mchApply.setName(getUsername()); + return success(mchApplyService.insertMchApply(mchApply)); + } + +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/MchApplyController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/MchApplyController.java new file mode 100644 index 0000000..e380ce3 --- /dev/null +++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/MchApplyController.java @@ -0,0 +1,118 @@ +package com.ruoyi.web.bst; + +import com.ruoyi.bst.mchApply.domain.MchApply; +import com.ruoyi.bst.mchApply.domain.MchApplyQuery; +import com.ruoyi.bst.mchApply.domain.MchApplyVO; +import com.ruoyi.bst.mchApply.service.MchApplyService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 招商加盟Controller + * + * @author ruoyi + * @date 2025-04-08 + */ +@RestController +@RequestMapping("/bst/mchApply") +public class MchApplyController extends BaseController +{ + @Autowired + private MchApplyService mchApplyService; + + /** + * 查询招商加盟列表 + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:list')") + @GetMapping("/list") + public TableDataInfo list(MchApplyQuery query) + { + startPage(); + startOrderBy(); + List list = mchApplyService.selectMchApplyList(query); + return getDataTable(list); + } + + /** + * 导出招商加盟列表 + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:export')") + @Log(title = "招商加盟", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, MchApplyQuery query) + { + List list = mchApplyService.selectMchApplyList(query); + ExcelUtil util = new ExcelUtil(MchApplyVO.class); + util.exportExcel(response, list, "招商加盟数据"); + } + + /** + * 获取招商加盟详细信息 + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:query')") + @GetMapping(value = "/{applyId}") + public AjaxResult getInfo(@PathVariable("applyId") Long applyId) + { + return success(mchApplyService.selectMchApplyByApplyId(applyId)); + } + + /** + * 新增招商加盟 + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:add')") + @Log(title = "招商加盟", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody MchApply mchApply) + { + return toAjax(mchApplyService.insertMchApply(mchApply)); + } + + /** + * 修改招商加盟 + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:edit')") + @Log(title = "招商加盟", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody MchApply mchApply) + { + return toAjax(mchApplyService.updateMchApply(mchApply)); + } + + /** + * 删除招商加盟 + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:remove')") + @Log(title = "招商加盟", businessType = BusinessType.DELETE) + @DeleteMapping("/{applyIds}") + public AjaxResult remove(@PathVariable Long[] applyIds) + { + return toAjax(mchApplyService.deleteMchApplyByApplyIds(applyIds)); + } + + /** + * 商家合作申请 + * @param applyId + * @param pass + * @param remark + * @return + */ + @PreAuthorize("@ss.hasPermi('bst:mchApply:verify')") + @Log(title = "商家合作申请", businessType = BusinessType.VERIFY) + @PutMapping("/{applyId}/verify") + public AjaxResult verify(@PathVariable @ApiParam("申请id") Long applyId, + @RequestParam @ApiParam("是否通过") Boolean pass, + @RequestParam @ApiParam("审核意见") String remark) { + return toAjax(mchApplyService.verify(applyId, pass, remark)); + } +}