Explorar el Código

系统设置-支付方式、营销人员管理完善

WIN-B904R0U0NNS\Administrator hace 2 años
padre
commit
6d7a698fec
Se han modificado 16 ficheros con 803 adiciones y 5 borrados
  1. 26 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusAdvertController.java
  2. 71 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusDictItemController.java
  3. 217 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomPayTypeController.java
  4. 58 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusSalesPersonController.java
  5. 178 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusSalesPersonPostController.java
  6. 92 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusRoomPayType.java
  7. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusSalesPerson.java
  8. 49 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusSalesPersonPost.java
  9. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusRoomPayTypeMapper.java
  10. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusSalesPersonPostMapper.java
  11. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusRoomPayTypeMapper.xml
  12. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusSalesPersonPostMapper.xml
  13. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomPayTypeService.java
  14. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusSalesPersonPostService.java
  15. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomPayTypeServiceImpl.java
  16. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusSalesPersonPostServiceImpl.java

+ 26 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusAdvertController.java

@@ -130,10 +130,35 @@ public class BusAdvertController extends JeecgController<BusAdvert, IBusAdvertSe
 		editModel.setSrc(busAdvert.getSrc());
 		editModel.setSrc(busAdvert.getSrc());
 		editModel.setOrderBy(busAdvert.getOrderBy());
 		editModel.setOrderBy(busAdvert.getOrderBy());
 		editModel.setStatus(busAdvert.getStatus());
 		editModel.setStatus(busAdvert.getStatus());
-		busAdvertService.updateById(busAdvert);
+		busAdvertService.updateById(editModel);
 		return Result.OK("编辑成功!");
 		return Result.OK("编辑成功!");
 	}
 	}
 
 
