|
|
@@ -0,0 +1,213 @@
|
|
|
+package net.mingsoft.tf.action;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+import net.mingsoft.base.entity.ResultData;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
+import org.springframework.web.bind.annotation.ModelAttribute;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import net.mingsoft.tf.biz.IBusinessOpportunityBiz;
|
|
|
+import net.mingsoft.tf.entity.BusinessOpportunityEntity;
|
|
|
+import net.mingsoft.base.entity.BaseEntity;
|
|
|
+import net.mingsoft.basic.util.BasicUtil;
|
|
|
+import net.mingsoft.basic.util.StringUtil;
|
|
|
+import net.mingsoft.basic.bean.EUListBean;
|
|
|
+import net.mingsoft.basic.annotation.LogAnn;
|
|
|
+import net.mingsoft.basic.constant.e.BusinessTypeEnum;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import io.swagger.v3.oas.annotations.Parameter;
|
|
|
+import io.swagger.v3.oas.annotations.Parameters;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
+import io.swagger.v3.oas.annotations.Hidden;
|
|
|
+import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
|
|
+
|
|
|
+/**
|
|
|
+* 商机对接管理控制层
|
|
|
+* @author 阿白
|
|
|
+* 创建日期:2025年12月31日 下午5:33:51<br/>
|
|
|
+* 历史修订:<br/>
|
|
|
+*/
|
|
|
+@Tag(name = "后台-商机对接接口")
|
|
|
+@Controller("tfBusinessOpportunityAction")
|
|
|
+@RequestMapping("/${ms.manager.path}/tf/businessOpportunity")
|
|
|
+public class BusinessOpportunityAction extends net.mingsoft.tf.action.BaseAction{
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 注入商机对接业务层
|
|
|
+ */
|
|
|
+ @Autowired
|
|
|
+ private IBusinessOpportunityBiz businessOpportunityBiz;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回主界面index
|
|
|
+ */
|
|
|
+ @Hidden
|
|
|
+ @GetMapping("/index")
|
|
|
+ public String index() {
|
|
|
+ return "/tf/business-opportunity/index";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回编辑界面businessOpportunity的form
|
|
|
+ */
|
|
|
+ @Hidden
|
|
|
+ @GetMapping("/form")
|
|
|
+ public String form() {
|
|
|
+ return "/tf/business-opportunity/form";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询商机对接列表
|
|
|
+ * @param businessOpportunity 商机对接实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "查询商机对接列表接口")
|
|
|
+ @Parameters({
|
|
|
+ @Parameter(name = "businessName", description = "名称", in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "businessInfo", description = "介绍", in = ParameterIn.QUERY),
|
|
|
+ })
|
|
|
+ @RequestMapping(value ="/list",method = {RequestMethod.GET,RequestMethod.POST})
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("tf:businessOpportunity:view")
|
|
|
+ public ResultData list(@ModelAttribute @Parameter(hidden = true) BusinessOpportunityEntity businessOpportunity) {
|
|
|
+ BasicUtil.startPage();
|
|
|
+ List businessOpportunityList = null;
|
|
|
+ if ( businessOpportunity.getSqlWhere() != null){
|
|
|
+ businessOpportunityList = businessOpportunityBiz.query(businessOpportunity);
|
|
|
+ } else {
|
|
|
+ LambdaQueryWrapper<BusinessOpportunityEntity> wrapper = new LambdaQueryWrapper<>(businessOpportunity).orderByDesc(BusinessOpportunityEntity::getCreateDate);
|
|
|
+ businessOpportunityList = businessOpportunityBiz.list(wrapper);
|
|
|
+ }
|
|
|
+ return ResultData.build().success(new EUListBean(businessOpportunityList,(int)BasicUtil.endPage(businessOpportunityList).getTotal()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取商机对接
|
|
|
+ * @param businessOpportunity 商机对接实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "获取商机对接列表接口")
|
|
|
+ @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY)
|
|
|
+ @GetMapping("/get")
|
|
|
+ @ResponseBody
|
|
|
+ @RequiresPermissions("tf:businessOpportunity:view")
|
|
|
+ public ResultData get(@ModelAttribute @Parameter(hidden = true) BusinessOpportunityEntity businessOpportunity) {
|
|
|
+ if (StringUtils.isBlank(businessOpportunity.getId())) {
|
|
|
+ return ResultData.build().error(getResString("err.error",this.getResString("id")));
|
|
|
+ }
|
|
|
+ BusinessOpportunityEntity _businessOpportunity = (BusinessOpportunityEntity)businessOpportunityBiz.getById(businessOpportunity.getId());
|
|
|
+ return ResultData.build().success(_businessOpportunity);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存商机对接
|
|
|
+ * @param businessOpportunity 商机对接实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "保存商机对接列表接口")
|
|
|
+ @Parameters({
|
|
|
+ @Parameter(name = "businessName", description = "名称", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "businessInfo", description = "介绍", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "businessImg", description = "二维码", required = false, in = ParameterIn.QUERY),
|
|
|
+ })
|
|
|
+ @PostMapping("/save")
|
|
|
+ @ResponseBody
|
|
|
+ @LogAnn(title = "保存商机对接", businessType = BusinessTypeEnum.INSERT)
|
|
|
+ @RequiresPermissions("tf:businessOpportunity:save")
|
|
|
+ public ResultData save(@ModelAttribute @Parameter(hidden = true) BusinessOpportunityEntity businessOpportunity) {
|
|
|
+
|
|
|
+ if ( StringUtils.isNotBlank(businessOpportunity.getBusinessName()) && !StringUtil.checkLength(businessOpportunity.getBusinessName()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("business.name"), "0", "255"));
|
|
|
+ }
|
|
|
+ businessOpportunityBiz.save(businessOpportunity);
|
|
|
+ return ResultData.build().success(businessOpportunity);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除商机对接
|
|
|
+ *
|
|
|
+ * @param businessOpportunitys 商机对接实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "批量删除商机对接列表接口")
|
|
|
+ @PostMapping("/delete")
|
|
|
+ @ResponseBody
|
|
|
+ @LogAnn(title = "删除商机对接", businessType = BusinessTypeEnum.DELETE)
|
|
|
+ @RequiresPermissions("tf:businessOpportunity:del")
|
|
|
+ public ResultData delete(@RequestBody List<BusinessOpportunityEntity> businessOpportunitys) {
|
|
|
+ List<String> ids = (List)businessOpportunitys.stream().map((p) -> {return p.getId();}).collect(Collectors.toList());
|
|
|
+ return this.businessOpportunityBiz.removeByIds(ids) ? ResultData.build().success() : ResultData.build().error(this.getResString("err.error", new String[]{this.getResString("id")}));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新商机对接列表
|
|
|
+ *
|
|
|
+ * @param businessOpportunity 商机对接实体
|
|
|
+ */
|
|
|
+ @Operation(summary = "更新商机对接列表接口")
|
|
|
+ @Parameters({
|
|
|
+ @Parameter(name = "id", description = "主键ID", required =true,in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "businessName", description = "名称", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "businessInfo", description = "介绍", required = false, in = ParameterIn.QUERY),
|
|
|
+ @Parameter(name = "businessImg", description = "二维码", required = false, in = ParameterIn.QUERY),
|
|
|
+ })
|
|
|
+ @PostMapping("/update")
|
|
|
+ @ResponseBody
|
|
|
+ @LogAnn(title = "更新商机对接", businessType = BusinessTypeEnum.UPDATE)
|
|
|
+ @RequiresPermissions("tf:businessOpportunity:update")
|
|
|
+ public ResultData update(@ModelAttribute @Parameter(hidden = true) BusinessOpportunityEntity businessOpportunity) {
|
|
|
+ //先查询数据是否存在
|
|
|
+ BusinessOpportunityEntity _businessOpportunity = (BusinessOpportunityEntity)businessOpportunityBiz.getById(businessOpportunity.getId());
|
|
|
+ if(_businessOpportunity == null) {
|
|
|
+ return ResultData.build().error(getResString("err.not.exist",businessOpportunity.getId() ));
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( StringUtils.isNotBlank(businessOpportunity.getBusinessName()) && !StringUtil.checkLength(businessOpportunity.getBusinessName()+"", 0, 255)) {
|
|
|
+ return ResultData.build().error(getResString("err.length", this.getResString("business.name"), "0", "255"));
|
|
|
+ }
|
|
|
+ businessOpportunityBiz.updateById(businessOpportunity);
|
|
|
+ return ResultData.build().success(businessOpportunity);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("verify")
|
|
|
+ @ResponseBody
|
|
|
+ public ResultData verify(String fieldName, String fieldValue, String id,String idName) {
|
|
|
+ boolean verify = false;
|
|
|
+ if (StringUtils.isBlank(id)) {
|
|
|
+ verify = super.validated("BUSINESS_OPPORTUNITY",fieldName,fieldValue);
|
|
|
+ } else {
|
|
|
+ verify = super.validated("BUSINESS_OPPORTUNITY",fieldName,fieldValue,id,idName);
|
|
|
+ }
|
|
|
+ if (verify) {
|
|
|
+ return ResultData.build().success(false);
|
|
|
+ }else {
|
|
|
+ return ResultData.build().success(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|