From ac2230cf612417b2dcbdcc23814e19f4955941b2 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 16 七月 2024 16:26:36 +0800 Subject: [PATCH] 代码提交 --- server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java | 155 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 149 insertions(+), 6 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java index 64a7de6..4a90c8e 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java @@ -1,6 +1,8 @@ package com.doumee.service.business.impl; 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; @@ -13,7 +15,10 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; +import com.doumee.core.utils.GeneratePicUtil; import com.doumee.core.utils.Utils; +import com.doumee.core.utils.tyyun.TyyZosUtil; import com.doumee.dao.admin.request.ShopImport; import com.doumee.dao.admin.request.UserImport; import com.doumee.dao.business.ShopMapper; @@ -21,19 +26,24 @@ 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.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; @@ -41,13 +51,13 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.io.InputStream; +import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; + +import static com.aliyun.api.internal.util.AliyunWebUtils.doGet; /** * 鍛樺伐淇℃伅琛⊿ervice瀹炵幇 @@ -112,7 +122,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 @@ -137,6 +155,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()); } @@ -280,7 +301,6 @@ f.setQrcodeImgFull(path + f.getQrcodeImg()); } } - } return pageData; } @@ -600,5 +620,128 @@ return null; } + + + @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 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 + ,StringUtils.defaultString(users.getName(),"-") + ,"瀵艰喘" + ,StringUtils.defaultString(users.getPhone(),"-") + ,StringUtils.defaultString(users.getShopAddress(),"-") + , StringUtils.defaultString(users.getShopName(),"-") + ,defualtPhone + ,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 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; + } + + @Override + public Users usersDetail(Long userId){ + Users users = usersMapper.selectById(userId); + if(Objects.isNull(users)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) + + StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode()); + if(StringUtils.isNotBlank(users.getImgurl())){ + users.setImgurlFull(prefix + users.getImgurl()); + } + if(StringUtils.isNotBlank(users.getQrcodeImg())){ + users.setQrcodeImgFull(prefix + users.getQrcodeImg()); + } + 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{ + users.setShopAddress(shop.getProvinceName()+shop.getCityName()+shop.getAreaName()+shop.getTown()+shop.getRegAddr()); + } + } + } + return users; + } + + + + @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(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())); + } + + + + @Override + public void updWxMiniToken(){ + DefaultWebSecurityManager manager = new DefaultWebSecurityManager(); + ThreadContext.bind(manager); + String appId = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_APPID_PERSONNEL).getCode(); + String appSecret = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_SECRET_PERSONNEL).getCode(); + //鐢熸垚寰俊token + String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret; + String response = Constants.doGet(url,null); + JSONObject json = JSONObject.parseObject(response); + SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WX_MINI_CONFIG,Constants.WX_TOKEN_PERSONNEL); + systemDictData.setCode(json.getString("access_token")); + systemDictData.setUpdateTime(new Date()); + systemDictDataBiz.updateByIdNew(systemDictData); + } + } -- Gitblit v1.9.3