+	 /**
+	  *  编辑
+	  *
+	  * @param busAdvert
+	  * @return
+	  */
+	 @AutoLog(value = "广告管理-编辑")
+	 @ApiOperation(value="广告管理-编辑", notes="广告管理-编辑")
+	 //@RequiresPermissions("business:bus_advert_info:edit")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> editStatus(@RequestBody BusAdvert busAdvert) {
+		 if(busAdvert.getTenantId() == null || busAdvert.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busAdvert.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 BusAdvert editModel = busAdvertService.getById(busAdvert.getId());
+		 editModel.setStatus(busAdvert.getStatus());
+		 busAdvertService.updateById(editModel);
+		 return Result.OK("编辑成功!");
+	 }
+
 	/**
 	/**
 	 *   通过id删除
 	 *   通过id删除
 	 *
 	 *

+ 71 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusDictItemController.java

@@ -1,9 +1,6 @@
 package org.jeecg.modules.business.controller;
 package org.jeecg.modules.business.controller;
 
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
@@ -13,6 +10,8 @@ import javax.servlet.http.HttpServletResponse;
 
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.exception.JeecgBootException;
@@ -28,7 +27,10 @@ import lombok.extern.slf4j.Slf4j;
 
 
 import org.jeecg.modules.business.entity.BusDict;
 import org.jeecg.modules.business.entity.BusDict;
 import org.jeecg.modules.business.entity.BusDictItem;
 import org.jeecg.modules.business.entity.BusDictItem;
+import org.jeecg.modules.business.entity.BusHotel;
 import org.jeecg.modules.business.service.IBusDictItemService;
 import org.jeecg.modules.business.service.IBusDictItemService;
+import org.jeecg.modules.business.service.IBusDictService;
+import org.jeecg.modules.system.entity.SysDictItem;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -62,6 +64,9 @@ public class BusDictItemController extends JeecgController<BusDictItem, IBusDict
 	@Autowired
 	@Autowired
 	private IBusDictItemService busDictItemService;
 	private IBusDictItemService busDictItemService;
 
 
+	 @Autowired
+	private IBusDictService busDictService;
+
 	/**
 	/**
 	 * 分页列表查询
 	 * 分页列表查询
 	 *
 	 *
@@ -255,4 +260,66 @@ public class BusDictItemController extends JeecgController<BusDictItem, IBusDict
 		 result.setRecords(resultJson.toJavaList(JSONObject.class));
 		 result.setRecords(resultJson.toJavaList(JSONObject.class));
 		 return Result.ok(result);
 		 return Result.ok(result);
 	 }
 	 }
+
+	 /**
+	  * 字典值重复校验
+	  * @param busDictItem
+	  * @param request
+	  * @return
+	  */
+	 @RequestMapping(value = "/dictItemCheck", method = RequestMethod.GET)
+	 @ApiOperation("字典重复校验接口")
+	 public Result<Object> doDictItemCheck(BusDictItem busDictItem, HttpServletRequest request) {
+		 Long num = Long.valueOf(0);
+		 LambdaQueryWrapper<BusDictItem> queryWrapper = new LambdaQueryWrapper<BusDictItem>();
+		 queryWrapper.eq(BusDictItem::getItemValue,busDictItem.getItemValue());
+		 queryWrapper.eq(BusDictItem::getDictId,busDictItem.getDictId());
+		 if (StringUtils.isNotBlank(busDictItem.getId())) {
+			 // 编辑页面校验
+			 queryWrapper.ne(BusDictItem::getId,busDictItem.getId());
+		 }
+		 num = busDictItemService.count(queryWrapper);
+		 if (num == 0) {
+			 // 该值可用
+			 return Result.ok("该值可用!");
+		 } else {
+			 // 该值不可用
+			 log.info("该值不可用,系统中已存在!");
+			 return Result.error("该值不可用,系统中已存在!");
+		 }
+	 }
+
+	 /**
+	  * 列表查询
+	  *
+	  * @param busDictItem
+	  * @param req
+	  * @return
+	  */
+	 @ApiOperation(value="业务字典配置表-列表查询", notes="业务字典配置表-列表查询")
+	 @GetMapping(value = "/queryList")
+	 public Result<List<BusDictItem>> queryList(BusDictItem busDictItem,
+												HttpServletRequest req) {
+		 QueryWrapper<BusDictItem> queryWrapper = QueryGenerator.initQueryWrapper(busDictItem, req.getParameterMap());
+		 LoginUser user = TokenUtils.getAuthUser();
+		 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+			 queryWrapper.eq("tenant_id",user.getRelTenantIds());
+		 }
+		 List<BusDictItem> list = new ArrayList<>();
+		 String dictName = req.getParameter("dictName");
+		 if(oConvertUtils.isNotEmpty(dictName)){
+			 LambdaQueryWrapper<BusDict> queryDictWrapper = new LambdaQueryWrapper<>();
+			 queryDictWrapper.eq(BusDict::getDictName,dictName);
+			 BusDict busDict = busDictService.getOne(queryDictWrapper);
+
+			 if (busDict != null) {
+				 //queryWrapper.ne(BusDictItem::getDictId,busDict.getId());
+				 queryWrapper.eq("dict_id",busDict.getId());
+				 queryWrapper.eq("status",1);
+				 queryWrapper.eq("del_flag",0);
+				 list = busDictItemService.list(queryWrapper);
+			 }
+		 }
+		 return Result.OK(list);
+	 }
 }
 }

+ 217 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomPayTypeController.java

@@ -0,0 +1,217 @@
+package org.jeecg.modules.business.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.TokenUtils;
+import org.jeecg.common.util.oConvertUtils;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.entity.BusHotel;
+import org.jeecg.modules.business.entity.BusRoomPayType;
+import org.jeecg.modules.business.entity.BusSalesPerson;
+import org.jeecg.modules.business.service.IBusHotelService;
+import org.jeecg.modules.business.service.IBusRoomPayTypeService;
+import org.jeecg.modules.system.entity.SysTenant;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 支付方式
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Api(tags="支付方式")
+@RestController
+@RequestMapping("/business/busRoomPayType")
+@Slf4j
+public class BusRoomPayTypeController extends JeecgController<BusRoomPayType, IBusRoomPayTypeService> {
+	@Autowired
+	private IBusRoomPayTypeService busRoomPayTypeService;
+	 @Autowired
+	 private IBusHotelService busHotelService;
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busRoomPayType
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "支付方式-分页列表查询")
+	@ApiOperation(value="支付方式-分页列表查询", notes="支付方式-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusRoomPayType>> queryPageList(BusRoomPayType busRoomPayType,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusRoomPayType> queryWrapper = QueryGenerator.initQueryWrapper(busRoomPayType, req.getParameterMap());
+		Page<BusRoomPayType> page = new Page<BusRoomPayType>(pageNo, pageSize);
+		IPage<BusRoomPayType> pageList = busRoomPayTypeService.page(page, queryWrapper);
+		pageList.getRecords().forEach(item->{
+			BusHotel busHotel = busHotelService.getById(item.getHotelId());
+			if (busHotel != null) {
+				item.setHotelName(busHotel.getName());
+			}
+		});
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busRoomPayType
+	 * @return
+	 */
+	@AutoLog(value = "支付方式-添加")
+	@ApiOperation(value="支付方式-添加", notes="支付方式-添加")
+	//@RequiresPermissions("business:bus_room_pay_type_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusRoomPayType busRoomPayType) {
+		busRoomPayType.setDelFlag(CommonConstant.DEL_FLAG_0);
+		if(busRoomPayType.getTenantId() == null || busRoomPayType.getTenantId().equals("")){
+			LoginUser user = TokenUtils.getAuthUser();
+			if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				busRoomPayType.setTenantId(user.getRelTenantIds());
+			} else {
+				throw new JeecgBootException("当前登录人租户信息错误");
+			}
+		}
+		busRoomPayTypeService.save(busRoomPayType);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busRoomPayType
+	 * @return
+	 */
+	@AutoLog(value = "支付方式-编辑")
+	@ApiOperation(value="支付方式-编辑", notes="支付方式-编辑")
+	//@RequiresPermissions("business:bus_room_pay_type_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusRoomPayType busRoomPayType) {
+		busRoomPayType.setDelFlag(CommonConstant.DEL_FLAG_0);
+		if(busRoomPayType.getTenantId() == null || busRoomPayType.getTenantId().equals("")){
+			LoginUser user = TokenUtils.getAuthUser();
+			if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				busRoomPayType.setTenantId(user.getRelTenantIds());
+			} else {
+				throw new JeecgBootException("当前登录人租户信息错误");
+			}
+		}
+		BusRoomPayType editModel = busRoomPayTypeService.getById(busRoomPayType.getId());
+		editModel.setName(busRoomPayType.getName());
+		editModel.setIsDeposit(busRoomPayType.getIsDeposit());
+		editModel.setIsClosing(busRoomPayType.getIsClosing());
+		editModel.setOrderBy(busRoomPayType.getOrderBy());
+		editModel.setStatus(busRoomPayType.getStatus());
+		busRoomPayTypeService.updateById(editModel);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "支付方式-通过id删除")
+	@ApiOperation(value="支付方式-通过id删除", notes="支付方式-通过id删除")
+	//@RequiresPermissions("business:bus_room_pay_type_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busRoomPayTypeService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "支付方式-批量删除")
+	@ApiOperation(value="支付方式-批量删除", notes="支付方式-批量删除")
+	//@RequiresPermissions("business:bus_room_pay_type_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busRoomPayTypeService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "支付方式-通过id查询")
+	@ApiOperation(value="支付方式-通过id查询", notes="支付方式-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<BusRoomPayType> queryById(@RequestParam(name="id",required=true) String id) {
+		BusRoomPayType busRoomPayType = busRoomPayTypeService.getById(id);
+		if(busRoomPayType==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busRoomPayType);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busRoomPayType
+    */
+    //@RequiresPermissions("business:bus_room_pay_type_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusRoomPayType busRoomPayType) {
+        return super.exportXls(request, busRoomPayType, BusRoomPayType.class, "支付方式");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_room_pay_type_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusRoomPayType.class);
+    }
+
+}

+ 58 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusSalesPersonController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.business.controller;
 package org.jeecg.modules.business.controller;
 
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -9,6 +10,9 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.exception.JeecgBootException;
@@ -23,8 +27,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 
 
 import org.jeecg.modules.business.entity.BusSalesPerson;
 import org.jeecg.modules.business.entity.BusSalesPerson;
+import org.jeecg.modules.business.entity.BusSalesPersonPost;
 import org.jeecg.modules.business.entity.BusWaiter;
 import org.jeecg.modules.business.entity.BusWaiter;
+import org.jeecg.modules.business.service.IBusSalesPersonPostService;
 import org.jeecg.modules.business.service.IBusSalesPersonService;
 import org.jeecg.modules.business.service.IBusSalesPersonService;
