rk
9 小时以前 580f4d3c2ca9eee53eee95a4de2f6610b790780a
server/dmmall_service/src/main/java/com/doumee/service/business/impl/InviteRecordServiceImpl.java
@@ -34,6 +34,7 @@
import com.doumee.service.business.InviteRecordService;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.util.TextUtils;
import org.apache.shiro.SecurityUtils;
@@ -63,6 +64,9 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private ShopMapper shopMapper;
    @Override
    public InviteInfoResponse getInviteInfo(Integer memberId){
        InviteInfoResponse inviteInfoResponse = new InviteInfoResponse();
@@ -91,7 +95,7 @@
                if(StringUtils.isNotBlank(inviteRecord.getImgUrl())){
                    inviteRecord.setImgUrl(path + inviteRecord.getImgUrl());
                }
                num = num.add(inviteRecord.getRewardIntegral()).add(inviteRecord.getFirstRewardIntegral());
                num = num.add(inviteRecord.getRewardIntegral());
            }
            inviteInfoResponse.setNum(num.longValue());
        }
@@ -100,15 +104,33 @@
    }
    /**
     * 生成海报图
     * @param userType
     * @param memberId
     * @return
     * @throws Exception
     */
    @Override
    public String createShareImg(Integer memberId) throws Exception {
    public String createShareImg(Integer userType,Integer memberId) throws Exception {
        String imgUrl = systemDictDataBiz.queryByCode(Constants.ORDER_SET,Constants.INVITE_IMG_URL).getCode();
        String suffix = "m_" + memberId;
        if(Constants.equalsInteger(Constants.ONE,userType)){
            Shop shop = shopMapper.selectById(memberId);
            if(Objects.nonNull(shop)
                    && StringUtils.isNotBlank(shop.getPosterImg())){
                String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                        + systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHOP_FILE).getCode();
                imgUrl = path + shop.getPosterImg();
            }
            suffix = "s_"+memberId;
        }
        BufferedImage img1  = GeneratePicUtil.transfromToImage(imgUrl,imgUrl.substring(imgUrl.lastIndexOf(".") + 1));
        if (img1 == null) {
            return imgUrl;
        }
        String url = null;
        String scene = "m_" + memberId;
        String scene = "trial";
        //内容分享海报图片
        InputStream mpCode = Constants.generateWxMiniImgStream(
                scene,
@@ -120,21 +142,168 @@
        ALiYunUtil obs = new ALiYunUtil(
        systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode()
                ,systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(), systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode());
        String shareFolder = systemDictDataBiz.queryByCode(Constants.RESOURCE_PATH, Constants.SHARES_FILE).getCode();
        String shareFolder = systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHARES_FILE).getCode();
        String key = DateUtil.getNowShortDate() + "/" + UUID.randomUUID().toString() + ".jpg";
        String fileName = shareFolder + key;
        if (obs.uploadOnlineObject(inputStream,systemDictDataBiz.queryByCode(Constants.OSS, Constants.BUCKETNAME).getCode(), key,null)) {
        if (obs.uploadOnlineObject(inputStream,systemDictDataBiz.queryByCode(Constants.OSS, Constants.BUCKETNAME).getCode(), fileName,null)) {
            url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + fileName;
        }
        return url;
    }
    @Override
    public String createShopMiniProgramCode(Integer shopId) throws Exception {
        //内容分享海报图片
        InputStream inputStream = Constants.generateWxMiniImgStream(
                "trial",
                "/page/index/?shopId="+shopId,
                true);//小程序
        String url = null;
        ALiYunUtil obs = new ALiYunUtil(
                systemDictDataBiz.queryByCode(Constants.OSS,Constants.ENDPOINT).getCode()
                ,systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_ID).getCode(),
                systemDictDataBiz.queryByCode(Constants.OSS,Constants.ACCESS_KEY).getCode());
        String shareFolder = systemDictDataBiz.queryByCode(Constants.OSS, Constants.SHARES_FILE).getCode();
        String key = DateUtil.getNowShortDate() + "/" + UUID.randomUUID().toString() + ".jpg";
        String fileName = shareFolder + key;
        if (obs.uploadOnlineObject(inputStream,systemDictDataBiz.queryByCode(Constants.OSS, Constants.BUCKETNAME).getCode(), fileName,null)) {
            url = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode() + fileName;
        }
        return url;
    }
    @Override
    public Integer create(InviteRecord inviteRecord) {
        inviteRecordMapper.insert(inviteRecord);
        return inviteRecord.getId();
    }
    @Override
    public void deleteById(Integer id) {
        inviteRecordMapper.deleteById(id);
    }
    @Override
    public void delete(InviteRecord inviteRecord) {
        UpdateWrapper<InviteRecord> deleteWrapper = new UpdateWrapper<>(inviteRecord);
        inviteRecordMapper.delete(deleteWrapper);
    }
    @Override
    public void deleteByIdInBatch(List<Integer> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        inviteRecordMapper.deleteBatchIds(ids);
    }
    @Override
    public void updateById(InviteRecord inviteRecord) {
        inviteRecordMapper.updateById(inviteRecord);
    }
    @Override
    public void updateByIdInBatch(List<InviteRecord> inviteRecords) {
        if (CollectionUtils.isEmpty(inviteRecords)) {
            return;
        }
        for (InviteRecord inviteRecord: inviteRecords) {
            this.updateById(inviteRecord);
        }
    }
    @Override
    public InviteRecord findById(Integer id) {
        return inviteRecordMapper.selectById(id);
    }
    @Override
    public InviteRecord findOne(InviteRecord inviteRecord) {
        QueryWrapper<InviteRecord> wrapper = new QueryWrapper<>(inviteRecord).last("limit 1");
        return inviteRecordMapper.selectOne(wrapper);
    }
    @Override
    public List<InviteRecord> findList(InviteRecord inviteRecord) {
        QueryWrapper<InviteRecord> wrapper = new QueryWrapper<>(inviteRecord);
        return inviteRecordMapper.selectList(wrapper);
    }
    @Override
    public PageData<InviteRecord> findPage(PageWrap<InviteRecord> pageWrap) {
        IPage<InviteRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<InviteRecord> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.selectAll(InviteRecord.class )
                .select("t1.name",InviteRecord::getRecName)
                .select("t1.nickname",InviteRecord::getRecNickname)
                .select("t1.phone",InviteRecord::getRecPhone)
                .select("t2.name",InviteRecord::getMemberName)
                .select("t2.nickname",InviteRecord::getMemberNickname)
                .select("t2.open_id",InviteRecord::getOpenid)
                .select("t2.phone",InviteRecord::getMemberPhone)
                .leftJoin(Member.class,Member::getId,InviteRecord::getInviteId)
                .leftJoin(Member.class,Member::getId,InviteRecord::getMemberId) ;
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getId() != null,InviteRecord::getId, pageWrap.getModel().getId());
        queryWrapper.eq(pageWrap.getModel().getCreator() != null,InviteRecord::getCreator, pageWrap.getModel().getCreator());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.ge(InviteRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.le(InviteRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        queryWrapper.eq(pageWrap.getModel().getEditor() != null,InviteRecord::getEditor, pageWrap.getModel().getEditor());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.ge(InviteRecord::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.le(InviteRecord::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getRecName()),w->{
            w.like("t1.name",pageWrap.getModel().getRecName()).or()
                    .like("t1.phone",pageWrap.getModel().getRecName()).or()
                    .like("t1.nickname",pageWrap.getModel().getRecName());
        });
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()),w->{
            w.like("t2.name",pageWrap.getModel().getMemberName()).or()
                    .like("t2.phone",pageWrap.getModel().getMemberName()).or()
                    .like("t2.nickname",pageWrap.getModel().getMemberName());
        });
        queryWrapper.eq(pageWrap.getModel().getIsdeleted() != null,InviteRecord::getIsdeleted, pageWrap.getModel().getIsdeleted());
        queryWrapper.eq(pageWrap.getModel().getRemark() != null,InviteRecord::getRemark, pageWrap.getModel().getRemark());
        queryWrapper.eq(pageWrap.getModel().getInviteId() != null,InviteRecord::getInviteId, pageWrap.getModel().getInviteId());
        queryWrapper.eq(pageWrap.getModel().getMemberId() != null,InviteRecord::getMemberId, pageWrap.getModel().getMemberId());
        queryWrapper.eq(pageWrap.getModel().getPhone() != null,InviteRecord::getPhone, pageWrap.getModel().getPhone());
        queryWrapper.eq(pageWrap.getModel().getFirstOrderStatus() != null,InviteRecord::getFirstOrderStatus, pageWrap.getModel().getFirstOrderStatus());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.ge(InviteRecord::getFirstFinishDate, Utils.Date.getStart(pageWrap.getModel().getFirstFinishDate()));
            queryWrapper.le(InviteRecord::getFirstFinishDate, Utils.Date.getEnd(pageWrap.getModel().getFirstFinishDate()));
        }
        queryWrapper.eq(pageWrap.getModel().getRewardIntegral() != null,InviteRecord::getRewardIntegral, pageWrap.getModel().getRewardIntegral());
        queryWrapper.orderByDesc(InviteRecord::getCreateDate);
        IPage<InviteRecord> result =inviteRecordMapper.selectPage(page, queryWrapper);
        if(result!=null && result.getRecords()!=null){
            for(InviteRecord model : result.getRecords()){
               model.setMemberName(StringUtils.defaultString(model.getMemberNickname(),"")+" / "
                       +StringUtils.defaultString(model.getMemberName(),"-")+" / "
                       +StringUtils.defaultString(model.getMemberPhone(),"-"));
               model.setRecName(StringUtils.defaultString(model.getRecNickname(),"")+" / "
                       +StringUtils.defaultString(model.getRecName(),"-")+" / "
                       +StringUtils.defaultString(model.getRecPhone(),"-"));
            }
        }
        return PageData.from(result);
    }
    @Override
    public long count(InviteRecord inviteRecord) {
        QueryWrapper<InviteRecord> wrapper = new QueryWrapper<>(inviteRecord);
        return inviteRecordMapper.selectCount(wrapper);
    }