提交 3885e9f9 作者: xiaowang

代码格式化

上级 eb53ada3
...@@ -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,18 +6,16 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry; ...@@ -6,18 +6,16 @@ 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) {
registry.addInterceptor(tokenCheckHandleInterceptor); registry.addInterceptor(tokenCheckHandleInterceptor);
WebMvcConfigurer.super.addInterceptors(registry); WebMvcConfigurer.super.addInterceptors(registry);
} }
} }
...@@ -8,16 +8,15 @@ import org.springframework.context.annotation.PropertySource; ...@@ -8,16 +8,15 @@ 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
@ConfigurationProperties(prefix = "data-filter", ignoreUnknownFields = false) @ConfigurationProperties(prefix = "data-filter", ignoreUnknownFields = false)
@PropertySource("classpath:not-check.yml") @PropertySource("classpath:not-check.yml")
public class NotCheckUriConfig { public class NotCheckUriConfig {
// 不需要验证token的请求地址 // 不需要验证token的请求地址
private List<String> notAuthPath; private List<String> notAuthPath;
// 不需要验证token的请求地址;// 不需要验证token的请求地址 // 不需要验证token的请求地址;// 不需要验证token的请求地址
private List<String> uploadPath; private List<String> uploadPath;
} }
...@@ -16,84 +16,88 @@ import javax.servlet.http.HttpServletResponse; ...@@ -16,84 +16,88 @@ 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)
String requestURI = request.getRequestURI(); throws Exception {
// //根据uri确认是否要拦截 String requestURI = request.getRequestURI();
if (!shouldFilter(requestURI)) { // //根据uri确认是否要拦截
return true; if (!shouldFilter(requestURI)) {
} return true;
String token = request.getHeader("token");
if (StringUtils.isBlank(token)) {
exceptionProcess(response);
return false;
}
String tokenJson = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(tokenJson)) {
exceptionProcess(response);
return false;
}
//
// String serverName = request.getServerName();
// String remoteHost = request.getRemoteHost();
// log.info("hostName: {}", hostName);
// log.info("serverName: {}", serverName);
// log.info("remoteHost: {}", remoteHost);
// log.info("forwardedFor: {}", forwardedFor);
// 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")){
// String token = request.getHeader("token");
// if (StringUtils.isBlank(token)){
// exceptionProcess(response);
// return false;
// }
// String tokenJson = stringRedisTemplate.opsForValue().get(token);
// if (StringUtils.isBlank(tokenJson)){
// exceptionProcess(response);
// return false;
// }
// return true;
// }
//测试-打印请求信息
return true;
} }
String token = request.getHeader("token");
@Override if (StringUtils.isBlank(token)) {
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { exceptionProcess(response);
return false;
} }
String tokenJson = stringRedisTemplate.opsForValue().get(token);
@Override if (StringUtils.isBlank(tokenJson)) {
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { exceptionProcess(response);
return false;
} }
//
// String serverName = request.getServerName();
// String remoteHost = request.getRemoteHost();
// log.info("hostName: {}", hostName);
// log.info("serverName: {}", serverName);
// log.info("remoteHost: {}", remoteHost);
// log.info("forwardedFor: {}", forwardedFor);
// 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")){
// String token = request.getHeader("token");
// if (StringUtils.isBlank(token)){
// exceptionProcess(response);
// return false;
// }
// String tokenJson = stringRedisTemplate.opsForValue().get(token);
// if (StringUtils.isBlank(tokenJson)){
// exceptionProcess(response);
// return false;
// }
// return true;
// }
// 测试-打印请求信息
return true;
}
public void exceptionProcess(HttpServletResponse response) throws Exception { @Override
response.setContentType("application/json;charset=utf-8"); public void postHandle(
PrintWriter writer = response.getWriter(); HttpServletRequest request,
writer.write(ResultBody.error(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR).toString()); HttpServletResponse response,
writer.close(); Object handler,
} ModelAndView modelAndView)
throws Exception {}
@Override
public void afterCompletion(
HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {}
public void exceptionProcess(HttpServletResponse response) throws Exception {
response.setContentType("application/json;charset=utf-8");
PrintWriter writer = response.getWriter();
writer.write(ResultBody.error(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR).toString());
writer.close();
}
private boolean shouldFilter(String path) { private boolean shouldFilter(String path) {
// 路径与配置的相匹配,则执行过滤 // 路径与配置的相匹配,则执行过滤
for (String pathPattern : notCheckUriConfig.getNotAuthPath()) { for (String pathPattern : notCheckUriConfig.getNotAuthPath()) {
if (PathUtil.isPathMatch(pathPattern, path)) { if (PathUtil.isPathMatch(pathPattern, path)) {
// 如果匹配 // 如果匹配
return false; return false;
} }
}
return true;
} }
return true;
}
} }
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;
}
}
...@@ -7,24 +7,24 @@ import lombok.NoArgsConstructor; ...@@ -7,24 +7,24 @@ 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
@NoArgsConstructor @NoArgsConstructor
public class LoginSuccessDTO implements Serializable { public class LoginSuccessDTO implements Serializable {
private static final long serialVersionUID = -1200834589953161925L; private static final long serialVersionUID = -1200834589953161925L;
private String token; private String token;
private Integer userAccountId; private Integer userAccountId;
private String accountNo; private String accountNo;
private Integer portType; private Integer portType;
private String uid; private String uid;
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";
}
...@@ -2,6 +2,7 @@ package com.mmc.pms.controller; ...@@ -2,6 +2,7 @@ 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.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.CategoriesInfoVO;
...@@ -113,4 +114,11 @@ public class BackstageCategoriesController { ...@@ -113,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);
}
} }
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;
...@@ -18,48 +17,51 @@ import javax.servlet.http.HttpServletRequest; ...@@ -18,48 +17,51 @@ 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 = "修改作业服务")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateWorkService") @PostMapping("updateWorkService")
public ResultBody updateWorkService(@Validated(Update.class) @RequestBody ServiceVO param) { public ResultBody updateWorkService(@Validated(Update.class) @RequestBody ServiceVO param) {
return backstageTaskService.updateById(param); return backstageTaskService.updateById(param);
} }
@ApiOperation(value = "删除作业服务") @ApiOperation(value = "删除作业服务")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("deleteWorkService") @GetMapping("deleteWorkService")
public ResultBody deleteWorkService(@ApiParam("作业服务id") @RequestParam(value = "id") Integer id) { public ResultBody deleteWorkService(@ApiParam("作业服务id") @RequestParam(value = "id") Integer id) {
return backstageTaskService.deleteById(id); return backstageTaskService.deleteById(id);
} }
@ApiOperation(value = "查询作业服务") @ApiOperation(value = "查询作业服务")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ServiceDTO.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 = ServiceDTO.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ServiceDTO.class)})
@PostMapping("queryWorkServiceList") @PostMapping("queryWorkServiceList")
public PageResult 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,48 +11,48 @@ import org.springframework.data.redis.core.StringRedisTemplate; ...@@ -11,48 +11,48 @@ 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 *
* @return * @param request
*/ * @return
// public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) { */
// String token = request.getHeader("token"); // public BaseAccountDTO getUserLoginInfo(HttpServletRequest request) {
// try { // String token = request.getHeader("token");
// Claims claims = JwtUtil.parseJwt(token); // try {
// String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString(); // Claims claims = JwtUtil.parseJwt(token);
//// String roleId = claims.get("").toString(); // String userId = claims.get(JwtConstant.USER_ACCOUNT_ID).toString();
// String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString(); //// String roleId = claims.get("").toString();
// return BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build(); // String tokenType = claims.get(JwtConstant.TOKEN_TYPE).toString();
// }catch (Exception e){ // return
// throw new BizException("Invalid token"); // BaseAccountDTO.builder().id(Integer.parseInt(userId)).tokenPort(tokenType).build();
// } // }catch (Exception e){
// } // throw new BizException("Invalid token");
// }
// }
/** /**
* 使用token从redis获取用户信息 * 使用token从redis获取用户信息
* *
* @param request * @param request
* @return * @return
*/ */
public LoginSuccessDTO getUserLoginInfoFromRedis(HttpServletRequest request) { public LoginSuccessDTO getUserLoginInfoFromRedis(HttpServletRequest request) {
String token = request.getHeader("token"); String token = request.getHeader("token");
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {
throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR); throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
}
String json = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(json)) {
throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
}
LoginSuccessDTO loginSuccessDTO = JSONObject.parseObject(json, LoginSuccessDTO.class);
return loginSuccessDTO;
} }
String json = stringRedisTemplate.opsForValue().get(token);
if (StringUtils.isBlank(json)) {
throw new BizException(ResultEnum.LOGIN_ACCOUNT_STATUS_ERROR);
}
LoginSuccessDTO loginSuccessDTO = JSONObject.parseObject(json, LoginSuccessDTO.class);
return loginSuccessDTO;
}
} }
...@@ -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)})
......
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; package com.mmc.pms.controller.web;
import com.mmc.pms.service.WebDeviceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/** /**
* @Author LW * @Author LW
* @date 2023/6/8 15:19 * @date 2023/6/8 15:19
...@@ -13,6 +16,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -13,6 +16,8 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/lease/goods") @RequestMapping("/lease/goods")
@Api(tags = {"web端-设备租赁-相关接口"}) @Api(tags = {"web端-设备租赁-相关接口"})
public class WebLeaseGoodsController { public class WebLeaseGoodsController {
@Resource
WebDeviceService webDeviceService;
} }
...@@ -8,20 +8,20 @@ import java.util.List; ...@@ -8,20 +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 {
Integer insert(ServiceDO serviceDO); Integer insert(ServiceDO serviceDO);
Integer update(ServiceDO serviceDO); Integer update(ServiceDO serviceDO);
Integer 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); Integer count(ServiceQO param);
} }
...@@ -59,6 +59,9 @@ public interface CategoriesDao { ...@@ -59,6 +59,9 @@ public interface CategoriesDao {
List<Categories> getCategoriesByDirectoryId(Integer directoryId); List<Categories> getCategoriesByDirectoryId(Integer directoryId);
List<Categories> getCategoriesListByIds(@Param("ids") Set<Integer> ids); List<Categories> getCategoriesListByIds(@Param("ids") Set<Integer> ids);
List<Categories> selectCategoryByDirectoryId(List<Integer> directoryIds);
} }
......
...@@ -92,6 +92,8 @@ public interface GoodsInfoDao { ...@@ -92,6 +92,8 @@ public interface GoodsInfoDao {
List<GoodsInfo> ListGoodsInfoByCategoryId(Integer id); List<GoodsInfo> ListGoodsInfoByCategoryId(Integer id);
List<MallProdSkuInfoSpecDO> getMallProSkuInfoSpec(Integer goodsInfoId); 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;
...@@ -60,5 +61,10 @@ public class DirectoryDO implements Serializable { ...@@ -60,5 +61,10 @@ public class DirectoryDO 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;
/** /**
...@@ -16,16 +17,17 @@ import java.util.Date; ...@@ -16,16 +17,17 @@ import java.util.Date;
@AllArgsConstructor @AllArgsConstructor
@Accessors(chain = true) @Accessors(chain = true)
public class MallProdSkuInfoSpecDO implements Serializable { public class MallProdSkuInfoSpecDO implements Serializable {
private static final long serialVersionUID = -8247363408322497387L; private static final long serialVersionUID = -8247363408322497387L;
private Integer id; private Integer id;
private Integer mallProdSkuInfoId; private Integer mallProdSkuInfoId;
private Integer goodsInfoId; private Integer goodsInfoId;
private Integer productSpecId; private Integer productSpecId;
private Integer deleted; private Integer deleted;
private Date createTime; private Date createTime;
private Date updateTime; private Date updateTime;
private String goodsName; private String goodsName;
private BigDecimal price;
private ProductSpecDO productSpecDO; private ProductSpecDO productSpecDO;
} }
...@@ -20,53 +20,53 @@ import java.util.Date; ...@@ -20,53 +20,53 @@ import java.util.Date;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class RepoCashDO implements Serializable { public class RepoCashDO implements Serializable {
private static final long serialVersionUID = -7930603317037474755L; private static final long serialVersionUID = -7930603317037474755L;
private Integer id; private Integer id;
private Integer repoAccountId; private Integer repoAccountId;
private String uid; private String uid;
private String accountName; private String accountName;
private Integer orderInfoId; private Integer orderInfoId;
private String orderNo; private String orderNo;
private Integer skuInfoId; private Integer skuInfoId;
private String skuTitle; private String skuTitle;
private Integer wareInfoId; private Integer wareInfoId;
private String wareNo; private String wareNo;
private String wareTitle; private String wareTitle;
private String payNo; private String payNo;
private Integer payMethod; private Integer payMethod;
private BigDecimal amtPaid; private BigDecimal amtPaid;
private BigDecimal cashAmt; private BigDecimal cashAmt;
private Date payTime; private Date payTime;
private String refundNo; private String refundNo;
private String voucher; private String voucher;
private String remark; private String remark;
private Integer createUser; private Integer createUser;
private Date createTime; private Date createTime;
private Integer updateUser; private Integer updateUser;
private Date updateTime; private Date updateTime;
public RepoCashDTO buildRepoCashDTO() { public RepoCashDTO buildRepoCashDTO() {
return RepoCashDTO.builder() return RepoCashDTO.builder()
.id(this.id) .id(this.id)
.repoAccountId(this.repoAccountId) .repoAccountId(this.repoAccountId)
.uid(this.uid) .uid(this.uid)
.accountName(this.accountName) .accountName(this.accountName)
.orderInfoId(this.orderInfoId) .orderInfoId(this.orderInfoId)
.orderNo(this.orderNo) .orderNo(this.orderNo)
.skuInfoId(this.skuInfoId) .skuInfoId(this.skuInfoId)
.skuTitle(this.skuTitle) .skuTitle(this.skuTitle)
.wareInfoId(this.wareInfoId) .wareInfoId(this.wareInfoId)
.wareNo(this.wareNo) .wareNo(this.wareNo)
.wareTitle(this.wareTitle) .wareTitle(this.wareTitle)
.payNo(this.payNo) .payNo(this.payNo)
.payMethod(this.payMethod) .payMethod(this.payMethod)
.amtPaid(this.amtPaid) .amtPaid(this.amtPaid)
.refundNo(this.refundNo) .refundNo(this.refundNo)
.createUser(this.createUser) .createUser(this.createUser)
.voucher(StringUtils.isBlank(this.voucher) ? null : Arrays.asList(this.voucher.split(","))) .voucher(StringUtils.isBlank(this.voucher) ? null : Arrays.asList(this.voucher.split(",")))
.cashAmt(this.cashAmt) .cashAmt(this.cashAmt)
.payTime(this.payTime) .payTime(this.payTime)
.remark(this.remark) .remark(this.remark)
.build(); .build();
} }
} }
...@@ -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
...@@ -21,73 +21,65 @@ import java.util.Date; ...@@ -21,73 +21,65 @@ import java.util.Date;
@Builder @Builder
public class ServiceDO implements Serializable { public class ServiceDO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer id; private Integer id;
@ApiModelProperty(value = "服务名称") @ApiModelProperty(value = "服务名称")
private String serviceName; private String serviceName;
@ApiModelProperty(value = "应用") @ApiModelProperty(value = "应用")
private Integer applicationId; private Integer applicationId;
@ApiModelProperty(value = "行业") @ApiModelProperty(value = "行业")
private Integer industryId; private Integer industryId;
@ApiModelProperty(value = "展示状态") @ApiModelProperty(value = "展示状态")
private Integer displayState; private Integer displayState;
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
private String coverPlan; private String coverPlan;
@ApiModelProperty(value = "分享卡片") @ApiModelProperty(value = "分享卡片")
private String shareCard; private String shareCard;
@ApiModelProperty(value = "视频") @ApiModelProperty(value = "视频")
private String video; private String video;
@ApiModelProperty(value = "服务介绍") @ApiModelProperty(value = "服务介绍")
private String serviceIntroduction; private String serviceIntroduction;
@ApiModelProperty(value = "创建人id") @ApiModelProperty(value = "创建人id")
private Integer accountId; private Integer accountId;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Date createTime; private Date createTime;
@ApiModelProperty(value = "修改时间") @ApiModelProperty(value = "修改时间")
private Date updateTime; private Date updateTime;
@ApiModelProperty(value = "逻辑删除字段") @ApiModelProperty(value = "逻辑删除字段")
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.accountId = accountId;
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 ServiceDO(ServiceVO param) { public ServiceDO(ServiceVO param) {
this.id = param.getId(); this.id = param.getId();
this.serviceName = param.getServiceName(); this.serviceName = param.getServiceName();
this.applicationId = param.getApplicationId(); this.applicationId = param.getApplicationId();
this.industryId = param.getIndustryId(); this.industryId = param.getIndustryId();
this.displayState = param.getDisplayState(); this.displayState = param.getDisplayState();
this.coverPlan = param.getCoverPlan(); this.coverPlan = param.getCoverPlan();
this.shareCard = param.getShareCard(); this.shareCard = param.getShareCard();
this.video = param.getVideo(); this.video = param.getVideo();
this.serviceIntroduction = param.getServiceIntroduction(); this.serviceIntroduction = param.getServiceIntroduction();
} }
public ServiceDO(Integer id, Integer accountId) { public ServiceDO(Integer id, Integer accountId) {
this.id = id; this.id = id;
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;
}
}
...@@ -13,107 +13,107 @@ import java.util.List; ...@@ -13,107 +13,107 @@ import java.util.List;
*/ */
public class JsonUtil { public class JsonUtil {
public static void main(String[] args) { public static void main(String[] args) {
String array = "[1,24,23]"; String array = "[1,24,23]";
List<Integer> list = JSONArray.parseArray(array, Integer.class); List<Integer> list = JSONArray.parseArray(array, Integer.class);
System.out.println(list.get(2)); System.out.println(list.get(2));
} }
/** /**
* 把Java对象转换成json字符串 * 把Java对象转换成json字符串
* *
* @param object 待转化为JSON字符串的Java对象 * @param object 待转化为JSON字符串的Java对象
* @return json 串 or null * @return json 串 or null
*/ */
public static String parseObjToJson(Object object) { public static String parseObjToJson(Object object) {
String string = null; String string = null;
try { try {
string = JSONObject.toJSONString(object); string = JSONObject.toJSONString(object);
} catch (Exception e) { } catch (Exception e) {
// LOGGER.error(e.getMessage()); // LOGGER.error(e.getMessage());
}
return string;
} }
return string;
}
/** /**
* 将Json字符串信息转换成对应的Java对象 * 将Json字符串信息转换成对应的Java对象
* *
* @param json json字符串对象 * @param json json字符串对象
* @param c 对应的类型 * @param c 对应的类型
*/ */
public static <T> T parseJsonToObj(String json, Class<T> c) { public static <T> T parseJsonToObj(String json, Class<T> c) {
try { try {
JSONObject jsonObject = JSON.parseObject(json); JSONObject jsonObject = JSON.parseObject(json);
return JSON.toJavaObject(jsonObject, c); return JSON.toJavaObject(jsonObject, c);
} catch (Exception e) { } catch (Exception e) {
// LOGGER.error(e.getMessage()); // LOGGER.error(e.getMessage());
}
return null;
} }
return null;
}
/** /**
* 读取json文件 * 读取json文件
* *
* @param fileName * @param fileName
* @return * @return
*/ */
public static String readJsonFile(String fileName) { public static String readJsonFile(String fileName) {
String jsonStr = ""; String jsonStr = "";
try { try {
File jsonFile = new File(fileName); File jsonFile = new File(fileName);
FileReader fileReader = new FileReader(jsonFile); FileReader fileReader = new FileReader(jsonFile);
Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8"); Reader reader = new InputStreamReader(new FileInputStream(jsonFile), "utf-8");
int ch = 0; int ch = 0;
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
while ((ch = reader.read()) != -1) { while ((ch = reader.read()) != -1) {
sb.append((char) ch); sb.append((char) ch);
} }
fileReader.close(); fileReader.close();
reader.close(); reader.close();
jsonStr = sb.toString(); jsonStr = sb.toString();
return jsonStr; return jsonStr;
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
}
} }
}
/** /**
* 将JSON数据格式化并保存到文件中 * 将JSON数据格式化并保存到文件中
* *
* @param jsonData 需要输出的json数 * @param jsonData 需要输出的json数
* @param filePath 输出的文件地址 * @param filePath 输出的文件地址
* @return * @return
*/ */
public static boolean createJsonFile(Object jsonData, String filePath) { public static boolean createJsonFile(Object jsonData, String filePath) {
String content = String content =
JSON.toJSONString( JSON.toJSONString(
jsonData, jsonData,
SerializerFeature.PrettyFormat, SerializerFeature.PrettyFormat,
SerializerFeature.WriteMapNullValue, SerializerFeature.WriteMapNullValue,
SerializerFeature.WriteDateUseDateFormat); SerializerFeature.WriteDateUseDateFormat);
// 标记文件生成是否成功 // 标记文件生成是否成功
boolean flag = true; boolean flag = true;
// 生成json格式文件 // 生成json格式文件
try { try {
// 保证创建一个新文件 // 保证创建一个新文件
File file = new File(filePath); File file = new File(filePath);
if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录 if (!file.getParentFile().exists()) { // 如果父目录不存在,创建父目录
file.getParentFile().mkdirs(); file.getParentFile().mkdirs();
} }
if (file.exists()) { // 如果已存在,删除旧文件 if (file.exists()) { // 如果已存在,删除旧文件
file.delete(); file.delete();
} }
file.createNewFile(); file.createNewFile();
// 将格式化后的字符串写入文件 // 将格式化后的字符串写入文件
Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8"); Writer write = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
write.write(content); write.write(content);
write.flush(); write.flush();
write.close(); write.close();
} catch (Exception e) { } catch (Exception e) {
flag = false; flag = false;
e.printStackTrace(); e.printStackTrace();
}
return flag;
} }
return flag;
}
} }
/**
* 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
/**
* 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
...@@ -25,34 +24,38 @@ import java.io.Serializable; ...@@ -25,34 +24,38 @@ import java.io.Serializable;
@Builder @Builder
public class ServiceQO implements Serializable { public class ServiceQO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer id; private Integer id;
@ApiModelProperty(value = "服务名称", example = "服务名称") @ApiModelProperty(value = "服务名称", example = "服务名称")
@Length(message = "最大不超过30字", max = 30) @Length(message = "最大不超过30字", max = 30)
private String serviceName; private String serviceName;
@ApiModelProperty(value = "应用", example = "1") @ApiModelProperty(value = "应用", example = "1")
private Integer applicationId; private Integer applicationId;
@ApiModelProperty(value = "行业", example = "2") @ApiModelProperty(value = "行业", example = "2")
private Integer industryId; private Integer industryId;
@ApiModelProperty(value = "账号id") @ApiModelProperty(value = "账号id")
private Integer accountId; private Integer accountId;
@ApiModelProperty(value = "页码", required = true) @ApiModelProperty(value = "页码", required = true)
@NotNull(message = "页码不能为空", groups = {Page.class, Freeze.class}) @NotNull(
@Min(value = 1, groups = Page.class) message = "页码不能为空",
private Integer pageNo; groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(value = "每页显示数", required = true) @ApiModelProperty(value = "每页显示数", required = true)
@NotNull(message = "每页显示数不能为空", groups = {Page.class, Freeze.class}) @NotNull(
@Min(value = 1, groups = Page.class) message = "每页显示数不能为空",
private Integer pageSize; groups = {Page.class, Freeze.class})
@Min(value = 1, groups = Page.class)
private Integer pageSize;
public void buildCurrentPage() { public void buildCurrentPage() {
this.pageNo = (pageNo - 1) * pageSize; 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
...@@ -18,45 +19,25 @@ import java.io.Serializable; ...@@ -18,45 +19,25 @@ import java.io.Serializable;
@NoArgsConstructor @NoArgsConstructor
// @ApiModel(value = "com.mmc.csf.model.qo.WareInfoQO", description = "model") // @ApiModel(value = "com.mmc.csf.model.qo.WareInfoQO", description = "model")
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) @ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false)
private Integer id; private Integer provinceId;
@ApiModelProperty(name = "districtId", value = "地域id", example = "1", required = false) @ApiModelProperty(name = "categoryId", value = "分类id")
private Integer districtId; private List<Integer> categoryId;
@ApiModelProperty(name = "categoryId", value = "类目id", example = "类目id") @ApiModelProperty(value = "页码", required = true)
private Integer categoryId; @NotNull(message = "页码不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageNo;
@ApiModelProperty(name = "brandIdl", value = "品牌id", example = "品牌id") @ApiModelProperty(value = "每页显示数", required = true)
private Integer brandId; @NotNull(message = "每页显示数不能为空", groups = Page.class)
@Min(value = 1, groups = Page.class)
private Integer pageSize;
@ApiModelProperty(name = "modelId", value = "型号id", example = "型号id") public void buildCurrentPage() {
private Integer modelId; this.pageNo = (pageNo - 1) * pageSize;
/*@ApiModelProperty(value = "关键字") }
private String keyword;
@ApiModelProperty(value = "商品状态,出租中或仓库中")
private Integer wareStatus;
@ApiModelProperty(value = "商品类型")
private Integer wareTypeId;
@ApiModelProperty(value = "活动属性")
private Integer propInfoId;*/
@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;
}
} }
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;
......
...@@ -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
...@@ -24,37 +24,47 @@ import java.io.Serializable; ...@@ -24,37 +24,47 @@ import java.io.Serializable;
@Builder @Builder
public class ServiceVO implements Serializable { public class ServiceVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@NotNull(message = "修改服务id不能为空", groups = {Update.class}) @NotNull(
private Integer id; message = "修改服务id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "服务名称", example = "服务名称") @ApiModelProperty(value = "服务名称", example = "服务名称")
@NotBlank(message = "服务名称不能为空", groups = {Create.class, Update.class}) @NotBlank(
@Length(message = "最大不超过30字", max = 30) message = "服务名称不能为空",
private String serviceName; groups = {Create.class, Update.class})
@Length(message = "最大不超过30字", max = 30)
private String serviceName;
@ApiModelProperty(value = "应用", example = "1") @ApiModelProperty(value = "应用", example = "1")
private Integer applicationId; private Integer applicationId;
@ApiModelProperty(value = "行业", example = "2") @ApiModelProperty(value = "行业", example = "2")
@NotNull(message = "行业id不能为空", groups = {Create.class, Update.class}) @NotNull(
private Integer industryId; message = "行业id不能为空",
groups = {Create.class, Update.class})
private Integer industryId;
@ApiModelProperty(value = "展示状态,0为上架,1下架", example = "0") @ApiModelProperty(value = "展示状态,0为上架,1下架", example = "0")
@NotNull(message = "展示状态不能为空", groups = {Create.class, Update.class}) @NotNull(
private Integer displayState; message = "展示状态不能为空",
groups = {Create.class, Update.class})
private Integer displayState;
@ApiModelProperty(value = "封面图") @ApiModelProperty(value = "封面图")
@NotBlank(message = "封面图不能为空", groups = {Create.class, Update.class}) @NotBlank(
private String coverPlan; message = "封面图不能为空",
groups = {Create.class, Update.class})
private String coverPlan;
@ApiModelProperty(value = "分享卡片") @ApiModelProperty(value = "分享卡片")
private String shareCard; private String shareCard;
@ApiModelProperty(value = "视频") @ApiModelProperty(value = "视频")
private String video; private String video;
@ApiModelProperty(value = "服务介绍") @ApiModelProperty(value = "服务介绍")
private String serviceIntroduction; private String serviceIntroduction;
} }
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;
...@@ -8,17 +7,17 @@ import com.mmc.pms.page.PageResult; ...@@ -8,17 +7,17 @@ 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);
ResultBody updateById(ServiceVO param); ResultBody updateById(ServiceVO param);
ResultBody deleteById(Integer id); ResultBody deleteById(Integer id);
ResultBody queryById(Integer id); ResultBody queryById(Integer id);
PageResult queryWorkServiceList(ServiceQO param, Integer userAccountId); PageResult queryWorkServiceList(ServiceQO param, Integer userAccountId);
} }
...@@ -42,6 +42,8 @@ public interface CategoriesService { ...@@ -42,6 +42,8 @@ public interface CategoriesService {
ResultBody getDirectoryList(Integer type); ResultBody getDirectoryList(Integer type);
ResultBody queryCategoryInfoByType(Integer type);
List<Categories> getCategoriesListByDirectoryName(String directoryName); List<Categories> getCategoriesListByDirectoryName(String directoryName);
ResultBody getApplicationList(String directoryName); ResultBody getApplicationList(String directoryName);
......
package com.mmc.pms.service.Impl; package com.mmc.pms.service.Impl;
import com.google.common.collect.Lists;
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.dao.CategoriesDao;
...@@ -11,7 +10,6 @@ import com.mmc.pms.model.work.dto.ServiceDTO; ...@@ -11,7 +10,6 @@ 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.page.PageResult;
import com.mmc.pms.service.BackstageTaskService; import com.mmc.pms.service.BackstageTaskService;
import com.mmc.pms.service.CategoriesService;
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 org.springframework.util.CollectionUtils;
...@@ -21,86 +19,91 @@ import java.util.stream.Collectors; ...@@ -21,86 +19,91 @@ 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 @Autowired private CategoriesDao categoriesDao;
private CategoriesDao categoriesDao;
@Override @Override
public ResultBody addWorkService(ServiceVO param, Integer userAccountId) { public ResultBody addWorkService(ServiceVO param, Integer userAccountId) {
ServiceDO serviceDO = new ServiceDO(param, userAccountId); ServiceDO serviceDO = new ServiceDO(param, userAccountId);
backstageTaskServiceDao.insert(serviceDO); backstageTaskServiceDao.insert(serviceDO);
return ResultBody.success(); return ResultBody.success();
} }
@Override @Override
public ResultBody updateById(ServiceVO param) { public ResultBody updateById(ServiceVO param) {
ServiceDO serviceDO = new ServiceDO(param); ServiceDO serviceDO = new ServiceDO(param);
backstageTaskServiceDao.update(serviceDO); backstageTaskServiceDao.update(serviceDO);
return ResultBody.success(); return ResultBody.success();
} }
@Override @Override
public ResultBody deleteById(Integer id) { public ResultBody deleteById(Integer id) {
backstageTaskServiceDao.deleteById(id); backstageTaskServiceDao.deleteById(id);
return ResultBody.success(); return ResultBody.success();
} }
@Override @Override
public ResultBody queryById(Integer id) { public ResultBody queryById(Integer id) {
ServiceDO serviceDO = backstageTaskServiceDao.queryById(id); ServiceDO serviceDO = backstageTaskServiceDao.queryById(id);
ServiceDTO serviceDTO = new ServiceDTO(serviceDO); ServiceDTO serviceDTO = new ServiceDTO(serviceDO);
Map<Integer, String> categoriesNameMap = getCategoriesNameByIds(Arrays.asList(serviceDTO.getApplicationId(),serviceDTO.getIndustryId())); Map<Integer, String> categoriesNameMap =
if(!CollectionUtils.isEmpty(categoriesNameMap)){ getCategoriesNameByIds(
serviceDTO.setApplicationName(categoriesNameMap.get(serviceDTO.getApplicationId())); Arrays.asList(serviceDTO.getApplicationId(), serviceDTO.getIndustryId()));
serviceDTO.setIndustryName(categoriesNameMap.get(serviceDTO.getIndustryId())); if (!CollectionUtils.isEmpty(categoriesNameMap)) {
} serviceDTO.setApplicationName(categoriesNameMap.get(serviceDTO.getApplicationId()));
return ResultBody.success(serviceDTO); serviceDTO.setIndustryName(categoriesNameMap.get(serviceDTO.getIndustryId()));
} }
return ResultBody.success(serviceDTO);
}
private Map<Integer,String> getCategoriesNameByIds(List<Integer> ids){ private Map<Integer, String> getCategoriesNameByIds(List<Integer> ids) {
if(CollectionUtils.isEmpty(ids)){ if (CollectionUtils.isEmpty(ids)) {
return new HashMap<>(); 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));
} }
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 PageResult queryWorkServiceList(ServiceQO param, Integer userAccountId) { public PageResult queryWorkServiceList(ServiceQO param, Integer userAccountId) {
int count = backstageTaskServiceDao.count(param); int count = backstageTaskServiceDao.count(param);
if(count == 0){ if (count == 0) {
return PageResult.buildPage(param.getPageNo(), param.getPageSize(),count); return PageResult.buildPage(param.getPageNo(), param.getPageSize(), count);
} }
Integer pageNo = param.getPageNo(); Integer pageNo = param.getPageNo();
param.buildCurrentPage(); param.buildCurrentPage();
List<ServiceDO> services = backstageTaskServiceDao.queryAllByLimit(param); List<ServiceDO> services = backstageTaskServiceDao.queryAllByLimit(param);
List<Integer> list = new ArrayList<>(); List<Integer> list = new ArrayList<>();
for (ServiceDO service : services) { for (ServiceDO service : services) {
list.add(service.getApplicationId()); list.add(service.getApplicationId());
list.add(service.getIndustryId()); 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);
} }
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);
}
} }
package com.mmc.pms.service.Impl; package com.mmc.pms.service.Impl;
import com.google.common.collect.Lists;
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;
...@@ -9,9 +8,10 @@ import com.mmc.pms.dao.GoodsInfoDao; ...@@ -9,9 +8,10 @@ import com.mmc.pms.dao.GoodsInfoDao;
import com.mmc.pms.entity.Categories; import com.mmc.pms.entity.Categories;
import com.mmc.pms.entity.DirectoryDO; 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.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.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;
...@@ -211,7 +211,7 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -211,7 +211,7 @@ public class CategoriesServiceImpl implements CategoriesService {
@Override @Override
public ResultBody getApplicationList(String directoryName) { public ResultBody getApplicationList(String directoryName) {
List<Categories> categories = getCategoriesListByDirectoryName(directoryName); List<Categories> categories = getCategoriesListByDirectoryName(directoryName);
if(org.springframework.util.CollectionUtils.isEmpty(categories)){ if (org.springframework.util.CollectionUtils.isEmpty(categories)) {
return ResultBody.success(); return ResultBody.success();
} }
List<CategoriesDTO> collect = categories.stream().map(CategoriesDTO::new).collect(Collectors.toList()); List<CategoriesDTO> collect = categories.stream().map(CategoriesDTO::new).collect(Collectors.toList());
...@@ -220,7 +220,7 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -220,7 +220,7 @@ public class CategoriesServiceImpl implements CategoriesService {
@Override @Override
public List<Categories> getCategoriesListByIds(Set<Integer> ids) { public List<Categories> getCategoriesListByIds(Set<Integer> ids) {
if(CollectionUtils.isEmpty(ids)){ if (CollectionUtils.isEmpty(ids)) {
return null; return null;
} }
return categoriesDao.getCategoriesListByIds(ids); return categoriesDao.getCategoriesListByIds(ids);
...@@ -233,7 +233,41 @@ public class CategoriesServiceImpl implements CategoriesService { ...@@ -233,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);
}
}
} }
......
...@@ -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
...@@ -11,80 +10,76 @@ import com.mmc.pms.common.ResultEnum; ...@@ -11,80 +10,76 @@ import com.mmc.pms.common.ResultEnum;
*/ */
public class BizException extends RuntimeException { 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;
/**
* 错误信息 public BizException() {
*/ super();
protected String errorMsg; }
public BizException() { public BizException(BaseErrorInfoInterface errorInfoInterface) {
super(); super(errorInfoInterface.getResultCode());
} this.errorCode = errorInfoInterface.getResultCode();
this.errorMsg = errorInfoInterface.getResultMsg();
public BizException(BaseErrorInfoInterface errorInfoInterface) { }
super(errorInfoInterface.getResultCode());
this.errorCode = errorInfoInterface.getResultCode(); public BizException(BaseErrorInfoInterface errorInfoInterface, Throwable cause) {
this.errorMsg = errorInfoInterface.getResultMsg(); super(errorInfoInterface.getResultCode(), cause);
} this.errorCode = errorInfoInterface.getResultCode();
this.errorMsg = errorInfoInterface.getResultMsg();
public BizException(BaseErrorInfoInterface errorInfoInterface, Throwable cause) { }
super(errorInfoInterface.getResultCode(), cause);
this.errorCode = errorInfoInterface.getResultCode(); public BizException(ResultEnum enums) {
this.errorMsg = errorInfoInterface.getResultMsg(); super(enums.getResultCode());
} this.errorCode = enums.getResultCode();
this.errorMsg = enums.getResultMsg();
public BizException(ResultEnum enums) { }
super(enums.getResultCode());
this.errorCode = enums.getResultCode(); public BizException(String errorMsg) {
this.errorMsg = enums.getResultMsg(); super(errorMsg);
} this.errorCode = "-1";
this.errorMsg = errorMsg;
public BizException(String errorMsg) { }
super(errorMsg);
this.errorCode = "-1"; public BizException(String errorCode, String errorMsg) {
this.errorMsg = errorMsg; super(errorCode);
} this.errorCode = errorCode;
this.errorMsg = errorMsg;
public BizException(String errorCode, String errorMsg) { }
super(errorCode);
this.errorCode = errorCode; public BizException(String errorCode, String errorMsg, Throwable cause) {
this.errorMsg = errorMsg; super(errorCode, cause);
} this.errorCode = errorCode;
this.errorMsg = errorMsg;
public BizException(String errorCode, String errorMsg, Throwable cause) { }
super(errorCode, cause);
this.errorCode = errorCode; public String getErrorCode() {
this.errorMsg = errorMsg; return errorCode;
} }
public String getErrorCode() { public void setErrorCode(String errorCode) {
return errorCode; this.errorCode = errorCode;
} }
public void setErrorCode(String errorCode) { public String getErrorMsg() {
this.errorCode = errorCode; return errorMsg;
} }
public String getErrorMsg() { public void setErrorMsg(String errorMsg) {
return errorMsg; this.errorMsg = errorMsg;
} }
public void setErrorMsg(String errorMsg) { @Override
this.errorMsg = errorMsg; public String getMessage() {
} return errorMsg;
}
@Override
public String getMessage() { @Override
return errorMsg; public Throwable fillInStackTrace() {
} return this;
}
@Override
public Throwable fillInStackTrace() {
return this;
}
} }
...@@ -8,9 +8,9 @@ import org.springframework.util.AntPathMatcher; ...@@ -8,9 +8,9 @@ import org.springframework.util.AntPathMatcher;
* @explain 解析地址类 * @explain 解析地址类
*/ */
public class PathUtil { public class PathUtil {
private static AntPathMatcher matcher = new AntPathMatcher(); private static AntPathMatcher matcher = new AntPathMatcher();
public static boolean isPathMatch(String pattern, String path) { public static boolean isPathMatch(String pattern, String path) {
return matcher.match(pattern, path); return matcher.match(pattern, path);
} }
} }
...@@ -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
...@@ -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
...@@ -181,6 +181,16 @@ ...@@ -181,6 +181,16 @@
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="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 id,`name` from categories where directory_id = #{directoryId} and is_deleted = 0 order by create_time desc
......
...@@ -453,4 +453,22 @@ ...@@ -453,4 +453,22 @@
WHERE mp.goods_info_id = #{id} WHERE mp.goods_info_id = #{id}
AND mp.is_deleted = 0 AND mp.is_deleted = 0
</select> </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=")"
</if> separator=",">
#{user}
</foreach>
</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 "> </if>
and wi.district_id = #{districtId} <if test="userIds != null">
</if> <foreach collection="userIds" item="user" index="index" open="and gi.add_goods_user_id IN (" close=")"
<if test="categoryId != null "> separator=",">
and wi.ware_type_id = #{categoryId} #{user}
</if> </foreach>
<if test="brandId != null "> </if>
and wi.brand_id = #{brandId} </where>
</if> order by gi.create_time DESC
<if test="modelId != null and modelId != '' ">
and wi.model_id = #{modelId}
</if>
order by wi.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 device_ad
FROM
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>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论