+import org.jeecg.modules.system.entity.SysTenant;
+import org.jeecg.modules.system.entity.SysUserDepart;
+import org.jeecg.modules.system.entity.SysUserRole;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -56,6 +65,9 @@ public class BusSalesPersonController extends JeecgController<BusSalesPerson, IB
 	@Autowired
 	@Autowired
 	private IBusSalesPersonService busSalesPersonService;
 	private IBusSalesPersonService busSalesPersonService;
 
 
+	 @Autowired
+	 private IBusSalesPersonPostService busSalesPersonPostService;
+
 	/**
 	/**
 	 * 分页列表查询
 	 * 分页列表查询
 	 *
 	 *
@@ -97,6 +109,19 @@ public class BusSalesPersonController extends JeecgController<BusSalesPerson, IB
 		}
 		}
 		Page<BusSalesPerson> page = new Page<BusSalesPerson>(pageNo, pageSize);
 		Page<BusSalesPerson> page = new Page<BusSalesPerson>(pageNo, pageSize);
 		IPage<BusSalesPerson> pageList = busSalesPersonService.page(page, queryWrapper);
 		IPage<BusSalesPerson> pageList = busSalesPersonService.page(page, queryWrapper);
+		pageList.getRecords().forEach(item->{
+//			SysTenant sysTenant = sysTenantService.getById(item.getTenantId());
+//			if (sysTenant != null) {
+//				item.setTenantName(sysTenant.getName());
+//			}
+
+			LambdaQueryWrapper<BusSalesPersonPost> query = new LambdaQueryWrapper<>();
+			query.eq(BusSalesPersonPost::getSaleId,item.getId());
+			List<BusSalesPersonPost> list = busSalesPersonPostService.list(query);
+			List<String> postIdList = list.stream().map(BusSalesPersonPost::getPostId).collect(Collectors.toList());
+			String postIds = StringUtils.join(postIdList,',');
+			item.setPostIds(postIds);
+		});
 		return Result.OK(pageList);
 		return Result.OK(pageList);
 	}
 	}
 
 
@@ -121,6 +146,23 @@ public class BusSalesPersonController extends JeecgController<BusSalesPerson, IB
 			}
 			}
 		}
 		}
 		busSalesPersonService.save(busSalesPerson);
 		busSalesPersonService.save(busSalesPerson);
+		//职务处理
+		if(busSalesPerson.getPostIds() != null && !busSalesPerson.getPostIds().equals("")){
+			List<String> postIdArray = Arrays.asList(busSalesPerson.getPostIds().split(","));
+
+			String saleId = busSalesPerson.getId();
+			//首先删除该营销员所有关联的职务信息
+			QueryWrapper<BusSalesPersonPost> salePostWrapper = new QueryWrapper<BusSalesPersonPost>();
+			salePostWrapper.eq("sale_id", saleId);
+			busSalesPersonPostService.remove(salePostWrapper);
+			//添加职务信息
+			List<BusSalesPersonPost> salePostList = new ArrayList<>();
+			for (String postId : postIdArray) {
+				salePostList.add(new BusSalesPersonPost(saleId, postId));
+			}
+			busSalesPersonPostService.saveBatch(salePostList);
+		}
+
 		return Result.OK("添加成功!");
 		return Result.OK("添加成功!");
 	}
 	}
 
 
@@ -154,6 +196,22 @@ public class BusSalesPersonController extends JeecgController<BusSalesPerson, IB
 		editModel.setRemarks(busSalesPerson.getRemarks());
 		editModel.setRemarks(busSalesPerson.getRemarks());
 		editModel.setStatus(busSalesPerson.getStatus());
 		editModel.setStatus(busSalesPerson.getStatus());
 		busSalesPersonService.updateById(editModel);
 		busSalesPersonService.updateById(editModel);
+		//职务处理
+		if(busSalesPerson.getPostIds() != null && !busSalesPerson.getPostIds().equals("")){
+			List<String> postIdArray = Arrays.asList(busSalesPerson.getPostIds().split(","));
+
+			String saleId = busSalesPerson.getId();
+			//首先删除该营销员所有关联的职务信息
+			QueryWrapper<BusSalesPersonPost> salePostWrapper = new QueryWrapper<BusSalesPersonPost>();
+			salePostWrapper.eq("sale_id", saleId);
+			busSalesPersonPostService.remove(salePostWrapper);
+			//添加职务信息
+			List<BusSalesPersonPost> salePostList = new ArrayList<>();
+			for (String postId : postIdArray) {
+				salePostList.add(new BusSalesPersonPost(saleId, postId));
+			}
+			busSalesPersonPostService.saveBatch(salePostList);
+		}
 		return Result.OK("编辑成功!");
 		return Result.OK("编辑成功!");
 	}
 	}
 
 

+ 178 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusSalesPersonPostController.java

@@ -0,0 +1,178 @@
+package org.jeecg.modules.business.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.entity.BusSalesPersonPost;
+import org.jeecg.modules.business.service.IBusSalesPersonPostService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 营销人员职务管理
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Api(tags="营销人员职务管理")
+@RestController
+@RequestMapping("/business/busSalesPersonPost")
+@Slf4j
+public class BusSalesPersonPostController extends JeecgController<BusSalesPersonPost, IBusSalesPersonPostService> {
+	@Autowired
+	private IBusSalesPersonPostService busSalesPersonPostService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busSalesPersonPost
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "营销人员职务管理-分页列表查询")
+	@ApiOperation(value="营销人员职务管理-分页列表查询", notes="营销人员职务管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusSalesPersonPost>> queryPageList(BusSalesPersonPost busSalesPersonPost,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusSalesPersonPost> queryWrapper = QueryGenerator.initQueryWrapper(busSalesPersonPost, req.getParameterMap());
+		Page<BusSalesPersonPost> page = new Page<BusSalesPersonPost>(pageNo, pageSize);
+		IPage<BusSalesPersonPost> pageList = busSalesPersonPostService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busSalesPersonPost
+	 * @return
+	 */
+	@AutoLog(value = "营销人员职务管理-添加")
+	@ApiOperation(value="营销人员职务管理-添加", notes="营销人员职务管理-添加")
+	//@RequiresPermissions("business:bus_sales_person_post_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusSalesPersonPost busSalesPersonPost) {
+		busSalesPersonPostService.save(busSalesPersonPost);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busSalesPersonPost
+	 * @return
+	 */
+	@AutoLog(value = "营销人员职务管理-编辑")
+	@ApiOperation(value="营销人员职务管理-编辑", notes="营销人员职务管理-编辑")
+	//@RequiresPermissions("business:bus_sales_person_post_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusSalesPersonPost busSalesPersonPost) {
+		busSalesPersonPostService.updateById(busSalesPersonPost);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "营销人员职务管理-通过id删除")
+	@ApiOperation(value="营销人员职务管理-通过id删除", notes="营销人员职务管理-通过id删除")
+	//@RequiresPermissions("business:bus_sales_person_post_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busSalesPersonPostService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "营销人员职务管理-批量删除")
+	@ApiOperation(value="营销人员职务管理-批量删除", notes="营销人员职务管理-批量删除")
+	//@RequiresPermissions("business:bus_sales_person_post_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busSalesPersonPostService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "营销人员职务管理-通过id查询")
+	@ApiOperation(value="营销人员职务管理-通过id查询", notes="营销人员职务管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<BusSalesPersonPost> queryById(@RequestParam(name="id",required=true) String id) {
+		BusSalesPersonPost busSalesPersonPost = busSalesPersonPostService.getById(id);
+		if(busSalesPersonPost==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busSalesPersonPost);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busSalesPersonPost
+    */
+    //@RequiresPermissions("business:bus_sales_person_post_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusSalesPersonPost busSalesPersonPost) {
+        return super.exportXls(request, busSalesPersonPost, BusSalesPersonPost.class, "营销人员职务管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_sales_person_post_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusSalesPersonPost.class);
+    }
+
+}

+ 92 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusRoomPayType.java

@@ -0,0 +1,92 @@
+package org.jeecg.modules.business.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 支付方式
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_room_pay_type_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_room_pay_type_info对象", description="支付方式")
+public class BusRoomPayType implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**关联租户*/
+	@Excel(name = "关联租户", width = 15)
+    @ApiModelProperty(value = "关联租户")
+    private String tenantId;
+	/**关联酒店*/
+	@Excel(name = "关联酒店", width = 15)
+    @ApiModelProperty(value = "关联酒店")
+    private String hotelId;
+
+    /**酒店名称*/
+    private transient String hotelName;
+
+	/**支付方式名称*/
+	@Excel(name = "支付方式名称", width = 15)
+    @ApiModelProperty(value = "支付方式名称")
+    private String name;
+	/**是否用于押金付款*/
+	@Excel(name = "是否用于押金付款", width = 15)
+    @ApiModelProperty(value = "是否用于押金付款")
+    private Boolean isDeposit;
+	/**是否用于结账付款*/
+	@Excel(name = "是否用于结账付款", width = 15)
+    @ApiModelProperty(value = "是否用于结账付款")
+    private Boolean isClosing;
+	/**排序*/
+	@Excel(name = "排序", width = 15)
+    @ApiModelProperty(value = "排序")
+    private Integer orderBy;
+	/**状态(0-禁用;1-启用)*/
+	@Excel(name = "状态(0-禁用;1-启用)", width = 15)
+    @ApiModelProperty(value = "状态(0-禁用;1-启用)")
+    private Integer status;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+}

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusSalesPerson.java

