package com.ygj.yuemum.service.distributionchannel; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.ygj.yuemum.component.Constant; import com.ygj.yuemum.dao.distributionchannel.DcIntroducerDao; import com.ygj.yuemum.domain.distributionchannel.DcIntroduceLog; import com.ygj.yuemum.domain.distributionchannel.DcIntroducer; import com.ygj.yuemum.domain.distributionchannel.DcIntroducerExtract; import com.ygj.yuemum.domain.distributionchannel.DcIntroducerRelation; import com.ygj.yuemum.domain.order.YSOrder; import com.ygj.yuemum.service.order.YSOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class DcIntroducerService { @Autowired private DcIntroducerDao dcIntroducerDao; @Autowired private YSOrderService ysOrderService; @Autowired private DcIntroduceLogService dcIntroduceLogService; @Autowired private DcIntroducerExtractService dcIntroducerExtractService; @Autowired private DcIntroducerRelationService dcIntroducerRelationService; @Autowired private MiniAppService miniAppService; public static final String imgbankcard = Constant.IMGBANKCARD; public static final String qrcode = Constant.QRCODE; //分页 public Map getDcIntroducers(int page, int limit) { PageHelper.startPage(page, limit); List dcIntroducers = dcIntroducerDao.getDcIntroducers(); PageInfo pageInfo = new PageInfo(dcIntroducers); long count = pageInfo.getTotal(); //获取总记录数 Map tableData = new HashMap<>(); tableData.put("items", dcIntroducers); tableData.put("total", count); return tableData; } public List initIntroducers() { return dcIntroducerDao.getDcIntroducers(); } public Map queryDcIntroducers(DcIntroducer wxVip) { PageHelper.startPage(wxVip.getPage(), wxVip.getLimit()); List dcIntroducers = dcIntroducerDao.queryDcIntroducers(wxVip); PageInfo pageInfo = new PageInfo(dcIntroducers); long count = pageInfo.getTotal(); //获取总记录数 Map tableData = new HashMap<>(); tableData.put("items", dcIntroducers); tableData.put("total", count); return tableData; } public int insertDcIntroducer(DcIntroducer dcIntroducer) { return dcIntroducerDao.insertDcIntroducer(dcIntroducer); } public int updateDcIntroducer(DcIntroducer dcIntroducer) { //更新介绍人信息,更新介绍人日志信息,更新订单推荐人信息,重新生成小程序码 try { //订单表 YSOrder ysOrder = new YSOrder(); ysOrder.setOd_introducer_phone(dcIntroducer.getWv_phone()); ysOrder.setOd_introducer_phoneOld(dcIntroducer.getWv_phoneOld()); ysOrderService.updateDCPhone(ysOrder); //介绍人日志表 DcIntroduceLog dcIntroduceLog = new DcIntroduceLog(); dcIntroduceLog.setXul_introducer_phone(dcIntroducer.getWv_phone()); dcIntroduceLog.setXul_introducer_phoneOld(dcIntroducer.getWv_phoneOld()); dcIntroduceLogService.updateDcIntroduceLogByPhone(dcIntroduceLog); //介绍人提现表 DcIntroducerExtract dcIntroducerExtract = new DcIntroducerExtract(); dcIntroducerExtract.setWue_phone(dcIntroducer.getWv_phone()); dcIntroducerExtract.setWue_phoneOld(dcIntroducer.getWv_phoneOld()); dcIntroducerExtractService.updateIEByPhoneChange(dcIntroducerExtract); //介绍人顾问关系表 DcIntroducerRelation dcIntroducerRelation = new DcIntroducerRelation(); dcIntroducerRelation.setDig_introducer_phone(dcIntroducer.getWv_phone()); dcIntroducerRelation.setDig_introducer_phoneOld(dcIntroducer.getWv_phoneOld()); dcIntroducerRelationService.updateIRByPhoneChange(dcIntroducerRelation); //重新生成小程序码 //删除之前生成的小程序码 String[] pathname = dcIntroducer.getWv_qrcode().split("/"); String name = pathname[pathname.length -1]; String path = qrcode + "/"+ name; File dest = new File(path); dest.delete(); String qrcodePath = miniAppService.createQrCode(dcIntroducer.getWv_phone()); if (qrcodePath.equals("error")) { return 9; } dcIntroducer.setWv_qrcode(qrcodePath); //介绍人表 dcIntroducerDao.updateDcIntroducer(dcIntroducer); } catch (Exception ex) { ex.printStackTrace(); return 0; } return 1; } public int updateAccountNumber(DcIntroducer dcIntroducer) { return dcIntroducerDao.updateAccountNumber(dcIntroducer); } public List queryDcIntroducersByUser(String xul_phone) { return dcIntroducerDao.queryDcIntroducersByUser(xul_phone); } public DcIntroducer checkDcIntroducers(String wv_phone) { //从CRM里面获取推荐人等级 return dcIntroducerDao.checkDcIntroducers(wv_phone); } public DcIntroducer queryOneDcIntroducer(String wv_phone) { //从CRM里面获取推荐人等级 return dcIntroducerDao.queryOneDcIntroducer(wv_phone); } public int delAccountNumber(String wv_phone) { try { DcIntroducer dcIntroducer = dcIntroducerDao.checkDcIntroducers(wv_phone); String fName = dcIntroducer.getWv_account_number_path().trim(); String temp[] = fName.split("/"); String fileName = temp[temp.length - 1]; String path = imgbankcard + "/" + fileName; File dest = new File(path); dest.delete(); dcIntroducerDao.delAccountNumber(wv_phone); } catch (Exception ex) { ex.printStackTrace(); return 0; } return 1; } }