小程序登录

master
yechenhao 6 years ago
parent 6645428468
commit e2181ad96b

@ -414,7 +414,7 @@ public class EmployeeService {
* @param fileUrl url
* @return
*/
private InputStream getInputStream(String fileUrl) {
public InputStream getInputStream(String fileUrl) {
URLConnection connection = null;
try {

@ -72,6 +72,7 @@ public class LoginServiceImpl implements LoginService {
@Override
public LoginBean login(String login, String password, Boolean isMD5) {
password = MD5FileUtil.getMD5String(password);
UsernamePasswordToken token = new UsernamePasswordToken(login, password, isMD5);
Subject subject = SecurityUtils.getSubject();
@ -88,15 +89,18 @@ public class LoginServiceImpl implements LoginService {
LoginBean loginBean = new LoginBean();
if (subject.isAuthenticated()) {
PrivilageAccountDO privilageAccountDO = (PrivilageAccountDO) SecurityUtils.getSubject().getPrincipal();
Map<String, Object> selectAccountMap = new HashMap<>();
selectAccountMap.put("login", login);
selectAccountMap.put("type", AccountEnum.ACCOUNT_TYPE_SYSTEM.getType());
List<PrivilageAccountDO> privilageAccountDOS = privilageAccountDOMapper.selectByMap(selectAccountMap);
Map<String, Object> loginInfoMap = new HashMap<>();
PrivilageUserDO privilageUserDO = privilageUserDOMapper.selectById(privilageAccountDO.getUserId());
PrivilageRoleDO roleDO = privilageRoleDOMapper.selectRoleName(privilageAccountDO.getUserId());
PrivilageUserDO privilageUserDO = privilageUserDOMapper.selectById(privilageAccountDOS.get(0).getUserId());
PrivilageRoleDO roleDO = privilageRoleDOMapper.selectRoleName(privilageAccountDOS.get(0).getUserId());
//成功设置信息
loginBean.setUserName(privilageUserDO.getName());
loginBean.setUserId(privilageAccountDO.getUserId());
loginBean.setRoleId(privilageAccountDO.getId());
loginBean.setUserId(privilageAccountDOS.get(0).getUserId());
loginBean.setRoleId(privilageAccountDOS.get(0).getId());
loginBean.setRoleCode(roleDO.getCode());
loginBean.setLogin(login);
loginInfoMap.put("code", LoginEnum.LOGIN_SUCCEED.getCode());

@ -69,7 +69,7 @@ public class StoreEmployeeController extends BaseController {
*
* @param response
*/
@RequestMapping(value = "download/store/code",method = RequestMethod.POST)
@RequestMapping(value = "download/store/code",method = RequestMethod.GET)
@ResponseBody
public void downloadCode(HttpServletResponse response) {
try {

@ -38,4 +38,6 @@ public interface PoiStoreDOMapper extends BaseMapper<PoiStore> {
List<PoiStore> selectShopByCompany(long orgId);
List<PrivilageUserDO> selectSellerByShop(long shopId);
String selectStoreQrCode(@Param("shopId")Long shopId);
}

@ -37,10 +37,16 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import static com.kiisoo.ic.employee.constant.Constants.ADD_CP_CODE_BINDED;
@ -147,31 +153,77 @@ public class StoreEmployeeService {
if (CollectionUtils.isNotEmpty(privilageOrganizationals)){
String fileUrl = UUID.randomUUID().toString().replace("-", "");
File file = new File(fileUrl);
file.mkdir();
byte[] buffer = new byte[1024];
// 生成的ZIP文件名为Demo.zip
String strZipName = "store_qrCode.zip";
String strZipName = "store_qrCode_"+ fileUrl +".zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(strZipName));
for (PrivilageOrganizational privilageOrganizational:privilageOrganizationals) {
if (privilageOrganizational == null || privilageOrganizational.getId() == null){
continue;
}
String fileUrl = UUID.randomUUID().toString().replace("-", "");
File file = new File(fileUrl);
file.mkdir();
File complayFile = new File(file.getPath()+"/"+privilageOrganizational.getName());
complayFile.mkdir();
List<PoiStore> poiStores = poiStoreDOMapper.selectShopByCompany(privilageOrganizational.getId());
if (CollectionUtils.isNotEmpty(poiStores)){
for (PoiStore poiStore:poiStores){
// poiStoreDOMapper.
String url = poiStoreDOMapper.selectStoreQrCode(poiStore.getId());
//下载图片
BufferedInputStream in = new BufferedInputStream(employeeService.getInputStream(url));
//字节流转图片对象
Image bi = ImageIO.read(in);
//构建图片流
BufferedImage tag = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
//绘制改变尺寸后的图
tag.getGraphics().drawImage(bi, 0, 0, 300, 300, null);
//输出流
BufferedOutputStream image = new BufferedOutputStream(new FileOutputStream(complayFile.getPath() +"/" +poiStore.getCode() + ".png"));
ImageIO.write(tag, "PNG", image);
in.close();
image.close();
}
}
}
File[] files = file.listFiles();
if (files !=null && files.length>0){
for (int i =0;i<files.length;i++){
File companyFile = files[i];
out.putNextEntry(new ZipEntry(companyFile.getName()));
FileInputStream fileInputStream = new FileInputStream(companyFile);
int len;
// 读入需要下载的文件的内容打包到zip文件
while ((len = fileInputStream.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
fileInputStream.close();
out.closeEntry();
}
}
out.flush();
out.close();
ServletOutputStream outputStream = response.getOutputStream();
byte[] bufferNew = new byte[1024];
File zipFile = new File(strZipName);
FileInputStream inStream = new FileInputStream(zipFile);
int lenNew;
while ((lenNew = inStream.read(bufferNew)) > 0) {
outputStream.write(bufferNew, 0, lenNew);
}
file.delete();
zipFile.delete();
}
}
/**

@ -46,4 +46,10 @@
where t1.user_id = t2.id
and t1.store_id = #{shopId}
</select>
<select id="selectStoreQrCode" resultType="java.lang.String">
select t2.qr_code as qrCode
from privilage_cp_user_store t1,privilage_cp_user t2
where t1.cp_user_id = t2.id
and t1.store_id = #{shopId}
</select>
</mapper>

Loading…
Cancel
Save