From 24e292ad3110636e7de0f81c1c2351acd1266d61 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 15 Jan 2019 15:36:55 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=9A=E5=91=98=E5=88=97=E8=A1=A8][?= =?UTF-8?q?=E6=96=B0=E5=A2=9E]:=E4=BC=9A=E5=91=98=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxCUserBasicInfoServiceImpl.java | 39 +++++++----------- .../service/impl/WxScoreRulesServiceImpl.java | 40 ++++++++++++++++++- 2 files changed, 52 insertions(+), 27 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 16532f2d6..71988b396 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -12,7 +12,6 @@ import com.iformall.domain.vo.CUserBaseInfoT; import com.iformall.domain.vo.CUserBaseVo; import com.iformall.domain.vo.CUserTagVo; import com.iformall.domain.vo.WxCUserBasicInfoVo; -import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumScoreType; import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.mapper.WxCUserMapper; @@ -26,8 +25,8 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.xssf.streaming.SXSSFSheet; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -152,7 +151,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { public void exportData(WxCUserBasicInfo basicInfo, HttpServletRequest request, HttpServletResponse response) { List memberlist = wxCUserBasicInfoMapper.findVoList(basicInfo); - XSSFWorkbook workbook; + SXSSFWorkbook workbook; String filepath = Constant.fileDirectory; File savefile = new File(filepath); if (!savefile.exists()) { @@ -166,10 +165,12 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { WxTags wxTagsQ = new WxTags(); List tagList = wxTagsMapper.findList(wxTagsQ); + List tagIdList = new ArrayList(); + try { File file = new File(filepath); - workbook = new XSSFWorkbook(); - XSSFSheet sheetTwo = workbook.createSheet("会员信息"); + workbook = new SXSSFWorkbook(100); + SXSSFSheet sheetTwo = workbook.createSheet("会员信息"); Row rowtwo = sheetTwo.createRow(0); Cell nameCellTwo = rowtwo.createCell(0); Cell sexCellTwo = rowtwo.createCell(1); @@ -233,7 +234,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { if (!ids.isEmpty()) { String tagNames = ""; String tagIds = ""; - List tagIdList = new ArrayList<>(); + tagIdList.clear(); for(Long id: ids) { for(WxTags tag: tagList) { if(id.equals(tag.getId())) { @@ -306,7 +307,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { @Override public void exportTemplate(HttpServletRequest request, HttpServletResponse response, String tenantId) { - XSSFWorkbook workbook; + SXSSFWorkbook workbook; String filepath = Constant.fileDirectory; File savefile = new File(filepath); if (!savefile.exists()) { @@ -316,9 +317,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { filepath = filepath + filename; try { File file = new File(filepath); - workbook = new XSSFWorkbook(); + workbook = new SXSSFWorkbook(100); - XSSFSheet sheetTwo = workbook.createSheet("会员信息"); + SXSSFSheet sheetTwo = workbook.createSheet("会员信息"); Row rowtwo = sheetTwo.createRow(0); @@ -432,20 +433,6 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { } - - /* - private class UserVerifyHandler implements IExcelVerifyHandler { - @Override - public ExcelVerifyHandlerResult verifyHandler(CUserBaseInfoT cUserBaseInfoT) { - if (StringUtils.isBlank(cUserBaseInfoT.getPhone())) { - return new ExcelVerifyHandlerResult(cUserBaseInfoT); - } - return null; - } - } - */ - - public WxCUserBasicInfo InitUserBaseInfo(CUserBaseInfoT uBase, String tenantId) { if (StringUtils.isBlank(uBase.getPhone())) { return null; @@ -591,13 +578,15 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { } } - //触发自动打标签 + //触发自动打标签, 晚上会自动打标签,所以去掉导入打标签 + /* if (oldUserBase != null) { wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT,oldUserBase); } else{ wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT,userBase); } + */ // 成长值 if (StringUtils.isNotBlank(uBase.getPoins())) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index ccf053147..7c7a57185 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -148,6 +148,30 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { } } + private void resetBasicUserScore(WxCUserBasicInfo user, int scoreNumber) { + // 1. basicUser + if(user == null) { + return; + } + + // 2. update score/ 修改basic表积分 + user.setPoins(scoreNumber); + wxCUserBasicInfoMapper.updateScore(user); + + // 3. 修改 c_user表积分 score + if (user.getPhone() != null) { + WxCUser wxCUser = new WxCUser(); + wxCUser.setTenantId(user.getTenantId()); + wxCUser.setPhone(user.getPhone()); + List list = wxCUserMapper.findList(wxCUser); + if (!list.isEmpty()) { + wxCUser = list.get(0); + wxCUser.setScore(scoreNumber); + wxCUserMapper.updateByPrimaryKeySelective(wxCUser); + } + } + } + private int checkTodayLoginScoreCount(WxCUser cUser) { WxScoreHistory scoreHistory = new WxScoreHistory(); scoreHistory.setTenantId(cUser.getTenantId()); @@ -311,10 +335,10 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { private int memResetScore(WxCUserBasicInfo userInfo, Integer score) { // 1. 导入成长值 - resetBasicUserScore(userInfo.getId(), score); + resetBasicUserScore(userInfo, score); // 2. 记录历史 - recordScoreHistory(score, userInfo.getTenantId(), userInfo.getId(), EnumScoreType.MEM_IMPORT); + recordScoreHistory(userInfo, score, EnumScoreType.MEM_IMPORT); return score; } @@ -340,6 +364,18 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { return score; } + private void recordScoreHistory(WxCUserBasicInfo userInfo, int addScoreNumber, EnumScoreType wechatPhone) { + final IdWorker idWorker = IdWorker.get(); + WxScoreHistory history = new WxScoreHistory(); + history.setId(idWorker.nextId()); + history.setTenantId(userInfo.getTenantId()); + history.setCUserId(userInfo.getId()); + history.setCreateDate(new Date()); + history.setScoreType(wechatPhone.getCode()); + history.setScoreAmount(addScoreNumber); + wxScoreHistoryMapper.insert(history); + } + private void recordScoreHistory(int addScoreNumber, String tenantId, Long id, EnumScoreType wechatPhone) { final IdWorker idWorker = IdWorker.get(); WxScoreHistory history = new WxScoreHistory();