@@ -97,4 +97,6 @@ public class BusSalesPerson implements Serializable {
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @DateTimeFormat(pattern="yyyy-MM-dd")
     @ApiModelProperty(value = "更新时间")
     @ApiModelProperty(value = "更新时间")
     private Date updateTime;
     private Date updateTime;
+
+    private transient String postIds;
 }
 }

+ 49 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusSalesPersonPost.java

@@ -0,0 +1,49 @@
+package org.jeecg.modules.business.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 营销人员职务管理
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_sales_person_post_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_sales_person_post_info对象", description="营销人员职务管理")
+public class BusSalesPersonPost implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**营销员ID*/
+	@Excel(name = "营销员ID", width = 15)
+    @ApiModelProperty(value = "营销员ID")
+    private String saleId;
+	/**职务ID*/
+	@Excel(name = "职务ID", width = 15)
+    @ApiModelProperty(value = "职务ID")
+    private String postId;
+
+
+    public BusSalesPersonPost(String saleId, String postId) {
+        this.saleId = saleId;
+        this.postId = postId;
+    }
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusRoomPayTypeMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.business.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.business.entity.BusRoomPayType;
+
+/**
+ * @Description: 支付方式
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+public interface BusRoomPayTypeMapper extends BaseMapper<BusRoomPayType> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusSalesPersonPostMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.business.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.business.entity.BusSalesPersonPost;
+
+/**
+ * @Description: 营销人员职务管理
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+public interface BusSalesPersonPostMapper extends BaseMapper<BusSalesPersonPost> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusRoomPayTypeMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.demo.business.mapper.BusRoomPayTypeMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusSalesPersonPostMapper.xml

@@ -0,0 +1,5 @@
+<?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="org.jeecg.modules.demo.business.mapper.BusSalesPersonPostMapper">
+
+</mapper>

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomPayTypeService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusRoomPayType;
+
+/**
+ * @Description: 支付方式
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+public interface IBusRoomPayTypeService extends IService<BusRoomPayType> {
+
+}

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusSalesPersonPostService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusSalesPersonPost;
+
+/**
+ * @Description: 营销人员职务管理
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+public interface IBusSalesPersonPostService extends IService<BusSalesPersonPost> {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomPayTypeServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusRoomPayType;
+import org.jeecg.modules.business.mapper.BusRoomPayTypeMapper;
+import org.jeecg.modules.business.service.IBusRoomPayTypeService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 支付方式
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Service
+public class BusRoomPayTypeServiceImpl extends ServiceImpl<BusRoomPayTypeMapper, BusRoomPayType> implements IBusRoomPayTypeService {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusSalesPersonPostServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusSalesPersonPost;
+import org.jeecg.modules.business.mapper.BusSalesPersonPostMapper;
+import org.jeecg.modules.business.service.IBusSalesPersonPostService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 营销人员职务管理
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Service
+public class BusSalesPersonPostServiceImpl extends ServiceImpl<BusSalesPersonPostMapper, BusSalesPersonPost> implements IBusSalesPersonPostService {
+
+}