jiangping
2024-07-16 1c7d77e9a5f6f286b7049aab54aaf8e106daf431
server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -2,6 +2,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.hutool.core.date.DateUnit;
import com.alibaba.fastjson.JSONObject;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.biz.zbom.model.IamUserRoleModel;
import com.doumee.biz.zbom.model.IamUserTypeModel;
@@ -25,19 +26,25 @@
import com.doumee.dao.business.SmsEmailMapper;
import com.doumee.dao.business.UsersMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.reqeust.EditUsersRequest;
import com.doumee.dao.web.reqeust.ContentShareImgDto;
import com.doumee.dao.web.response.AccountResponse;
import com.doumee.service.business.UsersService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.interfaces.MPJBaseJoin;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.catalina.User;
import org.apache.commons.lang3.StringUtils;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.util.ThreadContext;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -50,6 +57,8 @@
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import static com.aliyun.api.internal.util.AliyunWebUtils.doGet;
/**
 * 员工信息表Service实现
@@ -114,7 +123,15 @@
    @Override
    public Users findById(Long id) {
        return usersMapper.selectById(id);
        MPJLambdaWrapper<Users> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.leftJoin(Shop.class,Shop::getId,Users::getDepartmentId)
                .selectAs(Shop::getName,Users::getShopName)
                .selectAs(Shop::getAddress,Users::getShopAddress)
                .selectAs(Shop::getType,Users::getShopType)
                .selectAs(Shop::getSecondType,Users::getShopSecType)
                .selectAll(Users.class)
                .eq(Users::getId,id);
        return usersMapper.selectJoinOne(Users.class,queryWrapper);
    }
    @Override
@@ -139,6 +156,9 @@
                .selectAs(Shop::getSecondType,Users::getShopSecType)
                .selectAll(Users.class);
        Utils.MP.blankToNull(pageWrap.getModel());
        if (StringUtils.isNotBlank(pageWrap.getModel().getPhone())) {
            queryWrapper.apply(" t.id in ( select c.USER_ID from customer_user c where c.phone = '"+pageWrap.getModel().getPhone()+"'  ) ");
        }
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.eq(Users::getId, pageWrap.getModel().getId());
        }
@@ -282,7 +302,6 @@
                        f.setQrcodeImgFull(path + f.getQrcodeImg());
                    }
                }
        }
        return pageData;
    }
@@ -603,16 +622,37 @@
    }
    @Override
    public  String getContentShareImg(Users loginUserInfo, ContentShareImgDto param){
        if(StringUtils.isBlank(param.getImgurl())){
            throw  new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        String url = null;
        if(param.getType() == 1){
            //多图带二维码下载
            String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode();
            String folder = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode();
        }else{
            //内容分享海报图片
        }
        return  url;
    }
    @Override
    public     String getUserCard(Users users){
        String path = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.RESOURCE_PATH).getCode();
        String folder = systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.USERS_FILE).getCode();
        if(StringUtils.isNotBlank(users.getCardImg()) && !StringUtils.equals(users.getCardImg(),"-")){
            return  path + folder+users.getCardImg();
        }
        String defualtHeader = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_HEADER_IMG).getCode();
        String defualtPhone = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_PHONE_IMG).getCode();
        String defualtAddr = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_ADDR_IMG).getCode();
        String imgurl =StringUtils.isNotBlank(users.getImgurl())?path+users.getImgurl():defualtHeader;
        String qrcode =StringUtils.isNotBlank(users.getQrcodeImg())?path+users.getQrcodeImg():null;
        String defualtShop = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_SHOP_IMG).getCode();
        String defualtLogo = systemDictDataBiz.queryByCode(Constants.WEIXIN_DEFAULT_IMGS, Constants.USER_CARD_LOGO_IMG).getCode();
        String imgurl =StringUtils.isNotBlank(users.getImgurl())?path+folder+users.getImgurl():defualtHeader;
        String qrcode =StringUtils.isNotBlank(users.getQrcodeImg())?path+folder+users.getQrcodeImg():null;
        InputStream inputStream = GeneratePicUtil.generateUserCardImg(
                imgurl
                ,qrcode
@@ -620,14 +660,21 @@
                ,"导购"
                ,StringUtils.defaultString(users.getPhone(),"-")
                ,StringUtils.defaultString(users.getShopAddress(),"-")
                ,"ZBOM志邦家居|"+ StringUtils.defaultString(users.getShopName(),"-")
                , StringUtils.defaultString(users.getShopName(),"-")
                ,defualtPhone
                ,defualtAddr);
                ,defualtAddr
                ,defualtShop
                ,defualtLogo);
        TyyZosUtil obs = new TyyZosUtil( systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ENDPOINT).getCode(),
                systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ACCESS_ID).getCode(),
                systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.ACCESS_KEY).getCode());
        String fileName =folder+ DateUtil.getNowShortDate()+"/"+UUID.randomUUID().toString() + ".jpg";
        String key = DateUtil.getNowShortDate()+"/"+UUID.randomUUID().toString() + ".jpg";
        String fileName =folder+ key;
        if (obs.uploadInputstreamObject(inputStream,systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE, Constants.BUCKETNAME).getCode(), fileName)) {
            Users update = new Users();
            update.setId(users.getId());
            update.setCardImg(key);
            usersMapper.updateById(update);
            return  path+fileName;
        }
        return null;
@@ -650,10 +697,14 @@
        if(StringUtils.isNotBlank(users.getCompanyQrcodeImg())){
            users.setCompanyQrcodeImgFull(prefix + users.getCompanyQrcodeImg());
        }
        if(StringUtils.isBlank(users.getSlogans())){
            users.setSlogans(StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.ZBOM_CUSTOMIZED,Constants.USER_LABEL).getCode()));
        }
        if(Objects.nonNull(users.getDepartmentId())){
            Shop shop = shopMapper.selectById(users.getDepartmentId());
            if(Objects.nonNull(shop)){
                users.setShopName(shop.getName());
                users.setShopCity(shop.getProvinceName()+shop.getCityName()+shop.getAreaName());
                if(StringUtils.isNotBlank(shop.getAddress())){
                    users.setShopAddress(shop.getAddress());
                }else{
@@ -666,5 +717,34 @@
    @Override
    public void editUserInfo(EditUsersRequest editUsersRequest){
        if(Objects.isNull(editUsersRequest)){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Users users = usersMapper.selectById(editUsersRequest.getUserId());
        if(Objects.isNull(users)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        //TODO 调起 中台接口
        usersMapper.update(new UpdateWrapper<Users>()
                .lambda()
                .set(Users::getCardImg,"-") //重置名片为 -
                .set(StringUtils.isNotBlank(editUsersRequest.getImgurl()),Users::getImgurl,editUsersRequest.getImgurl())
                .set(StringUtils.isNotBlank(editUsersRequest.getName()),Users::getName,editUsersRequest.getName())
                .set(StringUtils.isNotBlank(editUsersRequest.getPhone()),Users::getPhone,editUsersRequest.getPhone())
                .set(StringUtils.isNotBlank(editUsersRequest.getCompanyQrcodeImg()),Users::getCompanyQrcodeImg,editUsersRequest.getCompanyQrcodeImg())
                .set(StringUtils.isNotBlank(editUsersRequest.getQrcodeImg()),Users::getQrcodeImg,editUsersRequest.getQrcodeImg())
                .set(StringUtils.isNotBlank(editUsersRequest.getSlogans()),Users::getSlogans,editUsersRequest.getSlogans())
                .set(Objects.nonNull(editUsersRequest.getCostomerNum()),Users::getCostomerNum,editUsersRequest.getCostomerNum())
                .set(Objects.nonNull(editUsersRequest.getJobDate()),Users::getJobDate,editUsersRequest.getJobDate())
                .set(StringUtils.isNotBlank(editUsersRequest.getPhone()),Users::getPhone,editUsersRequest.getPhone())
                .eq(Users::getId,editUsersRequest.getUserId()));
    }
}