Commit 814a7951 authored by libin's avatar libin

会员模板下载

parent 7f8c0e78
...@@ -19,7 +19,6 @@ import java.io.Serializable; ...@@ -19,7 +19,6 @@ import java.io.Serializable;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Table(name = "base_user_member_export")
public class BaseUserMemberExportDTO implements Serializable { public class BaseUserMemberExportDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String username; private String username;
......
...@@ -15,7 +15,7 @@ import lombok.Data; ...@@ -15,7 +15,7 @@ import lombok.Data;
public class UserMemberDTO { public class UserMemberDTO {
public static final int ISBIND_BIND = 1; public static final int ISBIND_BIND = 1;
/** /**
* 用户id * 用户id
*/ */
......
...@@ -135,6 +135,5 @@ public class BaseUserMember implements Serializable { ...@@ -135,6 +135,5 @@ public class BaseUserMember implements Serializable {
@Column(name = "recent_recharge") @Column(name = "recent_recharge")
private Long recentRecharge; private Long recentRecharge;
} }
...@@ -4,8 +4,6 @@ import com.ace.cache.annotation.Cache; ...@@ -4,8 +4,6 @@ import com.ace.cache.annotation.Cache;
import com.ace.cache.annotation.CacheClear; import com.ace.cache.annotation.CacheClear;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO; import com.github.wxiaoqi.security.admin.dto.BaseUserMemberVO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.UserMemberLevel;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo; import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -15,7 +13,6 @@ import org.apache.commons.beanutils.BeanUtilsBean; ...@@ -15,7 +13,6 @@ import org.apache.commons.beanutils.BeanUtilsBean;
import org.springframework.aop.framework.AopContext; import org.springframework.aop.framework.AopContext;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.task.TaskExecutor; import org.springframework.core.task.TaskExecutor;
import org.springframework.integration.amqp.dsl.Amqp;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper;
...@@ -26,6 +23,7 @@ import tk.mybatis.mapper.entity.Example; ...@@ -26,6 +23,7 @@ import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls; import tk.mybatis.mapper.weekend.WeekendSqls;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.List; import java.util.List;
/** /**
...@@ -49,6 +47,9 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb ...@@ -49,6 +47,9 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
@Autowired @Autowired
private UserMemberLevelBiz userMemberLevelBiz; private UserMemberLevelBiz userMemberLevelBiz;
@Autowired
private AppUserLoginBiz appUserLoginBiz;
//获取用户会员信息 //获取用户会员信息
@Cache(key = "user:member{1}") @Cache(key = "user:member{1}")
public UserMemberVo getMemberInfoByUserId(Integer userId){ public UserMemberVo getMemberInfoByUserId(Integer userId){
...@@ -233,6 +234,4 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb ...@@ -233,6 +234,4 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
} }
} }
} }
\ No newline at end of file
...@@ -2,7 +2,9 @@ package com.github.wxiaoqi.security.admin.biz; ...@@ -2,7 +2,9 @@ package com.github.wxiaoqi.security.admin.biz;
import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO; import com.github.wxiaoqi.security.admin.dto.BaseUserMemberExportDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberDTO; import com.github.wxiaoqi.security.admin.dto.UserMemberDTO;
import com.github.wxiaoqi.security.admin.dto.UserMemberSaveDTO;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberExport;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberExportMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -16,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -16,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -41,13 +44,50 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper, ...@@ -41,13 +44,50 @@ public class BaseUserMemberExportBiz extends BaseBiz<BaseUserMemberExportMapper,
private AppUserLoginBiz appUserLoginBiz; private AppUserLoginBiz appUserLoginBiz;
public void saveUserMember(UserMemberSaveDTO userMemberSaveDTO){
if (userMemberSaveDTO!=null){
UserMemberDTO userMemberDTO = new UserMemberDTO();
BaseUserMemberLevel level = userMemberLevelBiz.getLevel(userMemberSaveDTO.getMemberLevel());
Map<String, Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(Arrays.asList(userMemberSaveDTO.getPhone()));
if (phoneAndUserIdMap!=null){
userMemberDTO.setUserId(phoneAndUserIdMap.get(userMemberSaveDTO.getPhone()));
userMemberDTO.setMemberLevel(userMemberSaveDTO.getMemberLevel());
userMemberDTO.setDiscount(level==null?0:(level.getDiscount()==null?0:level.getDiscount()));
userMemberDTO.setTotalNumber(userMemberSaveDTO.getTotalNumber());
userMemberDTO.setRentFreeDays(userMemberSaveDTO.getRentFreeDays());
userMemberDTO.setIsBind(1);
try {
baseUserMemberBiz.updUserMemberByUserId(userMemberDTO);
} catch (Exception e) {
log.error("会员更新或新增错误:【{}】",e.getMessage());
throw new BaseException(e);
}
}
BaseUserMemberExport memberExport = BaseUserMemberExport
.builder()
.username(userMemberSaveDTO.getPhone())
.memberLevel(userMemberSaveDTO.getMemberLevel())
.totalNumber(userMemberSaveDTO.getTotalNumber())
.rentFreeDays(userMemberSaveDTO.getRentFreeDays())
.discount(level==null?0:level.getDiscount()==null?0:level.getDiscount())
.status(phoneAndUserIdMap == null ? 0 : (phoneAndUserIdMap.get(userMemberSaveDTO.getPhone()) == null ? 0 : 1))
.isDel(0)
.build();
if (log.isDebugEnabled()){
log.debug("当前组装的数据:【{}】",memberExport);
}
mapper.insertSelective(memberExport);
}
}
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public int importUserMember(List<String[]> userMemberData){ public int importUserMember(List<String[]> userMemberData){
List<BaseUserMemberExport> baseUserMemberExports = new ArrayList<>(); List<BaseUserMemberExport> baseUserMemberExports = new ArrayList<>();
List<Integer> levels = userMemberData.stream().map(x -> x[1]).map(Integer::valueOf).collect(Collectors.toList()); List<Integer> levels = userMemberData.stream().map(x -> x[1]).map(Integer::valueOf).distinct().collect(Collectors.toList());
Map<Integer, Integer> levelAndDisCountMap= userMemberLevelBiz.getUserMemberLevelAndDisCountMapByLevels(levels); Map<Integer, Integer> levelAndDisCountMap= userMemberLevelBiz.getUserMemberLevelAndDisCountMapByLevels(levels);
List<String> phones = userMemberData.stream().map(x -> x[0]).collect(Collectors.toList()); List<String> phones = userMemberData.stream().map(x -> x[0]).distinct().collect(Collectors.toList());
Map<String,Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones); Map<String,Integer> phoneAndUserIdMap = appUserLoginBiz.findPhoneAndUserIdMapByPhones(phones);
for (String[] data : userMemberData) { for (String[] data : userMemberData) {
......
...@@ -90,9 +90,8 @@ public class UserMemberController { ...@@ -90,9 +90,8 @@ public class UserMemberController {
public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response){ public ResponseEntity<byte[]> dowloadUserMemberExcelModel(HttpServletResponse response){
// 重置response // 重置response
response.reset(); response.reset();
//设置http头信息的内容
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel"); response.setContentType("multipart/form-data");
response.addHeader("Content-Disposition", "attachment;filename=usermember.xlsx"); response.addHeader("Content-Disposition", "attachment;filename=usermember.xlsx");
InputStream inputStream = AdminBootstrap.class.getClassLoader().getResourceAsStream("file/usermember.xlsx"); InputStream inputStream = AdminBootstrap.class.getClassLoader().getResourceAsStream("file/usermember.xlsx");
try { try {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment