gqx лет назад: 2
Родитель
Сommit
d51a941690

+ 52 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMemberCardController.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.business.controller;
 
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -9,15 +10,19 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.tomcat.util.modeler.Util;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.business.entity.BusHotel;
-import org.jeecg.modules.business.entity.BusMarketMember;
-import org.jeecg.modules.business.entity.BusMemberCard;
-import org.jeecg.modules.business.service.IBusHotelService;
-import org.jeecg.modules.business.service.IBusMarketMemberService;
-import org.jeecg.modules.business.service.IBusMemberCardService;
+import org.jeecg.modules.business.dto.UserGroupDto;
+import org.jeecg.modules.business.dto.UserLabelDto;
+import org.jeecg.modules.business.entity.*;
+import org.jeecg.modules.business.service.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -58,6 +63,10 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 	 private IBusHotelService busHotelService;
 	 @Autowired
 	 private IBusMarketMemberService busMarketMemberService;
+	 @Autowired
+	 private IBusMarketMemberGroupService busMarketMemberGroupService;
+	 @Autowired
+	 private IBusMarketMemberLableService busMarketMemberLableService;
 	/**
 	 * 分页列表查询
 	 *
@@ -73,8 +82,16 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 	public Result<IPage<BusMemberCard>> queryPageList(BusMemberCard busMemberCard,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													  @RequestParam(name="startTime",required = false) String startTime,
+													  @RequestParam(name="endTime",required = false) String endTime,
 								   HttpServletRequest req) {
-		QueryWrapper<BusMemberCard> queryWrapper = QueryGenerator.initQueryWrapper(busMemberCard, req.getParameterMap());
+		LambdaQueryWrapper<BusMemberCard> queryWrapper = QueryGenerator.initQueryWrapper(busMemberCard, req.getParameterMap()).lambda();
+		if (ObjectUtils.isNotEmpty(startTime)) {
+			queryWrapper.ge(BusMemberCard::getCreateTime, DateUtil.parseDate(startTime));
+		}
+		if (ObjectUtils.isNotEmpty(endTime)) {
+			queryWrapper.le(BusMemberCard::getCreateTime, DateUtil.parseDate(endTime));
+		}
 		Page<BusMemberCard> page = new Page<BusMemberCard>(pageNo, pageSize);
 		IPage<BusMemberCard> pageList = busMemberCardService.page(page, queryWrapper);
 		pageList.getRecords().forEach(item -> {
@@ -86,6 +103,18 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 			if (busMarketMember != null) {
 				item.setGradeName(busMarketMember.getName());
 			}
+			if (ObjectUtils.isNotEmpty(item.getGroupId())) {
+				BusMarketMemberGroup busMarketMemberGroup = busMarketMemberGroupService.getById(item.getGroupId());
+				if (busMarketMemberGroup != null) {
+					item.setGroupName(busMarketMemberGroup.getName());
+				}
+			}
+			if (ObjectUtils.isNotEmpty(item.getLabelId())) {
+				BusMarketMemberLable busMarketMemberLable = busMarketMemberLableService.getById(item.getLabelId());
+				if (busMarketMemberLable != null) {
+					item.setLabelName(busMarketMemberLable.getName());
+				}
+			}
 		});
 		return Result.OK(pageList);
 	}
@@ -119,6 +148,22 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 		busMemberCardService.updateById(busMemberCard);
 		return Result.OK("编辑成功!");
 	}
+
+	 @AutoLog(value = "用户批量分组")
+	 @ApiOperation(value="用户批量分组", notes="用户批量分组")
+	 @RequestMapping(value = "/groupBatch", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> groupBatch(@RequestBody UserGroupDto dto) {
+		 Result res = busMemberCardService.groupBatch(dto);
+		 return res;
+	 }
+
+	 @AutoLog(value = "用户批量标签")
+	 @ApiOperation(value="用户批量标签", notes="用户批量标签")
+	 @RequestMapping(value = "/lableBatch", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> lableBatch(@RequestBody UserLabelDto dto) {
+		 Result res = busMemberCardService.lableBatch(dto);
+		 return res;
+	 }
 	
 	/**
 	 *   通过id删除

+ 12 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/UserGroupDto.java

@@ -0,0 +1,12 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UserGroupDto {
+    private String groupId;
+    private List<String> ids;
+}
+

+ 12 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/UserLabelDto.java

@@ -0,0 +1,12 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class UserLabelDto {
+    private String labelId;
+    private List<String> ids;
+}
+

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

@@ -125,13 +125,25 @@ public class BusMemberCard implements Serializable {
     @ApiModelProperty(value = "可用余额")
     private BigDecimal balance;
 	/**创建时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "创建时间")
     private Date createTime;
+    /**分组id*/
+    @Excel(name = "分组id", width = 15)
+    @ApiModelProperty(value = "分组id")
+    private String groupId;
+    /**标签id*/
+    @Excel(name = "标签id", width = 15)
+    @ApiModelProperty(value = "标签id")
+    private String labelId;
 
 	@TableField(exist = false)
 	private String hotelName;
 	@TableField(exist = false)
     private String gradeName;
+    @TableField(exist = false)
+    private String groupName;
+    @TableField(exist = false)
+    private String labelName;
 }

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

@@ -1,7 +1,11 @@
 package org.jeecg.modules.business.service;
 
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.business.dto.UserGroupDto;
+import org.jeecg.modules.business.dto.UserLabelDto;
 import org.jeecg.modules.business.entity.BusMemberCard;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @Description: bus_member_card
@@ -10,5 +14,17 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IBusMemberCardService extends IService<BusMemberCard> {
+    /**
+     * 设置用户分组
+     * @param dto
+     * @return
+     */
+    public Result groupBatch(UserGroupDto dto);
 
+    /**
+     * 设置用户标签
+     * @param dto
+     * @return
+     */
+    public Result lableBatch(UserLabelDto dto);
 }

+ 70 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMemberCardServiceImpl.java

@@ -1,11 +1,33 @@
 package org.jeecg.modules.business.service.impl;
 
-import org.jeecg.modules.business.entity.BusMemberCard;
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
+import org.jeecg.modules.business.dto.UserGroupDto;
+import org.jeecg.modules.business.dto.UserLabelDto;
+import org.jeecg.modules.business.entity.*;
+import org.jeecg.modules.business.enums.CouponsStatusEnum;
+import org.jeecg.modules.business.mapper.BusMarketCouponsCashMapper;
+import org.jeecg.modules.business.mapper.BusMarketMemberGroupMapper;
+import org.jeecg.modules.business.mapper.BusMarketMemberLableMapper;
 import org.jeecg.modules.business.mapper.BusMemberCardMapper;
 import org.jeecg.modules.business.service.IBusMemberCardService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: bus_member_card
@@ -15,5 +37,52 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  */
 @Service
 public class BusMemberCardServiceImpl extends ServiceImpl<BusMemberCardMapper, BusMemberCard> implements IBusMemberCardService {
+    @Resource
+    private BusMarketMemberGroupMapper busMarketMemberGroupMapper;
+    @Resource
+    private BusMarketMemberLableMapper busMarketMemberLableMapper;
+    /**
+     * 设置用户分组
+     * @param dto
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Result groupBatch(UserGroupDto dto) {
+        if (ObjectUtils.isEmpty(dto.getGroupId())) return Result.error("分组id不能为空");
+        if (dto.getIds() == null || dto.getIds().size() <= 0) return Result.error("会员不能为空!");
+        BusMarketMemberGroup group = busMarketMemberGroupMapper.selectById(dto.getGroupId());
+        if (ObjectUtils.isEmpty(group)) {
+            return Result.error("分组不存在");
+        }
+        dto.getIds().forEach(item -> {
+            LambdaUpdateWrapper<BusMemberCard> updateWrapper = new UpdateWrapper().lambda();
+            updateWrapper.set(BusMemberCard::getGroupId, dto.getGroupId());
+            updateWrapper.eq(BusMemberCard::getId, item);
+            this.update(updateWrapper);
+        });
+        return Result.ok("分组成功");
+    }
+
+    /**
+     * 设置用户分组
+     * @param dto
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Result lableBatch(UserLabelDto dto) {
+        if (ObjectUtils.isEmpty(dto.getLabelId())) return Result.error("标签id不能为空");
+        if (dto.getIds() == null || dto.getIds().size() <= 0) return Result.error("会员不能为空!");
+        BusMarketMemberLable lable = busMarketMemberLableMapper.selectById(dto.getLabelId());
+        if (ObjectUtils.isEmpty(lable)) {
+            return Result.error("标签不存在");
+        }
+        dto.getIds().forEach(item -> {
+            LambdaUpdateWrapper<BusMemberCard> updateWrapper = new UpdateWrapper().lambda();
+            updateWrapper.set(BusMemberCard::getLabelId, dto.getLabelId());
+            updateWrapper.eq(BusMemberCard::getId, item);
+            this.update(updateWrapper);
+        });
+        return Result.ok("标签成功");
+    }
 
 }