提交 a3df433c 作者: zhenjie

Merge branch 'develop' of ssh://git.mmcuav.cn:8222/iuav/pms into develop

...@@ -73,7 +73,7 @@ jobs: ...@@ -73,7 +73,7 @@ jobs:
# 2.2 (Optional) Build and push image ACR EE # 2.2 (Optional) Build and push image ACR EE
- name: Build and push image to ACR EE - name: Build and push image to ACR EE
run: | run: |
mvn clean package mvn clean package -DskipTests
docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" . docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" .
docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG"
......
...@@ -75,7 +75,7 @@ jobs: ...@@ -75,7 +75,7 @@ jobs:
# 2.2 (Optional) Build and push image ACR EE # 2.2 (Optional) Build and push image ACR EE
- name: Build and push image to ACR EE - name: Build and push image to ACR EE
run: | run: |
mvn clean package mvn clean package -DskipTests
docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" . docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" .
docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG"
......
...@@ -18,4 +18,4 @@ patches: ...@@ -18,4 +18,4 @@ patches:
images: images:
- name: REGISTRY/NAMESPACE/IMAGE:TAG - name: REGISTRY/NAMESPACE/IMAGE:TAG
newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/pms newName: mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/pms
newTag: 13789340e2fa8004147607d0f189f4e7668bfe91 newTag: 3885e9f9d2c3bd00e73625bb6a9e0e56aa42e98c
...@@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; ...@@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication @SpringBootApplication
@EnableFeignClients @EnableFeignClients(basePackages = "com.mmc.pms.feign")
public class PmsApplication { public class PmsApplication {
public static void main(String[] args) { public static void main(String[] args) {
......
...@@ -6,14 +6,12 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry; ...@@ -6,14 +6,12 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/** /**
* @author: zj * @author: zj @Date: 2023/5/28 10:52
* @Date: 2023/5/28 10:52
*/ */
@Configuration @Configuration
public class MvcConfiguration implements WebMvcConfigurer { public class MvcConfiguration implements WebMvcConfigurer {
@Autowired @Autowired private TokenCheckHandleInterceptor tokenCheckHandleInterceptor;
private TokenCheckHandleInterceptor tokenCheckHandleInterceptor;
@Override @Override
public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
......
...@@ -8,8 +8,7 @@ import org.springframework.context.annotation.PropertySource; ...@@ -8,8 +8,7 @@ import org.springframework.context.annotation.PropertySource;
import java.util.List; import java.util.List;
/** /**
* @author: zj * @author: zj @Date: 2023/5/28 13:54
* @Date: 2023/5/28 13:54
*/ */
@Data @Data
@Configuration @Configuration
......
...@@ -16,23 +16,21 @@ import javax.servlet.http.HttpServletResponse; ...@@ -16,23 +16,21 @@ import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter; import java.io.PrintWriter;
/** /**
* @author: zj * @author: zj @Date: 2023/5/28 10:46
* @Date: 2023/5/28 10:46
*/ */
@Slf4j @Slf4j
@Component @Component
public class TokenCheckHandleInterceptor implements HandlerInterceptor { public class TokenCheckHandleInterceptor implements HandlerInterceptor {
@Autowired @Autowired private StringRedisTemplate stringRedisTemplate;
private StringRedisTemplate stringRedisTemplate;
@Autowired @Autowired private NotCheckUriConfig notCheckUriConfig;
private NotCheckUriConfig notCheckUriConfig;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
String requestURI = request.getRequestURI(); String requestURI = request.getRequestURI();
// //根据uri确认是否要拦截 // //根据uri确认是否要拦截
if (!shouldFilter(requestURI)) { if (!shouldFilter(requestURI)) {
return true; return true;
} }
...@@ -46,38 +44,44 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor { ...@@ -46,38 +44,44 @@ public class TokenCheckHandleInterceptor implements HandlerInterceptor {
exceptionProcess(response); exceptionProcess(response);
return false; return false;
} }
// //
// String serverName = request.getServerName(); // String serverName = request.getServerName();
// String remoteHost = request.getRemoteHost(); // String remoteHost = request.getRemoteHost();
// log.info("hostName: {}", hostName); // log.info("hostName: {}", hostName);
// log.info("serverName: {}", serverName); // log.info("serverName: {}", serverName);
// log.info("remoteHost: {}", remoteHost); // log.info("remoteHost: {}", remoteHost);
// log.info("forwardedFor: {}", forwardedFor); // log.info("forwardedFor: {}", forwardedFor);
// log.info("forwardedHost: {}", forwardedHost); // log.info("forwardedHost: {}", forwardedHost);
// if (hostName.equals("iuav.mmcuav.cn") || hostName.equals("test.iuav.mmcuav.cn") || hostName.equals("www.iuav.shop") || hostName.equals("test.iuav.shop")){ // if (hostName.equals("iuav.mmcuav.cn") || hostName.equals("test.iuav.mmcuav.cn") ||
// String token = request.getHeader("token"); // hostName.equals("www.iuav.shop") || hostName.equals("test.iuav.shop")){
// if (StringUtils.isBlank(token)){ // String token = request.getHeader("token");
// exceptionProcess(response); // if (StringUtils.isBlank(token)){
// return false; // exceptionProcess(response);
// } // return false;
// String tokenJson = stringRedisTemplate.opsForValue().get(token); // }
// if (StringUtils.isBlank(tokenJson)){ // String tokenJson = stringRedisTemplate.opsForValue().get(token);
// exceptionProcess(response); // if (StringUtils.isBlank(tokenJson)){
// return false; // exceptionProcess(response);
// } // return false;
// return true; // }
// } // return true;
//测试-打印请求信息 // }
// 测试-打印请求信息
return true; return true;
} }
@Override @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { public void postHandle(
} HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView)
throws Exception {}
@Override @Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { public void afterCompletion(
} HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {}
public void exceptionProcess(HttpServletResponse response) throws Exception { public void exceptionProcess(HttpServletResponse response) throws Exception {
response.setContentType("application/json;charset=utf-8"); response.setContentType("application/json;charset=utf-8");
......
package com.mmc.pms.auth.dto;
import com.mmc.pms.common.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @author: zj
* @Date: 2023/5/25 13:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BUserAccountQO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "关键字", required = false)
private String keyword;
@ApiModelProperty(value = "地区", required = false)
private String area;
@ApiModelProperty(value = "省份编码", required = false)
private Integer provinceCode;
@ApiModelProperty(value = "城市编码", required = false)
private Integer cityCode;
@ApiModelProperty(value = "县区编码", required = false)
private Integer districtCode;
@ApiModelProperty(value = "角色id", required = false)
private Integer roleId;
@ApiModelProperty(value = "账号状态:0禁用 1可用")
private Integer accountStatus;
@ApiModelProperty(value = "账号状态:0合伙人 1员工")
private Integer userType;
@ApiModelProperty(value = "用户id集合")
private List<Integer> userIds;
@ApiModelProperty(value = "推荐单位id")
private Integer rcdCompanyId;
@ApiModelProperty(value = "单位集合", hidden = true)
private List<Integer> companys;
@ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
}
...@@ -8,10 +8,10 @@ import lombok.NoArgsConstructor; ...@@ -8,10 +8,10 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
/** /**
* @author 作者 geDuo * @author 作者 geDuo
* @version 创建时间:2021年8月31日 下午8:06:14 * @version 创建时间:2021年8月31日 下午8:06:14
* @explain 类说明 * @explain 类说明
*/ */
@Builder @Builder
@Data @Data
@AllArgsConstructor @AllArgsConstructor
...@@ -26,5 +26,5 @@ public class LoginSuccessDTO implements Serializable { ...@@ -26,5 +26,5 @@ public class LoginSuccessDTO implements Serializable {
private String phoneNum; private String phoneNum;
private String userName; private String userName;
private String nickName; private String nickName;
// private RoleInfoDTO roleInfo; // private RoleInfoDTO roleInfo;
} }
package com.mmc.pms.auth.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author: zj
* @Date: 2023/5/18 17:28
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class UserAccountSimpleDTO implements Serializable {
private static final long serialVersionUID = 3451336520607073343L;
@ApiModelProperty(value = "用户id")
private Integer id;
@ApiModelProperty(value = "用户类型")
private Integer accountType;
@ApiModelProperty(value = "用户账号")
private String accountNo;
@ApiModelProperty(value = "用户uid")
private String uid;
@ApiModelProperty(value = "手机号")
private String phoneNum;
@ApiModelProperty(value = "用户名称")
private String userName;
@ApiModelProperty(value = "用户昵称")
private String nickName;
@ApiModelProperty(value = "用户头像")
private String userImg;
@ApiModelProperty(value = "用户性别:0未知、1男、2女")
private Integer userSex;
@ApiModelProperty(value = "用户邮箱")
private String email;
@ApiModelProperty(value = "用户来源,0自然流、1海报、2抖音、3公众号、4社群、5招投标、6官网")
private Integer source;
@ApiModelProperty(value = "用户可用状态:0禁用、1可用")
private Integer accountStatus;
@ApiModelProperty(value = "账号类型:0后台管理账号 ; 100云享飞-客户端;")
private Integer portType;
@ApiModelProperty(value = "企业认证状态, 0未通过,1通过")
private Integer companyAuthStatus;
@ApiModelProperty(value = "合作标签id")
private Integer cooperationTagId;
}
\ No newline at end of file
package com.mmc.pms.constant;
/**
* @author: zj
* @Date: 2023/5/31 20:07
*/
public class TokenConstant {
public static final String TOKEN = "token";
}
package com.mmc.pms.controller; package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.entity.Categories;
import com.mmc.pms.model.categories.dto.AllCategoryDTO;
import com.mmc.pms.model.categories.dto.ClassifyDetailsDTO; import com.mmc.pms.model.categories.dto.ClassifyDetailsDTO;
import com.mmc.pms.model.categories.dto.ClassifyInfoDTO; import com.mmc.pms.model.categories.dto.ClassifyInfoDTO;
import com.mmc.pms.model.categories.vo.CategoriesInfoVO;
import com.mmc.pms.model.categories.vo.ClassifyInfoVO; import com.mmc.pms.model.categories.vo.ClassifyInfoVO;
import com.mmc.pms.model.categories.vo.DirectoryInfoVO; import com.mmc.pms.model.categories.vo.DirectoryInfoVO;
import com.mmc.pms.model.categories.vo.RelevantBusinessVO; import com.mmc.pms.model.categories.vo.RelevantBusinessVO;
...@@ -14,8 +17,10 @@ import io.swagger.annotations.*; ...@@ -14,8 +17,10 @@ import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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 springfox.documentation.annotations.ApiIgnore;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import java.util.List;
/** /**
* @Author lw @Date 2023/5/15 13:24 @Version 1.0 * @Author lw @Date 2023/5/15 13:24 @Version 1.0
...@@ -109,4 +114,11 @@ public class BackstageCategoriesController { ...@@ -109,4 +114,11 @@ public class BackstageCategoriesController {
return categoriesService.getDirectoryList(type); return categoriesService.getDirectoryList(type);
} }
@ApiOperation(value = "根据类型获取各个目录及分类信息")
@GetMapping("queryCategoryInfoByType")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = AllCategoryDTO.class)})
public ResultBody queryCategoryInfoByType(@ApiParam(value = "类型:1:作业服务 2:设备 3:培训 4:产品商城", required = true) @RequestParam(value = "type") Integer type) {
return categoriesService.queryCategoryInfoByType(type);
}
} }
...@@ -12,7 +12,6 @@ import io.swagger.annotations.*; ...@@ -12,7 +12,6 @@ import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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 springfox.documentation.annotations.ApiIgnore;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -133,8 +132,7 @@ public class BackstageProductSpecController { ...@@ -133,8 +132,7 @@ public class BackstageProductSpecController {
// } // }
@ApiOperation(value = "feign根据渠道等级获取单价信息") @ApiOperation(value = "feign根据渠道等级获取单价信息")
@GetMapping("feignGetSpecLeaseUnitPrice") @PostMapping("feignGetSpecLeaseUnitPrice")
@ApiIgnore
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
public BigDecimal feignGetUnitPriceByTag(@RequestBody PriceAcquisition priceAcquisition) { public BigDecimal feignGetUnitPriceByTag(@RequestBody PriceAcquisition priceAcquisition) {
return productSkuService.feignGetUnitPriceByTag(priceAcquisition); return productSkuService.feignGetUnitPriceByTag(priceAcquisition);
......
package com.mmc.pms.controller; package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.group.Create; import com.mmc.pms.model.group.Create;
import com.mmc.pms.model.group.Update; import com.mmc.pms.model.group.Update;
import com.mmc.pms.model.qo.ServiceQO; import com.mmc.pms.model.qo.ServiceQO;
import com.mmc.pms.model.work.dto.ServiceDTO;
import com.mmc.pms.model.work.vo.ServiceVO; import com.mmc.pms.model.work.vo.ServiceVO;
import com.mmc.pms.page.PageResult;
import com.mmc.pms.service.BackstageTaskService; import com.mmc.pms.service.BackstageTaskService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -16,21 +17,22 @@ import javax.servlet.http.HttpServletRequest; ...@@ -16,21 +17,22 @@ import javax.servlet.http.HttpServletRequest;
/** /**
* @Author LW * @Author LW
* @date 2023/6/6 10:41 *
* 概要: * @date 2023/6/6 10:41 概要:
*/ */
@Api(tags = {"后台-服务管理-模块"}) @Api(tags = {"后台-服务管理-模块"})
@RestController @RestController
@RequestMapping("/backstage/work") @RequestMapping("/backstage/work")
public class BackstageTaskServiceController extends BaseController { public class BackstageTaskServiceController extends BaseController {
@Resource @Resource private BackstageTaskService backstageTaskService;
private BackstageTaskService backstageTaskService;
@ApiOperation(value = "新增作业服务") @ApiOperation(value = "新增作业服务")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("addWorkService") @PostMapping("addWorkService")
public ResultBody addWorkService(@Validated(Create.class) @RequestBody ServiceVO param, HttpServletRequest request) { public ResultBody addWorkService(
return backstageTaskService.addWorkService(param, this.getUserLoginInfoFromRedis(request).getUserAccountId()); @Validated(Create.class) @RequestBody ServiceVO param, HttpServletRequest request) {
return backstageTaskService.addWorkService(
param, this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
@ApiOperation(value = "修改作业服务") @ApiOperation(value = "修改作业服务")
...@@ -48,16 +50,18 @@ public class BackstageTaskServiceController extends BaseController { ...@@ -48,16 +50,18 @@ public class BackstageTaskServiceController extends BaseController {
} }
@ApiOperation(value = "查询作业服务") @ApiOperation(value = "查询作业服务")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ServiceDTO.class)})
@GetMapping("queryWorkService") @GetMapping("queryWorkService")
public ResultBody queryWorkService(@ApiParam("作业服务id") @RequestParam(value = "id") Integer id) { public ResultBody queryWorkService(@ApiParam("作业服务id") @RequestParam(value = "id") Integer id) {
return backstageTaskService.queryById(id); return backstageTaskService.queryById(id);
} }
@ApiOperation(value = "查询工作服务列表") @ApiOperation(value = "查询工作服务列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ServiceDTO.class)})
@PostMapping("queryWorkServiceList") @PostMapping("queryWorkServiceList")
public ResultBody queryWorkServiceList(@Validated(Create.class) @RequestBody ServiceQO param, HttpServletRequest request) { public PageResult queryWorkServiceList(
return backstageTaskService.queryWorkServiceList(param, this.getUserLoginInfoFromRedis(request).getUserAccountId()); @Validated(Create.class) @RequestBody ServiceQO param, HttpServletRequest request) {
return backstageTaskService.queryWorkServiceList(
param, this.getUserLoginInfoFromRedis(request).getUserAccountId());
} }
} }
...@@ -11,31 +11,31 @@ import org.springframework.data.redis.core.StringRedisTemplate; ...@@ -11,31 +11,31 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
/** /**
* @author: zj * @author: zj @Date: 2023/5/25 18:11
* @Date: 2023/5/25 18:11
*/ */
public abstract class BaseController { public abstract class BaseController {
@Autowired @Autowired private StringRedisTemplate stringRedisTemplate;
private StringRedisTemplate stringRedisTemplate;
/** /**
* 解析token,获取用户信息 * 解析token,获取用户信息
*
* @param request * @param request
* @return * @return
*/ */
// public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) { // public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) {
// String token = request.getHeader("token"); // String token = request.getHeader("token");
// try { // try {
// Claims claims = JwtUtil.parseJwt(token); // Claims claims = JwtUtil.parseJwt(token);
// String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString(); // String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString();
//// String roleId = claims.get("").toString(); //// String roleId = claims.get("").toString();
// String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString(); // String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString();
// return BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build(); // return
// }catch (Exception e){ // BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build();
// throw new BizException("Invalid token"); // }catch (Exception e){
// } // throw new BizException("Invalid token");
// } // }
// }
/** /**
* 使用token从redis获取用户信息 * 使用token从redis获取用户信息
......
package com.mmc.pms.controller;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.entity.Categories;
import com.mmc.pms.model.categories.dto.CategoriesDTO;
import com.mmc.pms.model.group.Create;
import com.mmc.pms.model.qo.ServiceQO;
import com.mmc.pms.model.work.dto.ServiceDTO;
import com.mmc.pms.page.PageResult;
import com.mmc.pms.service.CategoriesService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 前端控制器
* </p>
*
* @author Pika
* @since 2023-06-08
*/
@Api(tags = {"后台-目录管理-接口"})
@RestController
@RequestMapping("/directory")
public class DirectoryController {
private final String DIRECTORY_NAME_APPLICATION = "应用";
private final String DIRECTORY_NAME_INDUSTRY = "行业";
@Autowired
private CategoriesService categoriesService;
@ApiOperation(value = "获取应用类型列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CategoriesDTO.class)})
@PostMapping("getApplicationList")
public ResultBody getApplicationList() {
return categoriesService.getApplicationList(DIRECTORY_NAME_APPLICATION);
}
@ApiOperation(value = "获取对应行业列表")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CategoriesDTO.class)})
@PostMapping("getIndustryList")
public ResultBody getIndustryList() {
return categoriesService.getApplicationList(DIRECTORY_NAME_INDUSTRY);
}
}
...@@ -5,20 +5,16 @@ import com.mmc.pms.common.ResultEnum; ...@@ -5,20 +5,16 @@ import com.mmc.pms.common.ResultEnum;
import com.mmc.pms.model.lease.dto.BrandDTO; import com.mmc.pms.model.lease.dto.BrandDTO;
import com.mmc.pms.model.lease.dto.DeviceCategoryDTO; import com.mmc.pms.model.lease.dto.DeviceCategoryDTO;
import com.mmc.pms.model.lease.dto.WareInfoDTO; import com.mmc.pms.model.lease.dto.WareInfoDTO;
import com.mmc.pms.model.lease.dto.WareInfoItemDTO;
import com.mmc.pms.model.lease.vo.LeaseVo; import com.mmc.pms.model.lease.vo.LeaseVo;
import com.mmc.pms.model.other.dto.DistrictInfoDTO; import com.mmc.pms.model.other.dto.DistrictInfoDTO;
import com.mmc.pms.model.other.dto.ModelDTO; import com.mmc.pms.model.other.dto.ModelDTO;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.sale.dto.SkuInfoDTO; import com.mmc.pms.model.sale.dto.SkuInfoDTO;
import com.mmc.pms.page.Page;
import com.mmc.pms.service.WebDeviceService; import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
/** /**
...@@ -57,13 +53,13 @@ public class MiniProgramDeviceController { ...@@ -57,13 +53,13 @@ public class MiniProgramDeviceController {
return webDeviceService.model(); return webDeviceService.model();
} }
@ApiOperation(value = "设备列表筛选") // @ApiOperation(value = "设备列表筛选")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = WareInfoItemDTO.class)}) // @ApiResponses({@ApiResponse(code = 200, message = "OK", response = WareInfoItemDTO.class)})
@PostMapping("/deviceList") // @PostMapping("/deviceList")
public ResultBody<WareInfoItemDTO> listWareInfoPage( // public ResultBody<WareInfoItemDTO> listWareInfoPage(
@RequestBody @Validated(Page.class) WareInfoQO param) { // @RequestBody @Validated(Page.class) WareInfoQO param) {
return webDeviceService.listWareInfoPage(param); // return webDeviceService.listWareInfoPage(param, request);
} // }
@ApiOperation(value = "设备详情") @ApiOperation(value = "设备详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
......
...@@ -32,8 +32,7 @@ import java.util.List; ...@@ -32,8 +32,7 @@ import java.util.List;
@RequestMapping("/partupload") @RequestMapping("/partupload")
public class PartUploadController { public class PartUploadController {
@Autowired @Autowired private StringRedisTemplate stringRedisTemplate;
private StringRedisTemplate stringRedisTemplate;
@ApiOperation(value = "初始化分片上传") @ApiOperation(value = "初始化分片上传")
@GetMapping("/initPartUpload") @GetMapping("/initPartUpload")
......
package com.mmc.pms.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author LW
* @date 2023/6/7 13:33
* 概要:
*/
@Api(tags = {"分类信息"})
@RestController
@RequestMapping("/category")
public class WebAndMiniProgramCategoryController {
// @ApiOperation(value = "web-分类信息")
// @PostMapping("queryCategoryByType")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = GoodsInfoListDTO.class)})
// public ResultBody<GoodsInfoListDTO> listPageGoodsInfo(
// @ApiParam("商品查询条件QO") @RequestBody GoodsInfoQO param) {
// return ResultBody.success(webProductMallService.listPageGoodsInfo(param));
// }
}
...@@ -5,20 +5,16 @@ import com.mmc.pms.common.ResultEnum; ...@@ -5,20 +5,16 @@ import com.mmc.pms.common.ResultEnum;
import com.mmc.pms.model.lease.dto.BrandDTO; import com.mmc.pms.model.lease.dto.BrandDTO;
import com.mmc.pms.model.lease.dto.DeviceCategoryDTO; import com.mmc.pms.model.lease.dto.DeviceCategoryDTO;
import com.mmc.pms.model.lease.dto.WareInfoDTO; import com.mmc.pms.model.lease.dto.WareInfoDTO;
import com.mmc.pms.model.lease.dto.WareInfoItemDTO;
import com.mmc.pms.model.lease.vo.LeaseVo; import com.mmc.pms.model.lease.vo.LeaseVo;
import com.mmc.pms.model.other.dto.AdDTO; import com.mmc.pms.model.other.dto.AdDTO;
import com.mmc.pms.model.other.dto.DistrictInfoDTO; import com.mmc.pms.model.other.dto.DistrictInfoDTO;
import com.mmc.pms.model.other.dto.ModelDTO; import com.mmc.pms.model.other.dto.ModelDTO;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.page.Page;
import com.mmc.pms.service.WebDeviceService; import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses; import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
/** /**
...@@ -91,13 +87,13 @@ public class WebDeviceController { ...@@ -91,13 +87,13 @@ public class WebDeviceController {
public ResultBody<AdDTO> ad() { public ResultBody<AdDTO> ad() {
return webDeviceService.ad(); return webDeviceService.ad();
} }
//
@ApiOperation(value = "设备列表筛选") // @ApiOperation(value = "设备列表筛选")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = WareInfoItemDTO.class)}) // @ApiResponses({@ApiResponse(code = 200, message = "OK", response = WareInfoItemDTO.class)})
@PostMapping("/deviceList") // @PostMapping("/deviceList")
public ResultBody<WareInfoItemDTO> listWareInfoPage( // public ResultBody<WareInfoItemDTO> listWareInfoPage(
@RequestBody @Validated(Page.class) WareInfoQO param) { // @RequestBody @Validated(Page.class) WareInfoQO param) {
return webDeviceService.listWareInfoPage(param); // return webDeviceService.listWareInfoPage(param, request);
} // }
} }
package com.mmc.pms.controller.mini;
import com.mmc.pms.common.Page;
import com.mmc.pms.common.ResultBody;
import com.mmc.pms.controller.BaseController;
import com.mmc.pms.model.lease.dto.LeaseGoodsInfoDTO;
import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* @Author LW
* @date 2023/6/8 17:16
* 概要:
*/
@Api(tags = {"v1.0.1-设备租赁-相关接口"})
@RestController
@RequestMapping("/lease/goods")
public class MiniLeaseGoodsController extends BaseController {
@Autowired
private WebDeviceService webDeviceService;
@ApiOperation(value = "设备列表筛选")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = LeaseGoodsInfoDTO.class)})
@PostMapping("/deviceList")
public ResultBody listWareInfoPage(@RequestBody @Validated(Page.class) WareInfoQO param, HttpServletRequest request) {
return webDeviceService.listWareInfoPage(param, request, this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
}
package com.mmc.pms.controller.web;
import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Author LW
* @date 2023/6/8 15:19
* 概要:
*/
@RestController
@RequestMapping("/lease/goods")
@Api(tags = {"web端-设备租赁-相关接口"})
public class WebLeaseGoodsController {
@Resource
WebDeviceService webDeviceService;
}
...@@ -8,18 +8,20 @@ import java.util.List; ...@@ -8,18 +8,20 @@ import java.util.List;
/** /**
* @Author LW * @Author LW
* @date 2023/6/6 10:48 *
* 概要: * @date 2023/6/6 10:48 概要:
*/ */
@Mapper @Mapper
public interface BackstageTaskServiceDao { public interface BackstageTaskServiceDao {
int insert(ServiceDO serviceDO); Integer insert(ServiceDO serviceDO);
int update(ServiceDO serviceDO); Integer update(ServiceDO serviceDO);
int deleteById(Integer id); Integer deleteById(Integer id);
ServiceDO queryById(Integer id); ServiceDO queryById(Integer id);
List<ServiceDO> queryAllByLimit(ServiceQO param); List<ServiceDO> queryAllByLimit(ServiceQO param);
Integer count(ServiceQO param);
} }
package com.mmc.pms.dao; package com.mmc.pms.dao;
import com.mmc.pms.entity.Categories; import com.mmc.pms.entity.Categories;
import com.mmc.pms.entity.Directory; import com.mmc.pms.entity.DirectoryDO;
import com.mmc.pms.model.categories.vo.ClassifyInfoVO; import com.mmc.pms.model.categories.vo.ClassifyInfoVO;
import com.mmc.pms.model.categories.vo.DirectoryInfoVO; import com.mmc.pms.model.categories.vo.DirectoryInfoVO;
import com.mmc.pms.model.sale.vo.QueryClassifyVO; import com.mmc.pms.model.sale.vo.QueryClassifyVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* @author 23214 * @author 23214
...@@ -20,13 +22,13 @@ public interface CategoriesDao { ...@@ -20,13 +22,13 @@ public interface CategoriesDao {
int countUpdateDirectoryName(DirectoryInfoVO param); int countUpdateDirectoryName(DirectoryInfoVO param);
void insertDirectory(Directory directory); void insertDirectory(DirectoryDO directory);
void updateDirectory(Directory directory); void updateDirectory(DirectoryDO directory);
int countDirectoryList(); int countDirectoryList();
List<Directory> directoryList(int pageNo, Integer pageSize, Integer type); List<DirectoryDO> directoryList(int pageNo, Integer pageSize, Integer type);
int countDirectory(Integer id); int countDirectory(Integer id);
...@@ -52,7 +54,14 @@ public interface CategoriesDao { ...@@ -52,7 +54,14 @@ public interface CategoriesDao {
int deleteById(Integer id); int deleteById(Integer id);
List<Directory> getDirectoryList(Integer type); List<DirectoryDO> getDirectoryList(Integer type);
List<Categories> getCategoriesByDirectoryId(Integer directoryId);
List<Categories> getCategoriesListByIds(@Param("ids") Set<Integer> ids);
List<Categories> selectCategoryByDirectoryId(List<Integer> directoryIds);
} }
......
package com.mmc.pms.dao;
import com.mmc.pms.entity.DirectoryDO;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Pika
* @since 2023-06-08
*/
@Mapper
public interface DirectoryDao {
DirectoryDO getDirectoryByName(String directoryName);
}
...@@ -90,6 +90,10 @@ public interface GoodsInfoDao { ...@@ -90,6 +90,10 @@ public interface GoodsInfoDao {
List<MallGoodsProductDO> listIndustryProductList(List<Integer> industrySpecIds); List<MallGoodsProductDO> listIndustryProductList(List<Integer> industrySpecIds);
List<GoodsInfo> ListGoodsInfoByCategoryId(Integer id); List<GoodsInfo> ListGoodsInfoByCategoryId(Integer id);
List<MallProdSkuInfoSpecDO> getMallProSkuInfoSpec(Integer goodsInfoId);
List<MallProdSkuInfoSpecDO> listMallprodSpecById(List<Integer> goodsIds);
} }
......
...@@ -112,6 +112,7 @@ public interface ProductDao { ...@@ -112,6 +112,7 @@ public interface ProductDao {
List<OrderGoodsProdDTO> listProdGoodsSkuInfo(MallOrderGoodsInfoQO mallOrderGoodsInfoQO); List<OrderGoodsProdDTO> listProdGoodsSkuInfo(MallOrderGoodsInfoQO mallOrderGoodsInfoQO);
List<MallProdSkuInfoSpecDO> listMallProductSpec(Integer id); List<MallProdSkuInfoSpecDO> listMallProductSpec(Integer id);
} }
......
...@@ -2,8 +2,8 @@ package com.mmc.pms.dao; ...@@ -2,8 +2,8 @@ package com.mmc.pms.dao;
import com.mmc.pms.entity.*; import com.mmc.pms.entity.*;
import com.mmc.pms.model.lease.vo.LeaseVo; import com.mmc.pms.model.lease.vo.LeaseVo;
import com.mmc.pms.model.qo.WareInfoQO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -33,9 +33,10 @@ public interface WebDeviceDao { ...@@ -33,9 +33,10 @@ public interface WebDeviceDao {
List<WareInfoDO> detail(Integer id); List<WareInfoDO> detail(Integer id);
int countListWareInfoPage(WareInfoQO param); int countListWareInfoPage(@Param("categoryIds") List<Integer> categoryIds, @Param("userIds") List<Integer> userIds);
List<WareInfoDO> listWareInfoPage(WareInfoQO param); List<GoodsInfo> listWareInfoPage(@Param("categoryIds") List<Integer> categoryIds, @Param("userIds") List<Integer> userId,
@Param("pageNo") Integer pageNo, @Param("pageSize") Integer pageSize);
WareInfoDO getWareInfoById(Integer id); WareInfoDO getWareInfoById(Integer id);
......
package com.mmc.pms.entity; package com.mmc.pms.entity;
import com.mmc.pms.model.categories.dto.CategoriesInfoListDTO;
import com.mmc.pms.model.categories.dto.ClassifyDetailsDTO; import com.mmc.pms.model.categories.dto.ClassifyDetailsDTO;
import com.mmc.pms.model.categories.dto.ClassifyInfoDTO; import com.mmc.pms.model.categories.dto.ClassifyInfoDTO;
import com.mmc.pms.model.categories.vo.ClassifyInfoVO; import com.mmc.pms.model.categories.vo.ClassifyInfoVO;
...@@ -65,4 +66,8 @@ public class Categories implements Serializable { ...@@ -65,4 +66,8 @@ public class Categories implements Serializable {
.icon(icon).classifyName(name) .icon(icon).classifyName(name)
.remark(remark).build(); .remark(remark).build();
} }
public CategoriesInfoListDTO buildCategoriesInfoListDTO() {
return CategoriesInfoListDTO.builder().id(id).icon(icon).directoryId(directoryId).name(name).build();
}
} }
\ No newline at end of file
package com.mmc.pms.entity; package com.mmc.pms.entity;
import com.mmc.pms.model.categories.dto.AllCategoryDTO;
import com.mmc.pms.model.categories.vo.DirectoryInfoVO; import com.mmc.pms.model.categories.vo.DirectoryInfoVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -17,7 +18,7 @@ import java.util.Date; ...@@ -17,7 +18,7 @@ import java.util.Date;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class Directory implements Serializable { public class DirectoryDO implements Serializable {
private static final long serialVersionUID = 713939370607409336L; private static final long serialVersionUID = 713939370607409336L;
/** /**
* 主键id * 主键id
...@@ -50,7 +51,7 @@ public class Directory implements Serializable { ...@@ -50,7 +51,7 @@ public class Directory implements Serializable {
private String relevanceName; private String relevanceName;
public Directory(DirectoryInfoVO param) { public DirectoryDO(DirectoryInfoVO param) {
this.id = param.getId(); this.id = param.getId();
this.directoryName = param.getDirectoryName(); this.directoryName = param.getDirectoryName();
this.pid = param.getPid(); this.pid = param.getPid();
...@@ -60,5 +61,10 @@ public class Directory implements Serializable { ...@@ -60,5 +61,10 @@ public class Directory implements Serializable {
public DirectoryInfoVO buildDirectoryInfoVO() { public DirectoryInfoVO buildDirectoryInfoVO() {
return DirectoryInfoVO.builder().id(id).directoryName(directoryName).pid(pid).relevanceName(relevanceName).type(type).build(); return DirectoryInfoVO.builder().id(id).directoryName(directoryName).pid(pid).relevanceName(relevanceName).type(type).build();
} }
public AllCategoryDTO buildAllCategoryDTO() {
return AllCategoryDTO.builder().directoryId(id).name(directoryName).build();
}
} }
package com.mmc.pms.entity; package com.mmc.pms.entity;
import com.mmc.pms.model.categories.vo.RelevanceGoodsInfoVO; import com.mmc.pms.model.categories.vo.RelevanceGoodsInfoVO;
import com.mmc.pms.model.lease.dto.LeaseGoodsInfoDTO;
import com.mmc.pms.model.sale.vo.GoodsAddVO; import com.mmc.pms.model.sale.vo.GoodsAddVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -75,4 +76,8 @@ public class GoodsInfo implements Serializable { ...@@ -75,4 +76,8 @@ public class GoodsInfo implements Serializable {
public RelevanceGoodsInfoVO buildRelevanceGoodsInfoVO() { public RelevanceGoodsInfoVO buildRelevanceGoodsInfoVO() {
return RelevanceGoodsInfoVO.builder().id(id).goodsName(goodsName).shelf(shelfStatus).mainImage(mainImg).build(); return RelevanceGoodsInfoVO.builder().id(id).goodsName(goodsName).shelf(shelfStatus).mainImage(mainImg).build();
} }
public LeaseGoodsInfoDTO buildLeaseGoodsInfoDTO() {
return LeaseGoodsInfoDTO.builder().id(id).goodsName(goodsName).images(mainImg).build();
}
} }
\ No newline at end of file
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -26,6 +27,7 @@ public class MallProdSkuInfoSpecDO implements Serializable { ...@@ -26,6 +27,7 @@ public class MallProdSkuInfoSpecDO implements Serializable {
private Date updateTime; private Date updateTime;
private String goodsName; private String goodsName;
private BigDecimal price;
private ProductSpecDO productSpecDO; private ProductSpecDO productSpecDO;
} }
...@@ -12,8 +12,8 @@ import java.util.Date; ...@@ -12,8 +12,8 @@ import java.util.Date;
/** /**
* @Author LW * @Author LW
* @date 2023/6/8 10:33 *
* 概要: * @date 2023/6/8 10:33 概要:
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
...@@ -62,15 +62,7 @@ public class ServiceDO implements Serializable { ...@@ -62,15 +62,7 @@ public class ServiceDO implements Serializable {
private Integer isDeleted; private Integer isDeleted;
public ServiceDO(ServiceVO param, Integer accountId) { public ServiceDO(ServiceVO param, Integer accountId) {
this.id = param.getId(); this(param);
this.serviceName = param.getServiceName();
this.applicationId = param.getApplicationId();
this.industryId = param.getIndustryId();
this.displayState = param.getDisplayState();
this.coverPlan = param.getCoverPlan();
this.shareCard = param.getShareCard();
this.video = param.getVideo();
this.serviceIntroduction = param.getServiceIntroduction();
this.accountId = accountId; this.accountId = accountId;
} }
......
package com.mmc.pms.feign;
import com.mmc.pms.auth.dto.BUserAccountQO;
import com.mmc.pms.auth.dto.UserAccountSimpleDTO;
import com.mmc.pms.feign.hystrix.UserAppApiHystrix;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author: zj
* @Date: 2023/5/18 17:06
*/
//@FeignClient(name = "cms-svc", fallback = UserAppApiHystrix.class)
@FeignClient(url = "${iuav.userapp.url}", name = "cms-svc", fallback = UserAppApiHystrix.class)
public interface UserAppApi {
/**
* 根据用户id获取基本信息
*
* @param userAccountId
* @return
*/
@RequestMapping(value = "/userapp/user-account/feignGetUserSimpleInfo", method = RequestMethod.GET)
public UserAccountSimpleDTO feignGetUserSimpleInfo(@RequestParam Integer userAccountId, @RequestHeader("token") String token);
/**
* 根据地区信息查询用户id
*
* @param provinceCode
* @param cityCode
* @param districtCode
* @return
*/
@GetMapping("/userapp/user-account/feignListUserAccountIds")
List<Integer> feignListUserAccountIds(@RequestParam Integer provinceCode, @RequestParam(required = false) Integer cityCode,
@RequestParam(required = false) Integer districtCode, @RequestHeader(value = "token", required = false) String token);
/**
* 获取用户集合列表页面
*
* @param bUserAccountQO 问:b用户帐户
* @return {@link List}<{@link UserAccountSimpleDTO}>
*/
@PostMapping("/userapp/back-user/feignListBAccountPage")
List<UserAccountSimpleDTO> feignListBAccountPage(@ApiParam(value = "账号查询QO", required = true) @RequestBody BUserAccountQO bUserAccountQO, @RequestHeader("token") String token);
}
package com.mmc.pms.feign.config;
import com.mmc.pms.feign.hystrix.UserAppApiHystrix;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* @author: zj
* @Date: 2023/5/18 18:21
*/
@ComponentScan(basePackages = "com.mmc.pms.feign")
@Configuration
public class FeignConfiguration {
@Bean(name = "userAppApiHystrix")
public UserAppApiHystrix userAppApi() {
return new UserAppApiHystrix();
}
}
package com.mmc.pms.feign.hystrix;
import com.mmc.pms.auth.dto.BUserAccountQO;
import com.mmc.pms.auth.dto.UserAccountSimpleDTO;
import com.mmc.pms.feign.UserAppApi;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* @author: zj
* @Date: 2023/5/18 17:08
*/
@Slf4j
public class UserAppApiHystrix implements UserAppApi {
@Override
public UserAccountSimpleDTO feignGetUserSimpleInfo(Integer userAccountId, String token) {
log.error("熔断:feignGetUserSimpleInfo:{}", userAccountId);
return null;
}
@Override
public List<Integer> feignListUserAccountIds(Integer provinceCode, Integer cityCode, Integer districtCode, String token) {
log.error("熔断:feignListUserAccountIds:{}, {}, {}", provinceCode, cityCode, districtCode);
return null;
}
@Override
public List<UserAccountSimpleDTO> feignListBAccountPage(BUserAccountQO bUserAccountQO, String token) {
log.error("熔断:feignListBAccountPage:{}", bUserAccountQO);
return null;
}
}
/**
* Copyright 2023 bejson.com
*/
package com.mmc.pms.model.categories.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* Auto-generated: 2023-06-08 16:2:43
*
* @author 23214
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AllCategoryDTO {
private Integer directoryId;
private String name;
private List<CategoriesInfoListDTO> categoriesInfoListDTO;
}
\ No newline at end of file
package com.mmc.pms.model.categories.dto;
import com.mmc.pms.entity.Categories;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author lw
* @TableName categories
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CategoriesDTO implements Serializable {
private Integer id;
@ApiModelProperty(value = "分类名称")
private String name;
@ApiModelProperty(value = "分类类型")
private Integer type;
public CategoriesDTO(Categories categories) {
this.id = categories.getId();
this.name = categories.getName();
this.type = categories.getType();
}
}
\ No newline at end of file
/**
* Copyright 2023 bejson.com
*/
package com.mmc.pms.model.categories.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Auto-generated: 2023-06-08 16:2:43
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CategoriesInfoListDTO {
private Integer id;
private Integer directoryId;
private String name;
private String icon;
}
\ No newline at end of file
package com.mmc.pms.model.lease.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author small @Date 2023/5/16 9:53 @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LeaseGoodsInfoDTO implements Serializable {
private static final long serialVersionUID = -4354269497656808831L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "商品名称")
private String goodsName;
@ApiModelProperty(value = "商品图片")
private String images;
@ApiModelProperty(value = "价格")
private BigDecimal price;
}
package com.mmc.pms.model.qo; package com.mmc.pms.model.qo;
import com.mmc.pms.common.Page;
import com.mmc.pms.model.group.Freeze; import com.mmc.pms.model.group.Freeze;
import com.mmc.pms.page.Page;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
......
package com.mmc.pms.model.qo; package com.mmc.pms.model.qo;
import com.mmc.pms.common.Page;
import com.mmc.pms.model.group.Freeze; import com.mmc.pms.model.group.Freeze;
import com.mmc.pms.page.Page;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
......
package com.mmc.pms.model.qo; package com.mmc.pms.model.qo;
import com.mmc.pms.common.Page;
import com.mmc.pms.model.group.Freeze; import com.mmc.pms.model.group.Freeze;
import com.mmc.pms.page.Page;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
......
package com.mmc.pms.model.qo; package com.mmc.pms.model.qo;
import com.mmc.pms.common.Page; import com.mmc.pms.common.Page;
import com.mmc.pms.model.group.Freeze; import com.mmc.pms.model.group.Freeze;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -16,8 +15,8 @@ import java.io.Serializable; ...@@ -16,8 +15,8 @@ import java.io.Serializable;
/** /**
* @Author LW * @Author LW
* @date 2023/6/8 10:33 *
* 概要: * @date 2023/6/8 10:33 概要:
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
...@@ -39,14 +38,24 @@ public class ServiceQO implements Serializable { ...@@ -39,14 +38,24 @@ public class ServiceQO implements Serializable {
@ApiModelProperty(value = "行业", example = "2") @ApiModelProperty(value = "行业", example = "2")
private Integer industryId; private Integer industryId;
@ApiModelProperty(value = "账号id")
private Integer accountId;
@ApiModelProperty(value = "页码", required = true) @ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = {Page.class, Freeze.class}) @NotNull(
message = "页码不能为空",
groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class) @Min(value = 1, groups = Page.class)
private Integer pageNo; private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true) @ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = {Page.class, Freeze.class}) @NotNull(
message = "每页显示数不能为空",
groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class) @Min(value = 1, groups = Page.class)
private Integer pageSize; private Integer pageSize;
public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize;
}
} }
package com.mmc.pms.model.qo; package com.mmc.pms.model.qo;
import com.mmc.pms.page.Page; import com.mmc.pms.common.Page;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -9,6 +9,7 @@ import lombok.NoArgsConstructor; ...@@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @Author small @Date 2023/5/16 9:55 @Version 1.0 * @Author small @Date 2023/5/16 9:55 @Version 1.0
...@@ -20,31 +21,11 @@ import java.io.Serializable; ...@@ -20,31 +21,11 @@ import java.io.Serializable;
public class WareInfoQO implements Serializable { public class WareInfoQO implements Serializable {
private static final long serialVersionUID = -2953141525621912414L; private static final long serialVersionUID = -2953141525621912414L;
@ApiModelProperty(name = "id", value = "设备id", example = "1", required = false)
private Integer id;
@ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false) @ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false)
private Integer districtId; private Integer provinceId;
@ApiModelProperty(name = "categoryId", value = "类目id", example = "类目id")
private Integer categoryId;
@ApiModelProperty(name = "brandIdl", value = "品牌id", example = "品牌id")
private Integer brandId;
@ApiModelProperty(name = "modelId", value = "型号id", example = "型号id")
private Integer modelId;
/*@ApiModelProperty(value = "关键字")
private String keyword;
@ApiModelProperty(value = "商品状态,出租中或仓库中")
private Integer wareStatus;
@ApiModelProperty(value = "商品类型")
private Integer wareTypeId;
@ApiModelProperty(value = "活动属性") @ApiModelProperty(name = "categoryId", value = "分类id")
private Integer propInfoId;*/ private List<Integer> categoryId;
@ApiModelProperty(value = "页码", required = true) @ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = Page.class) @NotNull(message = "页码不能为空", groups = Page.class)
......
package com.mmc.pms.model.sale.vo; package com.mmc.pms.model.sale.vo;
import com.mmc.pms.common.Page;
import com.mmc.pms.model.group.Create; import com.mmc.pms.model.group.Create;
import com.mmc.pms.model.group.Freeze; import com.mmc.pms.model.group.Freeze;
import com.mmc.pms.model.group.Update; import com.mmc.pms.model.group.Update;
import com.mmc.pms.page.Page;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
......
package com.mmc.pms.model.work.dto;
import com.mmc.pms.entity.ServiceDO;
import com.mmc.pms.model.work.vo.ServiceVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author LW
* @date 2023/6/8 10:33
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ServiceDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
@ApiModelProperty(value = "服务名称")
private String serviceName;
@ApiModelProperty(value = "应用")
private Integer applicationId;
@ApiModelProperty(value = "应用名称")
private String applicationName;
@ApiModelProperty(value = "行业")
private Integer industryId;
@ApiModelProperty(value = "行业名称")
private String industryName;
@ApiModelProperty(value = "展示状态")
private Integer displayState;
@ApiModelProperty(value = "封面图")
private String coverPlan;
@ApiModelProperty(value = "分享卡片")
private String shareCard;
@ApiModelProperty(value = "视频")
private String video;
@ApiModelProperty(value = "服务介绍")
private String serviceIntroduction;
@ApiModelProperty(value = "账号id")
private Integer accountId;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "修改时间")
private Date updateTime;
public ServiceDTO(ServiceVO param, Integer accountId) {
this.id = param.getId();
this.serviceName = param.getServiceName();
this.applicationId = param.getApplicationId();
this.industryId = param.getIndustryId();
this.displayState = param.getDisplayState();
this.coverPlan = param.getCoverPlan();
this.shareCard = param.getShareCard();
this.video = param.getVideo();
this.serviceIntroduction = param.getServiceIntroduction();
this.accountId = accountId;
}
public ServiceDTO(ServiceVO param) {
this.id = param.getId();
this.serviceName = param.getServiceName();
this.applicationId = param.getApplicationId();
this.industryId = param.getIndustryId();
this.displayState = param.getDisplayState();
this.coverPlan = param.getCoverPlan();
this.shareCard = param.getShareCard();
this.video = param.getVideo();
this.serviceIntroduction = param.getServiceIntroduction();
}
public ServiceDTO(Integer id, Integer accountId) {
this.id = id;
this.accountId = accountId;
}
public ServiceDTO(ServiceDO serviceDO) {
this.id = serviceDO.getId();
this.serviceName = serviceDO.getServiceName();
this.applicationId = serviceDO.getApplicationId();
this.industryId = serviceDO.getIndustryId();
this.displayState = serviceDO.getDisplayState();
this.coverPlan = serviceDO.getCoverPlan();
this.shareCard = serviceDO.getShareCard();
this.video = serviceDO.getVideo();
this.serviceIntroduction = serviceDO.getServiceIntroduction();
this.accountId = serviceDO.getAccountId();
this.createTime = serviceDO.getCreateTime();
this.updateTime = serviceDO.getUpdateTime();
}
}
...@@ -15,8 +15,8 @@ import java.io.Serializable; ...@@ -15,8 +15,8 @@ import java.io.Serializable;
/** /**
* @Author LW * @Author LW
* @date 2023/6/8 10:33 *
* 概要: * @date 2023/6/8 10:33 概要:
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor
...@@ -26,11 +26,15 @@ public class ServiceVO implements Serializable { ...@@ -26,11 +26,15 @@ public class ServiceVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@NotNull(message = "修改服务id不能为空", groups = {Update.class}) @NotNull(
message = "修改服务id不能为空",
groups = {Update.class})
private Integer id; private Integer id;
@ApiModelProperty(value = "服务名称", example = "服务名称") @ApiModelProperty(value = "服务名称", example = "服务名称")
@NotBlank(message = "服务名称不能为空", groups = {Create.class, Update.class}) @NotBlank(
message = "服务名称不能为空",
groups = {Create.class, Update.class})
@Length(message = "最大不超过30字", max = 30) @Length(message = "最大不超过30字", max = 30)
private String serviceName; private String serviceName;
...@@ -38,15 +42,21 @@ public class ServiceVO implements Serializable { ...@@ -38,15 +42,21 @@ public class ServiceVO implements Serializable {
private Integer applicationId; private Integer applicationId;
@ApiModelProperty(value = "行业", example = "2") @ApiModelProperty(value = "行业", example = "2")
@NotNull(message = "行业id不能为空", groups = {Create.class, Update.class}) @NotNull(
message = "行业id不能为空",
groups = {Create.class, Update.class})
private Integer industryId; private Integer industryId;
@ApiModelProperty(value = "展示状态,0为上架,1下架", example = "0") @ApiModelProperty(value = "展示状态,0为上架,1下架", example = "0")
@NotNull(message = "展示状态不能为空", groups = {Create.class, Update.class}) @NotNull(
message = "展示状态不能为空",
groups = {Create.class, Update.class})
private Integer displayState; private Integer displayState;
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
@NotBlank(message = "封面图不能为空", groups = {Create.class, Update.class}) @NotBlank(
message = "封面图不能为空",
groups = {Create.class, Update.class})
private String coverPlan; private String coverPlan;
@ApiModelProperty(value = "分享卡片") @ApiModelProperty(value = "分享卡片")
......
package com.mmc.pms.page;
/**
* @Author small @Date 2023/5/16 10:09 @Version 1.0
*/
public interface Page {}
package com.mmc.pms.service; package com.mmc.pms.service;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.qo.ServiceQO; import com.mmc.pms.model.qo.ServiceQO;
import com.mmc.pms.model.work.vo.ServiceVO; import com.mmc.pms.model.work.vo.ServiceVO;
import com.mmc.pms.page.PageResult;
/** /**
* @Author LW * @Author LW
* @date 2023/6/6 10:46 *
* 概要: * @date 2023/6/6 10:46 概要:
*/ */
public interface BackstageTaskService { public interface BackstageTaskService {
ResultBody addWorkService(ServiceVO param, Integer userAccountId); ResultBody addWorkService(ServiceVO param, Integer userAccountId);
...@@ -19,5 +19,5 @@ public interface BackstageTaskService { ...@@ -19,5 +19,5 @@ public interface BackstageTaskService {
ResultBody queryById(Integer id); ResultBody queryById(Integer id);
ResultBody queryWorkServiceList(ServiceQO param, Integer userAccountId); PageResult queryWorkServiceList(ServiceQO param, Integer userAccountId);
} }
package com.mmc.pms.service; package com.mmc.pms.service;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.entity.Categories;
import com.mmc.pms.entity.DirectoryDO;
import com.mmc.pms.entity.DistrictDO;
import com.mmc.pms.model.categories.vo.CategoriesInfoVO;
import com.mmc.pms.model.categories.vo.ClassifyInfoVO; import com.mmc.pms.model.categories.vo.ClassifyInfoVO;
import com.mmc.pms.model.categories.vo.DirectoryInfoVO; import com.mmc.pms.model.categories.vo.DirectoryInfoVO;
import com.mmc.pms.model.sale.vo.QueryClassifyVO; import com.mmc.pms.model.sale.vo.QueryClassifyVO;
import com.mmc.pms.page.PageResult; import com.mmc.pms.page.PageResult;
import java.util.List;
import java.util.Set;
/** /**
* @author 23214 * @author 23214
* @description 针对表【categories(通用分类表)】的数据库操作Service * @description 针对表【categories(通用分类表)】的数据库操作Service
...@@ -34,4 +41,13 @@ public interface CategoriesService { ...@@ -34,4 +41,13 @@ public interface CategoriesService {
ResultBody deleteRelevantBusiness(Integer id); ResultBody deleteRelevantBusiness(Integer id);
ResultBody getDirectoryList(Integer type); ResultBody getDirectoryList(Integer type);
ResultBody queryCategoryInfoByType(Integer type);
List<Categories> getCategoriesListByDirectoryName(String directoryName);
ResultBody getApplicationList(String directoryName);
List<Categories> getCategoriesListByIds(Set<Integer> ids);
} }
...@@ -2,25 +2,32 @@ package com.mmc.pms.service.Impl; ...@@ -2,25 +2,32 @@ package com.mmc.pms.service.Impl;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.dao.BackstageTaskServiceDao; import com.mmc.pms.dao.BackstageTaskServiceDao;
import com.mmc.pms.dao.CategoriesDao;
import com.mmc.pms.entity.Categories;
import com.mmc.pms.entity.ServiceDO; import com.mmc.pms.entity.ServiceDO;
import com.mmc.pms.model.qo.ServiceQO; import com.mmc.pms.model.qo.ServiceQO;
import com.mmc.pms.model.work.dto.ServiceDTO;
import com.mmc.pms.model.work.vo.ServiceVO; import com.mmc.pms.model.work.vo.ServiceVO;
import com.mmc.pms.page.PageResult;
import com.mmc.pms.service.BackstageTaskService; import com.mmc.pms.service.BackstageTaskService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Author LW * @Author LW
* @date 2023/6/8 9:59 *
* 概要: * @date 2023/6/8 9:59 概要:
*/ */
@Service @Service
public class BackstageTaskServiceImpl implements BackstageTaskService { public class BackstageTaskServiceImpl implements BackstageTaskService {
@Autowired @Autowired private BackstageTaskServiceDao backstageTaskServiceDao;
private BackstageTaskServiceDao backstageTaskServiceDao;
@Autowired private CategoriesDao categoriesDao;
@Override @Override
public ResultBody addWorkService(ServiceVO param, Integer userAccountId) { public ResultBody addWorkService(ServiceVO param, Integer userAccountId) {
...@@ -45,12 +52,58 @@ public class BackstageTaskServiceImpl implements BackstageTaskService { ...@@ -45,12 +52,58 @@ public class BackstageTaskServiceImpl implements BackstageTaskService {
@Override @Override
public ResultBody queryById(Integer id) { public ResultBody queryById(Integer id) {
ServiceDO serviceDO = backstageTaskServiceDao.queryById(id); ServiceDO serviceDO = backstageTaskServiceDao.queryById(id);
return ResultBody.success(serviceDO); ServiceDTO serviceDTO = new ServiceDTO(serviceDO);
Map<Integer, String> categoriesNameMap =
getCategoriesNameByIds(
Arrays.asList(serviceDTO.getApplicationId(), serviceDTO.getIndustryId()));
if (!CollectionUtils.isEmpty(categoriesNameMap)) {
serviceDTO.setApplicationName(categoriesNameMap.get(serviceDTO.getApplicationId()));
serviceDTO.setIndustryName(categoriesNameMap.get(serviceDTO.getIndustryId()));
}
return ResultBody.success(serviceDTO);
}
private Map<Integer, String> getCategoriesNameByIds(List<Integer> ids) {
if (CollectionUtils.isEmpty(ids)) {
return new HashMap<>();
}
Set<Integer> idSet = new HashSet<>();
for (Integer id : ids) {
idSet.add(id);
}
List<Categories> categories = categoriesDao.getCategoriesListByIds(idSet);
if (CollectionUtils.isEmpty(categories)) {
return new HashMap<>();
}
return categories.stream()
.collect(Collectors.toMap(Categories::getId, d -> d.getName(), (k1, k2) -> k1));
} }
@Override @Override
public ResultBody queryWorkServiceList(ServiceQO param, Integer userAccountId) { public PageResult queryWorkServiceList(ServiceQO param, Integer userAccountId) {
int count = backstageTaskServiceDao.count(param);
if (count == 0) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count);
}
Integer pageNo = param.getPageNo();
param.buildCurrentPage();
List<ServiceDO> services = backstageTaskServiceDao.queryAllByLimit(param); List<ServiceDO> services = backstageTaskServiceDao.queryAllByLimit(param);
return null; List<Integer> list = new ArrayList<>();
for (ServiceDO service : services) {
list.add(service.getApplicationId());
list.add(service.getIndustryId());
}
Map<Integer, String> categoriesNameMap = getCategoriesNameByIds(list);
List<ServiceDTO> pageList =
services.stream()
.map(
d -> {
ServiceDTO serviceDTO = new ServiceDTO(d);
serviceDTO.setApplicationName(categoriesNameMap.get(d.getApplicationId()));
serviceDTO.setIndustryName(categoriesNameMap.get(d.getIndustryId()));
return serviceDTO;
})
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, param.getPageSize(), count, pageList);
} }
} }
...@@ -3,10 +3,14 @@ package com.mmc.pms.service.Impl; ...@@ -3,10 +3,14 @@ package com.mmc.pms.service.Impl;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.common.ResultEnum; import com.mmc.pms.common.ResultEnum;
import com.mmc.pms.dao.CategoriesDao; import com.mmc.pms.dao.CategoriesDao;
import com.mmc.pms.dao.DirectoryDao;
import com.mmc.pms.dao.GoodsInfoDao; import com.mmc.pms.dao.GoodsInfoDao;
import com.mmc.pms.entity.Categories; import com.mmc.pms.entity.Categories;
import com.mmc.pms.entity.Directory; import com.mmc.pms.entity.DirectoryDO;
import com.mmc.pms.entity.GoodsInfo; import com.mmc.pms.entity.GoodsInfo;
import com.mmc.pms.model.categories.dto.AllCategoryDTO;
import com.mmc.pms.model.categories.dto.CategoriesDTO;
import com.mmc.pms.model.categories.dto.CategoriesInfoListDTO;
import com.mmc.pms.model.categories.dto.ClassifyInfoDTO; import com.mmc.pms.model.categories.dto.ClassifyInfoDTO;
import com.mmc.pms.model.categories.vo.ClassifyInfoVO; import com.mmc.pms.model.categories.vo.ClassifyInfoVO;
import com.mmc.pms.model.categories.vo.DirectoryInfoVO; import com.mmc.pms.model.categories.vo.DirectoryInfoVO;
...@@ -21,10 +25,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -21,10 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -38,6 +39,8 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -38,6 +39,8 @@ public class CategoriesServiceImpl implements CategoriesService {
private CategoriesDao categoriesDao; private CategoriesDao categoriesDao;
@Resource @Resource
private GoodsInfoDao goodsInfoDao; private GoodsInfoDao goodsInfoDao;
@Autowired
private DirectoryDao directoryDao;
@Override @Override
public ResultBody addOrEditDirectory(DirectoryInfoVO param) { public ResultBody addOrEditDirectory(DirectoryInfoVO param) {
...@@ -45,7 +48,7 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -45,7 +48,7 @@ public class CategoriesServiceImpl implements CategoriesService {
if (type > 0) { if (type > 0) {
return ResultBody.error(ResultEnum.DIRECTORY_NAME_HAS_BEEN_EXIST); return ResultBody.error(ResultEnum.DIRECTORY_NAME_HAS_BEEN_EXIST);
} }
Directory directory = new Directory(param); DirectoryDO directory = new DirectoryDO(param);
if (param.getId() == null) { if (param.getId() == null) {
categoriesDao.insertDirectory(directory); categoriesDao.insertDirectory(directory);
} else { } else {
...@@ -64,8 +67,8 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -64,8 +67,8 @@ public class CategoriesServiceImpl implements CategoriesService {
if (count == 0) { if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, count); return PageResult.buildPage(pageNo, pageSize, count);
} }
List<Directory> directoryList = categoriesDao.directoryList((pageNo - 1) * pageSize, pageSize, type); List<DirectoryDO> directoryList = categoriesDao.directoryList((pageNo - 1) * pageSize, pageSize, type);
List<DirectoryInfoVO> list = directoryList.stream().map(Directory::buildDirectoryInfoVO).collect(Collectors.toList()); List<DirectoryInfoVO> list = directoryList.stream().map(DirectoryDO::buildDirectoryInfoVO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, list); return PageResult.buildPage(pageNo, pageSize, count, list);
} }
...@@ -193,11 +196,36 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -193,11 +196,36 @@ public class CategoriesServiceImpl implements CategoriesService {
@Override @Override
public ResultBody getDirectoryList(Integer type) { public ResultBody getDirectoryList(Integer type) {
List<Directory> directoryList = categoriesDao.getDirectoryList(type); List<DirectoryDO> directoryList = categoriesDao.getDirectoryList(type);
List<DirectoryInfoVO> list = directoryList.stream().map(Directory::buildDirectoryInfoVO).collect(Collectors.toList()); List<DirectoryInfoVO> list = directoryList.stream().map(DirectoryDO::buildDirectoryInfoVO).collect(Collectors.toList());
return ResultBody.success(list); return ResultBody.success(list);
} }
@Override
public List<Categories> getCategoriesListByDirectoryName(String directoryName) {
DirectoryDO directoryDO = directoryDao.getDirectoryByName(directoryName);
List<Categories> categories = categoriesDao.getCategoriesByDirectoryId(directoryDO.getId());
return categories;
}
@Override
public ResultBody getApplicationList(String directoryName) {
List<Categories> categories = getCategoriesListByDirectoryName(directoryName);
if (org.springframework.util.CollectionUtils.isEmpty(categories)) {
return ResultBody.success();
}
List<CategoriesDTO> collect = categories.stream().map(CategoriesDTO::new).collect(Collectors.toList());
return ResultBody.success(collect);
}
@Override
public List<Categories> getCategoriesListByIds(Set<Integer> ids) {
if (CollectionUtils.isEmpty(ids)) {
return null;
}
return categoriesDao.getCategoriesListByIds(ids);
}
@Override @Override
public ResultBody deleteRelevantBusiness(Integer id) { public ResultBody deleteRelevantBusiness(Integer id) {
...@@ -205,7 +233,41 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -205,7 +233,41 @@ public class CategoriesServiceImpl implements CategoriesService {
return ResultBody.success(); return ResultBody.success();
} }
@Override
public ResultBody queryCategoryInfoByType(Integer type) {
List<DirectoryDO> categoryDirectoryList = getCategoryDirectoryList(type);
if (CollectionUtils.isNotEmpty(categoryDirectoryList)) {
List<AllCategoryDTO> allCategoryDTOList = categoryDirectoryList.stream()
.map(DirectoryDO::buildAllCategoryDTO)
.collect(Collectors.toList());
Map<Integer, List<CategoriesInfoListDTO>> categoryMap = getCategoryMap(allCategoryDTOList);
addSubCategories(allCategoryDTOList, categoryMap);
return ResultBody.success(allCategoryDTOList);
}
return ResultBody.success();
}
private List<DirectoryDO> getCategoryDirectoryList(Integer type) {
return categoriesDao.getDirectoryList(type);
}
private Map<Integer, List<CategoriesInfoListDTO>> getCategoryMap(List<AllCategoryDTO> allCategoryDTOList) {
List<Integer> directoryIdIds = allCategoryDTOList.stream()
.map(AllCategoryDTO::getDirectoryId)
.collect(Collectors.toList());
List<Categories> categoriesList = categoriesDao.selectCategoryByDirectoryId(directoryIdIds);
return categoriesList.stream()
.map(Categories::buildCategoriesInfoListDTO)
.collect(Collectors.groupingBy(CategoriesInfoListDTO::getDirectoryId));
}
private void addSubCategories(List<AllCategoryDTO> allCategoryDTOList,
Map<Integer, List<CategoriesInfoListDTO>> categoryMap) {
for (AllCategoryDTO allCategoryDTO : allCategoryDTOList) {
Optional.ofNullable(categoryMap.get(allCategoryDTO.getDirectoryId()))
.ifPresent(allCategoryDTO::setCategoriesInfoListDTO);
}
}
} }
......
...@@ -551,22 +551,41 @@ public class GoodsInfoServiceImpl implements GoodsInfoService { ...@@ -551,22 +551,41 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
private List<GoodsSpecDTO> getProductSpecInfo(Integer goodsInfoId) { private List<GoodsSpecDTO> getProductSpecInfo(Integer goodsInfoId) {
// 获取商品对应绑定sku的信息 // 获取商品对应绑定sku的信息
List<MallProdInfoDO> mallProSkuInfo = goodsInfoDao.getMallProSkuInfo(goodsInfoId); List<MallProdInfoDO> mallProdSkuInfoList = goodsInfoDao.getMallProSkuInfo(goodsInfoId);
// 获取该产品下的规格id List<GoodsSpecDTO> list = mallProdSkuInfoList.stream().map(MallProdInfoDO::buildGoodsSpecDTO).collect(Collectors.toList());
Map<Integer, String> specIdsMap = mallProSkuInfo.stream().collect(Collectors.toMap(MallProdInfoDO::getId, MallProdInfoDO::getProductSpecIdList)); // 获取规格来源详细信息
List<GoodsSpecDTO> list = mallProSkuInfo.stream().map(MallProdInfoDO::buildGoodsSpecDTO).collect(Collectors.toList()); List<MallProdSkuInfoSpecDO> mallProdSkuInfoSpec = goodsInfoDao.getMallProSkuInfoSpec(goodsInfoId);
for (GoodsSpecDTO goodsSpecDTO : list) { // 根据id查询出规格的具体信息
String specIds = specIdsMap.get(goodsSpecDTO.getId()); list = list.stream().peek(d -> {
String[] ids = specIds.split(","); List<MallProductSpecDTO> specList = new ArrayList<>();
List<Integer> idList = new ArrayList<>(); for (MallProdSkuInfoSpecDO e : mallProdSkuInfoSpec) {
for (String id : ids) { if (d.getId().equals(e.getMallProdSkuInfoId())) {
idList.add(Integer.parseInt(id)); // 构建规格对象
} ProductSpecDO productSpecDO = e.getProductSpecDO();
// 根据specIds集合找出spec的信息 MallProductSpecDTO productSpecDTO = productSpecDO.buildMallProductSpecDTO();
List<ProductSpecDO> productSpecDOS = productDao.listProductSpecInfo(idList); productSpecDTO.setProductSkuId(d.getSkuId());
List<MallProductSpecDTO> mallProductSpecList = productSpecDOS.stream().map(ProductSpecDO::buildMallProductSpecDTO).collect(Collectors.toList()); productSpecDTO.setId(e.getId());
goodsSpecDTO.setProductSpecList(mallProductSpecList); productSpecDTO.setProductSpec(e.getProductSpecId());
if (d.getFlag().equals(1)) {
// 获取自定义sku下规格的价格配置信息
ProductSpecCPQVO productSpecCPQVO = new ProductSpecCPQVO();
productSpecCPQVO.setProductSpecId(e.getProductSpecId());
List<ProductSpecPriceDO> productSpecPrice = productDao.getProductSpecPrice(productSpecCPQVO);
List<SpecPriceVO> collect = productSpecPrice.stream().map(m -> {
SpecPriceVO specPriceVO = new SpecPriceVO();
specPriceVO.setId(m.getId());
specPriceVO.setPrice(m.getPrice());
specPriceVO.setCooperationTag(m.getCooperationTag());
return specPriceVO;
}).collect(Collectors.toList());
productSpecCPQVO.setSpecPrice(collect);
productSpecDTO.setProductSpecCPQVO(productSpecCPQVO);
}
specList.add(productSpecDTO);
} }
}
d.setProductSpecList(specList);
}).collect(Collectors.toList());
return list; return list;
} }
...@@ -595,6 +614,7 @@ public class GoodsInfoServiceImpl implements GoodsInfoService { ...@@ -595,6 +614,7 @@ public class GoodsInfoServiceImpl implements GoodsInfoService {
/** /**
* 根据商品id,商品规格id查询并填充相关信息 * 根据商品id,商品规格id查询并填充相关信息
*
* @param param * @param param
* @return * @return
*/ */
......
...@@ -184,12 +184,12 @@ public class ProductServiceImpl implements ProductSkuService { ...@@ -184,12 +184,12 @@ public class ProductServiceImpl implements ProductSkuService {
@NotNull @NotNull
public ResultBody insertSpecPrice(ProductSpecCPQVO productSpecCPQVO) { public ResultBody insertSpecPrice(ProductSpecCPQVO productSpecCPQVO) {
List<ProductSpecPriceDO> list = getProductSpecPriceDOS(productSpecCPQVO); List<ProductSpecPriceDO> list = getProductSpecPriceDOS(productSpecCPQVO);
if (productSpecCPQVO.getType().equals(1) && productSpecCPQVO.getLeaseTerm() == null) {
return ResultBody.error("租赁期限不能为空!");
}
// 批量插入规格销售价格 // 批量插入规格销售价格
if (productSpecCPQVO.getType().equals(0)) { if (productSpecCPQVO.getType().equals(0)) {
int status = productDao.batchInsertSpecPrice(list); productDao.batchInsertSpecPrice(list);
if (status <= 0) {
return ResultBody.error(ResultEnum.FAILED_TO_ADD_DATA);
}
} else { } else {
// 批量插入租赁价格 // 批量插入租赁价格
productDao.batchInsertLeaseSpecPrice(list); productDao.batchInsertLeaseSpecPrice(list);
......
package com.mmc.pms.service.Impl; package com.mmc.pms.service.Impl;
import com.mmc.pms.auth.dto.UserAccountSimpleDTO;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.constant.TokenConstant;
import com.mmc.pms.dao.GoodsInfoDao;
import com.mmc.pms.dao.ProductDao;
import com.mmc.pms.dao.WebDeviceDao; import com.mmc.pms.dao.WebDeviceDao;
import com.mmc.pms.entity.*; import com.mmc.pms.entity.*;
import com.mmc.pms.feign.UserAppApi;
import com.mmc.pms.model.lease.dto.*; import com.mmc.pms.model.lease.dto.*;
import com.mmc.pms.model.lease.vo.LeaseVo; import com.mmc.pms.model.lease.vo.LeaseVo;
import com.mmc.pms.model.other.dto.AdDTO; import com.mmc.pms.model.other.dto.AdDTO;
...@@ -15,7 +20,9 @@ import com.mmc.pms.service.WebDeviceService; ...@@ -15,7 +20,9 @@ import com.mmc.pms.service.WebDeviceService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -27,16 +34,20 @@ public class WebDeviceServiceImpl implements WebDeviceService { ...@@ -27,16 +34,20 @@ public class WebDeviceServiceImpl implements WebDeviceService {
@Autowired @Autowired
WebDeviceDao webDeviceDao; WebDeviceDao webDeviceDao;
@Autowired
UserAppApi userAppApi;
@Autowired
ProductDao productDao;
@Autowired
GoodsInfoDao goodsInfoDao;
@Override @Override
public ResultBody listSecondDistrict() { public ResultBody listSecondDistrict() {
List<DistrictDO> list = webDeviceDao.listSecondDistrict(); List<DistrictDO> list = webDeviceDao.listSecondDistrict();
List<DistrictInfoDTO> dtoList = List<DistrictInfoDTO> dtoList =
list.stream() list.stream().map(DistrictDO::builderDistrictInfoDTO).collect(Collectors.toList());
.map(
d -> {
return d.builderDistrictInfoDTO();
})
.collect(Collectors.toList());
return ResultBody.success(dtoList); return ResultBody.success(dtoList);
} }
...@@ -144,22 +155,28 @@ public class WebDeviceServiceImpl implements WebDeviceService { ...@@ -144,22 +155,28 @@ public class WebDeviceServiceImpl implements WebDeviceService {
} }
@Override @Override
public ResultBody listWareInfoPage(WareInfoQO param) { public ResultBody listWareInfoPage(WareInfoQO param, HttpServletRequest request, Integer userAccountId) {
int count = webDeviceDao.countListWareInfoPage(param); UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(userAccountId, request.getHeader(TokenConstant.TOKEN));
List<Integer> userIds = userAppApi.feignListUserAccountIds(param.getProvinceId(), null, null, request.getHeader(TokenConstant.TOKEN));
int count = webDeviceDao.countListWareInfoPage(param.getCategoryId(), userIds);
if (count == 0) { if (count == 0) {
return ResultBody.success( return ResultBody.success(
PageResult.buildPage(param.getPageNo(), param.getPageSize(), count)); PageResult.buildPage(param.getPageNo(), param.getPageSize(), count));
} }
int pageNo = param.getPageNo(); int pageNo = param.getPageNo();
param.buildCurrentPage(); param.buildCurrentPage();
List<WareInfoDO> list = webDeviceDao.listWareInfoPage(param); List<GoodsInfo> list = webDeviceDao.listWareInfoPage(param.getCategoryId(), userIds, param.getPageNo(), param.getPageSize());
List<WareInfoItemDTO> pageList = List<LeaseGoodsInfoDTO> pageList = list.stream().map(GoodsInfo::buildLeaseGoodsInfoDTO).collect(Collectors.toList());
list.stream() if (userAccountSimpleDTO.getCooperationTagId() == null) {
.map( return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList));
d -> { }
return d.buildWareInfoItemDTO(); List<Integer> goodsId = pageList.stream().map(LeaseGoodsInfoDTO::getId).collect(Collectors.toList());
}) List<MallProdSkuInfoSpecDO> mallProSkuInfoSpec = goodsInfoDao.listMallprodSpecById(goodsId);
.collect(Collectors.toList()); Map<Integer, MallProdSkuInfoSpecDO> specMap = mallProSkuInfoSpec.stream().collect(Collectors.toMap(MallProdSkuInfoSpecDO::getGoodsInfoId, d -> d, (k1, k2) -> k1));
pageList.stream().peek(d -> {
MallProdSkuInfoSpecDO mallProdSkuInfoSpecDO = specMap.get(d.getId());
d.setPrice(mallProdSkuInfoSpecDO.getPrice());
}).collect(Collectors.toList());
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList)); return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, pageList));
} }
......
...@@ -7,6 +7,7 @@ import com.mmc.pms.model.other.dto.AdDTO; ...@@ -7,6 +7,7 @@ import com.mmc.pms.model.other.dto.AdDTO;
import com.mmc.pms.model.qo.WareInfoQO; import com.mmc.pms.model.qo.WareInfoQO;
import com.mmc.pms.model.sale.dto.SkuInfoDTO; import com.mmc.pms.model.sale.dto.SkuInfoDTO;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
/** /**
...@@ -31,7 +32,7 @@ public interface WebDeviceService { ...@@ -31,7 +32,7 @@ public interface WebDeviceService {
ResultBody detail(Integer id); ResultBody detail(Integer id);
ResultBody listWareInfoPage(WareInfoQO param); ResultBody listWareInfoPage(WareInfoQO param, HttpServletRequest request, Integer userAccountId);
WareInfoDTO getWareInfoById(Integer id); WareInfoDTO getWareInfoById(Integer id);
......
...@@ -3,7 +3,6 @@ package com.mmc.pms.util; ...@@ -3,7 +3,6 @@ package com.mmc.pms.util;
import com.mmc.pms.common.BaseErrorInfoInterface; import com.mmc.pms.common.BaseErrorInfoInterface;
import com.mmc.pms.common.ResultEnum; import com.mmc.pms.common.ResultEnum;
/** /**
* @author 作者 geDuo * @author 作者 geDuo
* @version 创建时间:2021年8月13日 上午9:25:43 * @version 创建时间:2021年8月13日 上午9:25:43
...@@ -13,13 +12,9 @@ public class BizException extends RuntimeException { ...@@ -13,13 +12,9 @@ public class BizException extends RuntimeException {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /** 错误码 */
* 错误码
*/
protected String errorCode; protected String errorCode;
/** /** 错误信息 */
* 错误信息
*/
protected String errorMsg; protected String errorMsg;
public BizException() { public BizException() {
......
...@@ -6,7 +6,7 @@ spring: ...@@ -6,7 +6,7 @@ spring:
username: tmj username: tmj
password: MMC@2022&MYSQL password: MMC@2022&MYSQL
redis: redis:
database: 3 database: 1
host: redis.default host: redis.default
port: 6379 port: 6379
password: MMC@2022&REDIS password: MMC@2022&REDIS
...@@ -37,4 +37,8 @@ mmcflying: ...@@ -37,4 +37,8 @@ mmcflying:
mount: mount:
directory: D:@javaVolume@ directory: D:@javaVolume@
iuav:
userapp:
url: http://cms-svc:35150
...@@ -54,4 +54,8 @@ mmcflying: ...@@ -54,4 +54,8 @@ mmcflying:
mount: mount:
directory: D:@javaVolume@ directory: D:@javaVolume@
iuav:
userapp:
url: http://127.0.0.1:35150
...@@ -6,7 +6,7 @@ spring: ...@@ -6,7 +6,7 @@ spring:
username: tmj username: tmj
password: MMC@2022&MYSQL password: MMC@2022&MYSQL
redis: redis:
database: 3 database: 1
host: redis.default host: redis.default
port: 6379 port: 6379
password: MMC@2022&REDIS password: MMC@2022&REDIS
...@@ -36,3 +36,7 @@ mmcflying: ...@@ -36,3 +36,7 @@ mmcflying:
path: /ossservlet/upload/download/ path: /ossservlet/upload/download/
mount: mount:
directory: D:@javaVolume@ directory: D:@javaVolume@
iuav:
userapp:
url: http://cms-svc:35150
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
from directory from directory
where is_deleted = 0 where is_deleted = 0
</select> </select>
<select id="directoryList" resultType="com.mmc.pms.entity.Directory"> <select id="directoryList" resultType="com.mmc.pms.entity.DirectoryDO">
SELECT d.id, SELECT d.id,
d.directory_name, d.directory_name,
d.pid, d.pid,
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
where id = #{id} where id = #{id}
and is_default = 0 and is_default = 0
</select> </select>
<select id="getDirectoryList" resultType="com.mmc.pms.entity.Directory"> <select id="getDirectoryList" resultType="com.mmc.pms.entity.DirectoryDO">
SELECT d.id, SELECT d.id,
d.directory_name, d.directory_name,
d.pid, d.pid,
...@@ -181,6 +181,30 @@ ...@@ -181,6 +181,30 @@
AND d.pid IS NULL AND d.pid IS NULL
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
<select id="selectCategoryByDirectoryId" resultType="com.mmc.pms.entity.Categories">
select id, `name`, icon,directory_id
from categories
<where>
is_deleted = 0
<foreach collection="list" separator="," open="and directory_id in(" close=")" index="index" item="d">
#{d}
</foreach>
</where>
</select>
<select id="getCategoriesByDirectoryId" resultType="com.mmc.pms.entity.Categories" parameterType="java.lang.Integer">
SELECT id,`name` from categories where directory_id = #{directoryId} and is_deleted = 0 order by create_time desc
</select>
<select id="getCategoriesListByIds" resultType="com.mmc.pms.entity.Categories">
SELECT id,`name` from categories
where
<foreach collection="ids" open="id in(" close=")" separator="," item="item">
#{item}
</foreach>
and is_deleted = 0
</select>
<update id="deleteById"> <update id="deleteById">
UPDATE `categories` UPDATE `categories`
SET `is_deleted` = 1 SET `is_deleted` = 1
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.pms.dao.DirectoryDao">
<select id="getDirectoryByName" resultType="com.mmc.pms.entity.DirectoryDO">
select id,
directory_name,
pid,
`type`
from `directory`
where directory_name = #{directoryName}
</select>
</mapper>
\ No newline at end of file
...@@ -440,4 +440,35 @@ ...@@ -440,4 +440,35 @@
AND im.img_type = 0 AND im.img_type = 0
WHERE gi.category_by_one = #{id} WHERE gi.category_by_one = #{id}
</select> </select>
<select id="getMallProSkuInfoSpec" resultType="com.mmc.pms.entity.MallProdSkuInfoSpecDO">
SELECT mp.id,
mp.mall_prod_info_id,
mp.product_spec_id,
ps.part_no,
ps.spec_image,
ps.spec_name,
ps.version_desc
FROM mall_prod_info_spec mp
INNER JOIN product_spec ps ON mp.product_spec_id = ps.id
WHERE mp.goods_info_id = #{id}
AND mp.is_deleted = 0
</select>
<select id="listMallprodSpecById" resultType="com.mmc.pms.entity.MallProdSkuInfoSpecDO">
SELECT
mp.id,
mp.goods_info_id,
mp.product_spec_id,
psp.price price
FROM
mall_prod_info_spec mp
LEFT JOIN product_spec_price psp ON mp.product_spec_id = psp.product_spec_id
AND psp.cooperation_tag = 0
AND psp.type = 0
<where>
mp.is_deleted = 0
<foreach collection="list" separator="," open=" and mp.goods_info_id in (" close=")" index="index" item="d">
#{d}
</foreach>
</where>
</select>
</mapper> </mapper>
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<delete id="removeProductSpecCPQ"> <delete id="removeProductSpecCPQ">
DELETE DELETE
FROM product_spec_price FROM product_spec_price
WHERE product_spec_id = #{id} WHERE product_spec_id = #{productSpecId}
and `type` = #{type} and `type` = #{type}
</delete> </delete>
......
...@@ -152,51 +152,51 @@ ...@@ -152,51 +152,51 @@
order by wi.create_time DESC order by wi.create_time DESC
</select> </select>
<select id="countListWareInfoPage" parameterType="com.mmc.pms.model.qo.WareInfoQO" resultType="int"> <select id="countListWareInfoPage" parameterType="com.mmc.pms.entity.GoodsInfo" resultType="int">
select count(*) SELECT
from ware_info wi INNER JOIN ware_img img ON wi.id=img.ware_info_id LEFT JOIN ware_prop wp on count(*)
wi.id=wp.ware_info_id FROM
where wi.is_deleted = 0 and img.img_type = 0 goods_info gi
<if test="districtId != null "> INNER JOIN goods_img img ON gi.id = img.goods_info_id
and wi.district_id = #{districtId} <where>
</if> gi.is_deleted = 0 and gi.shelf_status = 0
<if test="categoryId != null "> <if test="categoryIds != null">
and wi.ware_type_id = #{categoryId} <foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")"
</if> separator=",">
<if test="brandId != null "> #{item}
and wi.brand_id = #{brandId} </foreach>
</if> </if>
<if test="modelId != null and modelId != '' "> <if test="userIds != null">
and wi.model_id = #{modelId} <foreach collection="userIds" item="user" index="index" open="and gi.add_goods_user_id IN (" close=")"
separator=",">
#{user}
</foreach>
</if> </if>
</where>
</select> </select>
<select id="listWareInfoPage" parameterType="com.mmc.pms.model.qo.WareInfoQO" resultMap="wareInfoResultMap"> <select id="listWareInfoPage" resultType="com.mmc.pms.entity.GoodsInfo">
select SELECT
wi.id,wi.ware_no,wi.ware_type_id,wi.ware_title,wi.ware_status,wi.pay_status,wi.min_deposit,wi.max_deposit,wi.min_rent, gi.id,gi.goods_name,img.img_url mainImg
wi.max_rent,wi.total_stock,wi.total_sale,wi.sku_num,wi.tags,wi.district_id, FROM
wi.brand_id, goods_info gi
wi.model_id,wi.create_time,wi.update_time,img.id as INNER JOIN goods_img img ON gi.id = img.goods_info_id and img.img_type = 0
ware_img_id,img.ware_info_id,img.img_url,img.img_type,wp.prop_info_id <where>
from ware_info wi INNER JOIN ware_img img ON wi.id=img.ware_info_id LEFT JOIN ware_prop wp on gi.is_deleted = 0 and gi.shelf_status = 0
wi.id=wp.ware_info_id <if test="categoryIds != null">
where wi.is_deleted = 0 and img.img_type = 0 <foreach collection="categoryIds" item="item" index="index" open="and gi.category_by_one IN (" close=")"
<if test="id != null "> separator=",">
and wi.id = #{id} #{item}
</if> </foreach>
<if test="districtId != null ">
and wi.district_id = #{districtId}
</if>
<if test="categoryId != null ">
and wi.ware_type_id = #{categoryId}
</if>
<if test="brandId != null ">
and wi.brand_id = #{brandId}
</if> </if>
<if test="modelId != null and modelId != '' "> <if test="userIds != null">
and wi.model_id = #{modelId} <foreach collection="userIds" item="user" index="index" open="and gi.add_goods_user_id IN (" close=")"
separator=",">
#{user}
</foreach>
</if> </if>
order by wi.create_time DESC </where>
order by gi.create_time DESC
limit #{pageNo},#{pageSize} limit #{pageNo},#{pageSize}
</select> </select>
<select id="getWareInfoById" resultMap="wareInfoResultMap" parameterType="java.lang.Integer"> <select id="getWareInfoById" resultMap="wareInfoResultMap" parameterType="java.lang.Integer">
...@@ -243,37 +243,48 @@ ...@@ -243,37 +243,48 @@
where ware_info_id = #{wareInfoId} where ware_info_id = #{wareInfoId}
</select> </select>
<select id="ad" resultType="com.mmc.pms.entity.AdDO"> <select id="ad" resultType="com.mmc.pms.entity.AdDO">
SELECT SELECT id,
id,
image_url AS imageUrl image_url AS imageUrl
FROM FROM device_ad
device_ad
</select> </select>
<resultMap type="com.mmc.pms.entity.SkuInfoDO" <resultMap type="com.mmc.pms.entity.SkuInfoDO"
id="skuInfoDoResultMap"> id="skuInfoDoResultMap">
<id property="id" column="sku_info_id" /> <id property="id" column="sku_info_id"/>
<result property="wareInfoId" column="ware_info_id" /> <result property="wareInfoId" column="ware_info_id"/>
<result property="skuTitle" column="sku_title" /> <result property="skuTitle" column="sku_title"/>
<result property="rentDeposit" column="rent_deposit" /> <result property="rentDeposit" column="rent_deposit"/>
<result property="stockNum" column="stock_num" /> <result property="stockNum" column="stock_num"/>
<result property="saleNum" column="sale_num" /> <result property="saleNum" column="sale_num"/>
<result property="rentDeposit" column="rent_deposit" /> <result property="rentDeposit" column="rent_deposit"/>
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time"/>
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time"/>
<collection property="skuPriceDOList" javaType="java.util.List" <collection property="skuPriceDOList" javaType="java.util.List"
ofType="com.mmc.pms.entity.SkuPriceDO"> ofType="com.mmc.pms.entity.SkuPriceDO">
<id property="id" column="sku_price_id" /> <id property="id" column="sku_price_id"/>
<result property="wareInfoId" column="ware_info_id" /> <result property="wareInfoId" column="ware_info_id"/>
<result property="skuInfoId" column="sku_info_id" /> <result property="skuInfoId" column="sku_info_id"/>
<result property="rentPrice" column="rent_price" /> <result property="rentPrice" column="rent_price"/>
<result property="minDay" column="min_day" /> <result property="minDay" column="min_day"/>
<result property="maxDay" column="max_day" /> <result property="maxDay" column="max_day"/>
</collection> </collection>
</resultMap> </resultMap>
<select id="listSkuInfo" resultMap="skuInfoDoResultMap" parameterType="java.lang.Integer"> <select id="listSkuInfo" resultMap="skuInfoDoResultMap" parameterType="java.lang.Integer">
select si.id as sku_info_id,si.ware_info_id,si.sku_title,si.rent_deposit,si.stock_num,si.sale_num, select si.id as sku_info_id,
si.create_time,si.update_time,sp.id as sku_price_id,sp.rent_price,sp.min_day,sp.max_day si.ware_info_id,
from sku_info si INNER JOIN sku_price sp ON si.id=sp.sku_info_id where si.ware_info_id = #{id} and si.is_deleted = 0 si.sku_title,
si.rent_deposit,
si.stock_num,
si.sale_num,
si.create_time,
si.update_time,
sp.id as sku_price_id,
sp.rent_price,
sp.min_day,
sp.max_day
from sku_info si
INNER JOIN sku_price sp ON si.id = sp.sku_info_id
where si.ware_info_id = #{id}
and si.is_deleted = 0
</select> </select>
</mapper> </mapper>
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
from service from service
<where> <where>
<if test="serviceName != null and serviceName != ''"> <if test="serviceName != null and serviceName != ''">
and service_name = #{serviceName} and service_name LIKE CONCAT('%',#{serviceName},'%')
</if> </if>
<if test="applicationId != null"> <if test="applicationId != null">
and application_id = #{applicationId} and application_id = #{applicationId}
...@@ -84,15 +84,12 @@ ...@@ -84,15 +84,12 @@
</select> </select>
<!--统计总行数--> <!--统计总行数-->
<select id="count" resultType="java.lang.Long"> <select id="count" parameterType="com.mmc.pms.model.qo.ServiceQO" resultType="java.lang.Integer">
select count(1) select count(*)
from service from service
<where> <where>
<if test="id != null">
and id = #{id}
</if>
<if test="serviceName != null and serviceName != ''"> <if test="serviceName != null and serviceName != ''">
and service_name = #{serviceName} and service_name LIKE CONCAT('%',#{serviceName},'%')
</if> </if>
<if test="applicationId != null"> <if test="applicationId != null">
and application_id = #{applicationId} and application_id = #{applicationId}
...@@ -100,33 +97,11 @@ ...@@ -100,33 +97,11 @@
<if test="industryId != null"> <if test="industryId != null">
and industry_id = #{industryId} and industry_id = #{industryId}
</if> </if>
<if test="displayState != null">
and display_state = #{displayState}
</if>
<if test="coverPlan != null and coverPlan != ''">
and cover_plan = #{coverPlan}
</if>
<if test="shareCard != null and shareCard != ''">
and share_card = #{shareCard}
</if>
<if test="video != null and video != ''">
and video = #{video}
</if>
<if test="serviceIntroduction != null and serviceIntroduction != ''">
and service_introduction = #{serviceIntroduction}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="isDeleted != null">
and is_deleted = #{isDeleted}
</if>
<if test="accountId != null"> <if test="accountId != null">
and account_id = #{accountId} and account_id = #{accountId}
</if> </if>
and is_deleted = 0
and display_state = 0
</where> </where>
</select> </select>
...@@ -176,13 +151,13 @@ ...@@ -176,13 +151,13 @@
account_id = #{accountId}, account_id = #{accountId},
</if> </if>
</set> </set>
where = #{id} where id = #{id}
</update> </update>
<!--通过主键删除--> <!--通过主键删除-->
<update id="deleteById" parameterType="java.lang.Integer"> <update id="deleteById" parameterType="java.lang.Integer">
update service update service
set is_deleted = 1 set is_deleted = 1
where = #{id} where id = #{id}
</update> </update>
</mapper> </mapper>
\ No newline at end of file
...@@ -6,4 +6,4 @@ data-filter: ...@@ -6,4 +6,4 @@ data-filter:
- /pms/doc.html - /pms/doc.html
- /pms/swagger-resources/** - /pms/swagger-resources/**
- /pms/webjars/** - /pms/webjars/**
- /pms/product/spec/feignGetUnitPriceByTag - /pms/product/spec/feignGetSpecLeaseUnitPrice
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论