yshop1.9.6,H5(公众号)端新增商品海报功能,管理后台配置新增排序与可隐藏选项,修复小程序bug等
This commit is contained in:
@ -112,7 +112,7 @@ public class StoreCombinationController extends BaseController {
|
|||||||
return ApiResult.fail("未配置h5地址");
|
return ApiResult.fail("未配置h5地址");
|
||||||
}
|
}
|
||||||
String apiUrl = systemConfigService.getData("api_url");
|
String apiUrl = systemConfigService.getData("api_url");
|
||||||
if(StrUtil.isEmpty(siteUrl)){
|
if(StrUtil.isEmpty(apiUrl)){
|
||||||
return ApiResult.fail("未配置api地址");
|
return ApiResult.fail("未配置api地址");
|
||||||
}
|
}
|
||||||
YxStorePink storePink = storePinkService.getPinkUserOne(pinkId);
|
YxStorePink storePink = storePinkService.getPinkUserOne(pinkId);
|
||||||
@ -130,8 +130,15 @@ public class StoreCombinationController extends BaseController {
|
|||||||
//生成二维码
|
//生成二维码
|
||||||
//String fileDir = path+"qrcode"+File.separator;
|
//String fileDir = path+"qrcode"+File.separator;
|
||||||
File file = FileUtil.mkdir(new File(fileDir));
|
File file = FileUtil.mkdir(new File(fileDir));
|
||||||
QrCodeUtil.generate(siteUrl+"/activity/group_rule/"+pinkId+"?spread="+uid, 180, 180,
|
if(userInfo.getUserType().equals("routine")){
|
||||||
FileUtil.file(fileDir+name));
|
siteUrl = siteUrl+"/pink/";
|
||||||
|
QrCodeUtil.generate(siteUrl+"?pinkId="+pinkId+"&spread="+uid, 180, 180,
|
||||||
|
FileUtil.file(fileDir+name));
|
||||||
|
}else{
|
||||||
|
QrCodeUtil.generate(siteUrl+"/activity/group_rule/"+pinkId+"?spread="+uid, 180, 180,
|
||||||
|
FileUtil.file(fileDir+name));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
systemAttachmentService.attachmentAdd(name,String.valueOf(FileUtil.size(file)),
|
systemAttachmentService.attachmentAdd(name,String.valueOf(FileUtil.size(file)),
|
||||||
fileDir+name,"qrcode/"+name);
|
fileDir+name,"qrcode/"+name);
|
||||||
|
@ -50,7 +50,7 @@ public class YxSystemGroupDataServiceImpl extends BaseServiceImpl<YxSystemGroupD
|
|||||||
|
|
||||||
List<Map<String,Object>> list = new ArrayList<>();
|
List<Map<String,Object>> list = new ArrayList<>();
|
||||||
|
|
||||||
wrapper.eq("group_name",name).eq("status",1);
|
wrapper.eq("group_name",name).eq("status",1).orderByDesc("sort");
|
||||||
List<YxSystemGroupData> systemGroupDatas = baseMapper.selectList(wrapper);
|
List<YxSystemGroupData> systemGroupDatas = baseMapper.selectList(wrapper);
|
||||||
|
|
||||||
for (YxSystemGroupData yxSystemGroupData : systemGroupDatas) {
|
for (YxSystemGroupData yxSystemGroupData : systemGroupDatas) {
|
||||||
|
@ -83,16 +83,15 @@ public class IndexController {
|
|||||||
for (Map<String,Object> map : list) {
|
for (Map<String,Object> map : list) {
|
||||||
stringList.add(map.get("title").toString());
|
stringList.add(map.get("title").toString());
|
||||||
}
|
}
|
||||||
//System.out.println(stringList);
|
|
||||||
return ApiResult.ok(stringList);
|
return ApiResult.ok(stringList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@AnonymousAccess
|
@AnonymousAccess
|
||||||
@PostMapping("/image_base64")
|
@PostMapping("/image_base64")
|
||||||
@ApiOperation(value = "获取图片base64",notes = "获取图片base64")
|
@ApiOperation(value = "获取图片base64",notes = "获取图片base64")
|
||||||
|
@Deprecated
|
||||||
public ApiResult<List<String>> imageBase64(){
|
public ApiResult<List<String>> imageBase64(){
|
||||||
|
|
||||||
//Map<String,Object> map = new LinkedHashMap<>();
|
|
||||||
return ApiResult.ok(null);
|
return ApiResult.ok(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
package co.yixiang.modules.shop.web.controller;
|
package co.yixiang.modules.shop.web.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.io.FileUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||||
|
import cn.hutool.http.HttpUtil;
|
||||||
import co.yixiang.annotation.AnonymousAccess;
|
import co.yixiang.annotation.AnonymousAccess;
|
||||||
import co.yixiang.aop.log.Log;
|
import co.yixiang.aop.log.Log;
|
||||||
import co.yixiang.common.api.ApiResult;
|
import co.yixiang.common.api.ApiResult;
|
||||||
@ -7,19 +12,26 @@ import co.yixiang.common.web.controller.BaseController;
|
|||||||
import co.yixiang.modules.shop.service.YxStoreProductRelationService;
|
import co.yixiang.modules.shop.service.YxStoreProductRelationService;
|
||||||
import co.yixiang.modules.shop.service.YxStoreProductReplyService;
|
import co.yixiang.modules.shop.service.YxStoreProductReplyService;
|
||||||
import co.yixiang.modules.shop.service.YxStoreProductService;
|
import co.yixiang.modules.shop.service.YxStoreProductService;
|
||||||
|
import co.yixiang.modules.shop.service.YxSystemConfigService;
|
||||||
import co.yixiang.modules.shop.web.dto.ProductDTO;
|
import co.yixiang.modules.shop.web.dto.ProductDTO;
|
||||||
import co.yixiang.modules.shop.web.param.YxStoreProductQueryParam;
|
import co.yixiang.modules.shop.web.param.YxStoreProductQueryParam;
|
||||||
import co.yixiang.modules.shop.web.param.YxStoreProductRelationQueryParam;
|
import co.yixiang.modules.shop.web.param.YxStoreProductRelationQueryParam;
|
||||||
import co.yixiang.modules.shop.web.vo.YxStoreProductQueryVo;
|
import co.yixiang.modules.shop.web.vo.YxStoreProductQueryVo;
|
||||||
|
import co.yixiang.modules.user.entity.YxSystemAttachment;
|
||||||
|
import co.yixiang.modules.user.service.YxSystemAttachmentService;
|
||||||
|
import co.yixiang.modules.user.service.YxUserService;
|
||||||
|
import co.yixiang.modules.user.web.vo.YxUserQueryVo;
|
||||||
import co.yixiang.utils.SecurityUtils;
|
import co.yixiang.utils.SecurityUtils;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -41,6 +53,12 @@ public class StoreProductController extends BaseController {
|
|||||||
private final YxStoreProductService storeProductService;
|
private final YxStoreProductService storeProductService;
|
||||||
private final YxStoreProductRelationService productRelationService;
|
private final YxStoreProductRelationService productRelationService;
|
||||||
private final YxStoreProductReplyService replyService;
|
private final YxStoreProductReplyService replyService;
|
||||||
|
private final YxSystemConfigService systemConfigService;
|
||||||
|
private final YxSystemAttachmentService systemAttachmentService;
|
||||||
|
private final YxUserService yxUserService;
|
||||||
|
|
||||||
|
@Value("${file.path}")
|
||||||
|
private String path;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -97,7 +115,53 @@ public class StoreProductController extends BaseController {
|
|||||||
@ApiOperation(value = "普通商品详情",notes = "普通商品详情")
|
@ApiOperation(value = "普通商品详情",notes = "普通商品详情")
|
||||||
public ApiResult<ProductDTO> detail(@PathVariable Integer id){
|
public ApiResult<ProductDTO> detail(@PathVariable Integer id){
|
||||||
int uid = SecurityUtils.getUserId().intValue();
|
int uid = SecurityUtils.getUserId().intValue();
|
||||||
return ApiResult.ok(storeProductService.goodsDetail(id,0,uid));
|
|
||||||
|
ProductDTO productDTO = storeProductService.goodsDetail(id,0,uid);
|
||||||
|
|
||||||
|
// 海报
|
||||||
|
String siteUrl = systemConfigService.getData("site_url");
|
||||||
|
if(StrUtil.isEmpty(siteUrl)){
|
||||||
|
return ApiResult.fail("未配置h5地址");
|
||||||
|
}
|
||||||
|
String apiUrl = systemConfigService.getData("api_url");
|
||||||
|
if(StrUtil.isEmpty(apiUrl)){
|
||||||
|
return ApiResult.fail("未配置api地址");
|
||||||
|
}
|
||||||
|
|
||||||
|
YxUserQueryVo userInfo = yxUserService.getYxUserById(uid);
|
||||||
|
String name = id+"_"+uid + "_"+userInfo.getIsPromoter()+"_product_detail_wap.jpg";
|
||||||
|
YxSystemAttachment attachment = systemAttachmentService.getInfo(name);
|
||||||
|
String fileDir = path+"qrcode"+ File.separator;
|
||||||
|
String qrcodeUrl = "";
|
||||||
|
if(ObjectUtil.isNull(attachment)){
|
||||||
|
//生成二维码
|
||||||
|
File file = FileUtil.mkdir(new File(fileDir));
|
||||||
|
if(userInfo.getUserType().equals("routine")){
|
||||||
|
siteUrl = siteUrl+"/product/";
|
||||||
|
QrCodeUtil.generate(siteUrl+"?productId="+id+"&spread="+uid, 180, 180,
|
||||||
|
FileUtil.file(fileDir+name));
|
||||||
|
}else{
|
||||||
|
QrCodeUtil.generate(siteUrl+"/detail/"+id+"?spread="+uid, 180, 180,
|
||||||
|
FileUtil.file(fileDir+name));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
systemAttachmentService.attachmentAdd(name,String.valueOf(FileUtil.size(file)),
|
||||||
|
fileDir+name,"qrcode/"+name);
|
||||||
|
|
||||||
|
qrcodeUrl = fileDir+name;
|
||||||
|
}else{
|
||||||
|
qrcodeUrl = attachment.getAttDir();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
String base64CodeImg = co.yixiang.utils.FileUtil.fileToBase64(new File(qrcodeUrl));
|
||||||
|
productDTO.getStoreInfo().setCodeBase("data:image/jpeg;base64," + base64CodeImg);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return ApiResult.ok(productDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,6 +36,8 @@ public class YxStoreProductQueryVo implements Serializable {
|
|||||||
|
|
||||||
private String image_base;
|
private String image_base;
|
||||||
|
|
||||||
|
private String codeBase;
|
||||||
|
|
||||||
public String getImage_base() {
|
public String getImage_base() {
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,9 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
@ -35,9 +37,13 @@ public class YxSystemGroupDataController {
|
|||||||
@ApiOperation(value = "查询数据配置")
|
@ApiOperation(value = "查询数据配置")
|
||||||
@GetMapping(value = "/yxSystemGroupData")
|
@GetMapping(value = "/yxSystemGroupData")
|
||||||
@PreAuthorize("@el.check('admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_SELECT')")
|
@PreAuthorize("@el.check('admin','YXSYSTEMGROUPDATA_ALL','YXSYSTEMGROUPDATA_SELECT')")
|
||||||
public ResponseEntity getYxSystemGroupDatas(YxSystemGroupDataQueryCriteria criteria, Pageable pageable){
|
public ResponseEntity getYxSystemGroupDatas(YxSystemGroupDataQueryCriteria criteria,
|
||||||
|
Pageable pageable){
|
||||||
return new ResponseEntity(yxSystemGroupDataService.queryAll(criteria,pageable),HttpStatus.OK);
|
Sort sort = new Sort(Sort.Direction.DESC, "sort");
|
||||||
|
Pageable pageableT = new PageRequest(pageable.getPageNumber(),
|
||||||
|
pageable.getPageSize(),
|
||||||
|
sort);
|
||||||
|
return new ResponseEntity(yxSystemGroupDataService.queryAll(criteria,pageableT),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Log("新增数据配置")
|
@Log("新增数据配置")
|
||||||
@ -77,7 +83,8 @@ public class YxSystemGroupDataController {
|
|||||||
yxSystemGroupData.setGroupName(jsonObject.get("groupName").toString());
|
yxSystemGroupData.setGroupName(jsonObject.get("groupName").toString());
|
||||||
jsonObject.remove("groupName");
|
jsonObject.remove("groupName");
|
||||||
yxSystemGroupData.setValue(jsonObject.toJSONString());
|
yxSystemGroupData.setValue(jsonObject.toJSONString());
|
||||||
yxSystemGroupData.setStatus(1);
|
yxSystemGroupData.setStatus(jsonObject.getInteger("status"));
|
||||||
|
yxSystemGroupData.setSort(jsonObject.getInteger("sort"));
|
||||||
yxSystemGroupData.setAddTime(OrderUtil.getSecondTimestampTwo());
|
yxSystemGroupData.setAddTime(OrderUtil.getSecondTimestampTwo());
|
||||||
|
|
||||||
return new ResponseEntity(yxSystemGroupDataService.create(yxSystemGroupData),HttpStatus.CREATED);
|
return new ResponseEntity(yxSystemGroupDataService.create(yxSystemGroupData),HttpStatus.CREATED);
|
||||||
@ -113,6 +120,19 @@ public class YxSystemGroupDataController {
|
|||||||
yxSystemGroupData.setGroupName(jsonObject.get("groupName").toString());
|
yxSystemGroupData.setGroupName(jsonObject.get("groupName").toString());
|
||||||
jsonObject.remove("groupName");
|
jsonObject.remove("groupName");
|
||||||
yxSystemGroupData.setValue(jsonObject.toJSONString());
|
yxSystemGroupData.setValue(jsonObject.toJSONString());
|
||||||
|
if(jsonObject.getInteger("status") == null){
|
||||||
|
yxSystemGroupData.setStatus(1);
|
||||||
|
}else{
|
||||||
|
yxSystemGroupData.setStatus(jsonObject.getInteger("status"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(jsonObject.getInteger("sort") == null){
|
||||||
|
yxSystemGroupData.setSort(0);
|
||||||
|
}else{
|
||||||
|
yxSystemGroupData.setSort(jsonObject.getInteger("sort"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
yxSystemGroupData.setId(Integer.valueOf(jsonObject.get("id").toString()));
|
yxSystemGroupData.setId(Integer.valueOf(jsonObject.get("id").toString()));
|
||||||
yxSystemGroupDataService.update(yxSystemGroupData);
|
yxSystemGroupDataService.update(yxSystemGroupData);
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
|
@ -50,7 +50,6 @@ public class YxSystemGroupDataServiceImpl implements YxSystemGroupDataService {
|
|||||||
map.put("content",systemGroupDataDTOS);
|
map.put("content",systemGroupDataDTOS);
|
||||||
map.put("totalElements",page.getTotalElements());
|
map.put("totalElements",page.getTotalElements());
|
||||||
return map;
|
return map;
|
||||||
//return PageUtil.toPage(page.map(yxSystemGroupDataMapper::toDto));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -33,7 +33,7 @@ public class YxSystemConfigController {
|
|||||||
private YxSystemConfigService yxSystemConfigService;
|
private YxSystemConfigService yxSystemConfigService;
|
||||||
|
|
||||||
@Log("查询")
|
@Log("查询")
|
||||||
@ApiOperation(value = "查询YxSystemConfig")
|
@ApiOperation(value = "查询")
|
||||||
@GetMapping(value = "/yxSystemConfig")
|
@GetMapping(value = "/yxSystemConfig")
|
||||||
@PreAuthorize("@el.check('admin','YXSYSTEMCONFIG_ALL','YXSYSTEMCONFIG_SELECT')")
|
@PreAuthorize("@el.check('admin','YXSYSTEMCONFIG_ALL','YXSYSTEMCONFIG_SELECT')")
|
||||||
public ResponseEntity getYxSystemConfigs(YxSystemConfigQueryCriteria criteria, Pageable pageable){
|
public ResponseEntity getYxSystemConfigs(YxSystemConfigQueryCriteria criteria, Pageable pageable){
|
||||||
@ -41,7 +41,7 @@ public class YxSystemConfigController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Log("新增或修改")
|
@Log("新增或修改")
|
||||||
@ApiOperation(value = "新增YxSystemConfig")
|
@ApiOperation(value = "新增或修改")
|
||||||
@PostMapping(value = "/yxSystemConfig")
|
@PostMapping(value = "/yxSystemConfig")
|
||||||
@PreAuthorize("@el.check('admin','YXSYSTEMCONFIG_ALL','YXSYSTEMCONFIG_CREATE')")
|
@PreAuthorize("@el.check('admin','YXSYSTEMCONFIG_ALL','YXSYSTEMCONFIG_CREATE')")
|
||||||
public ResponseEntity create(@RequestBody String jsonStr){
|
public ResponseEntity create(@RequestBody String jsonStr){
|
||||||
|
Reference in New Issue
Block a user