定点、到站回收订单业务功能bug问题修复v4

door
LI-CCONG\李聪聪 7 months ago
parent 15dfe751af
commit 872525cf37

1
.gitignore vendored

@ -5,6 +5,7 @@ target/
!**/src/test/**/target/
logs
upload
**/src/main/**/test/
### STS ###
.apt_generated

@ -41,7 +41,7 @@ public class genCodeMain {
})
//4、策略配置
.strategyConfig(builder -> {
builder.addInclude("nx_enterprise_recycle_station") // 设置需要生成的数据表名
builder.addInclude("nx_housing_estate") // 设置需要生成的数据表名
.addTablePrefix("nx") // 设置过滤表前缀
//4.1、Mapper策略配置
.mapperBuilder()
@ -52,7 +52,7 @@ public class genCodeMain {
//4.2、service 策略配置
.serviceBuilder()
.formatServiceFileName("%sService") //格式化 service 接口文件名称,%s进行匹配表名如 UserService
.formatServiceFileName("I%sService") //格式化 service 接口文件名称,%s进行匹配表名如 UserService
.formatServiceImplFileName("%sServiceImpl") //格式化 service 实现类文件名称,%s进行匹配表名如 UserServiceImpl
//4.3、实体类策略配置

@ -132,6 +132,24 @@ public class RecycleOrderController {
return CommonResult.success(CollUtils.getFirst(recycleOrderRespVO));
}
@ApiOperation("回收订单明细详情")
@GetMapping("/product-info")
public CommonResult<List<RecycleOrderDetailResponseVO>> OrderProductList(@RequestParam("orderId") String orderId) {
List<RecycleOrderProduct> orderProducts = recycleOrderProductService.getOrderProductsByOrderId(orderId);
List<RecycleOrderDetailResponseVO> detailResponseVOList = BeanUtils.copyList(orderProducts, RecycleOrderDetailResponseVO.class);
Set<String> productIds = detailResponseVOList.stream().map(RecycleOrderDetailResponseVO::getProductId).collect(Collectors.toSet());
List<Product> productList = priceProductService.getProductListByIds(productIds);
if (CollUtils.isNotEmpty(productList)) {
Map<String, Product> productMap = productList.stream().collect(Collectors.toMap(Product::getId, p -> p, (k1, k2) -> k1));
for (RecycleOrderDetailResponseVO detailVO : detailResponseVOList) {
Product product = productMap.get(detailVO.getProductId());
detailVO.setProduct(BeanUtils.copyBean(product, ProductSimpleVO.class));
}
}
// 是否展示最新价格? todo
return CommonResult.success(detailResponseVOList);
}
@ApiOperation("回收订单更新")
@PostMapping("/update")

@ -3,13 +3,25 @@ package cc.yunxi.controller;
import cc.yunxi.common.domain.CommonResult;
import cc.yunxi.common.exception.BadRequestException;
import cc.yunxi.common.exception.BizIllegalException;
import cc.yunxi.config.props.JwtProperties;
import cc.yunxi.config.props.WxPayV3Properties;
import cc.yunxi.domain.dto.UserDTO;
import cc.yunxi.domain.query.TestQuery;
import cc.yunxi.enums.UserTypeEnum;
import cc.yunxi.service.ITestService;
import cc.yunxi.test.AppConfig;
import cc.yunxi.test.dal.Animal;
import cc.yunxi.utils.JwtTool;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.hutool.log.Log;
import com.ijpay.core.IJPayHttpResponse;
@ -26,14 +38,16 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.security.cert.X509Certificate;
import java.util.Collections;
import java.util.concurrent.ExecutionException;
import java.util.HashMap;
@Api(tags = "测试接口")
@RestController
@ -47,9 +61,19 @@ public class TestController {
@Resource
private WxPayV3Properties wxPayV3Properties;
@Resource
private JwtTool jwtTool;
@Autowired
@Lazy
private JwtProperties jwtProperties;
@ApiOperation("测试接口成功")
@GetMapping("/test01")
public CommonResult<String> success() {
Animal animal = SpringUtil.getBean("animalObj", Animal.class);
AppConfig appConfig = SpringUtil.getBean("appConfig", AppConfig.class);
log.info("animal bean: {}, appConfig bean: {}", animal, appConfig);
return CommonResult.success("ok");
}
@ -70,6 +94,26 @@ public class TestController {
return CommonResult.success("ok");
}
@ApiOperation("测试token生成")
@PostMapping("/test06")
public CommonResult<String> createToken() {
UserDTO userDTO = new UserDTO();
userDTO.setUsername("admin");
userDTO.setId("1");
String token = jwtTool.createToken(userDTO);
log.info("token ttl = {}", jwtProperties.getTokenTTL().toMillis());
return CommonResult.success(token);
}
@ApiOperation("测试解析token")
@PostMapping("/test07")
public CommonResult<UserDTO> parseToken(@RequestParam("authorization") String token) {
UserDTO userDTO = jwtTool.parseToken(token);
return CommonResult.success(userDTO);
}
@ApiOperation("测试枚举转换")
@PostMapping("/test04")
public CommonResult<TestQuery> enumConvert(@RequestBody TestQuery testQuery) {
@ -94,6 +138,7 @@ public class TestController {
return CommonResult.success("数据处理完成");
}
@ApiOperation(value = "测试支付", hidden = true)
@GetMapping("/tQ7lA2mG9f")
public CommonResult<String> wxCash(@RequestParam("openid") String openid, @RequestParam("amount") Integer amount) throws Exception {
@ -147,4 +192,17 @@ public class TestController {
return serialNo;
}
@ApiOperation(value = "测试JSON接口请求")
@GetMapping("/test08")
public CommonResult<String> test08() {
JSONObject jsonObject = new JSONObject();
jsonObject.set("amount", "222").set("merchantId", "540429689097824901");
String json = jsonObject.toJSONString(1);
String result = HttpRequest.post("http://localhost:8808/api/index/recharge-balance")
.header("authorization", "8bd2aa89033ead51c505e44994e42189")
.body(json)
.execute().body();
return CommonResult.success(result);
}
}

@ -26,6 +26,13 @@ public interface IRecycleOrderProductService extends IService<RecycleOrderProduc
*/
PriceProduct getLatestPriceProduct(String productId);
/**
*
* @param orderId
* @return List<RecycleOrderProduct>
*/
List<RecycleOrderProduct> getOrderProductsByOrderId(String orderId);
/**
*
@ -34,7 +41,6 @@ public interface IRecycleOrderProductService extends IService<RecycleOrderProduc
*/
List<RecycleOrderProduct> getOrderProductsByOrderIds(List<String> orderIds);
/**
*
* @param

@ -1,6 +1,7 @@
package cc.yunxi.service.impl;
import cc.yunxi.common.domain.LambdaQueryWrapperX;
import cc.yunxi.common.utils.CollUtils;
import cc.yunxi.domain.po.PriceProduct;
import cc.yunxi.domain.po.RecycleOrderProduct;
import cc.yunxi.mapper.RecycleOrderProductMapper;
@ -32,10 +33,20 @@ public class RecycleOrderProductServiceImpl extends ServiceImpl<RecycleOrderProd
return recycleOrderProductMapper.getLatestPriceProductByProductId(productId);
}
@Override
public List<RecycleOrderProduct> getOrderProductsByOrderId(String orderId) {
LambdaQueryWrapperX<RecycleOrderProduct> wrapper = new LambdaQueryWrapperX<>();
wrapper.eq(RecycleOrderProduct::getRecycleOrderId, orderId);
return this.list(wrapper);
}
@Override
public List<RecycleOrderProduct> getOrderProductsByOrderIds(List<String> orderIds) {
LambdaQueryWrapperX<RecycleOrderProduct> wrapper = new LambdaQueryWrapperX<>();
wrapper.inIfPresent(RecycleOrderProduct::getRecycleOrderId, orderIds);
if (CollUtils.isEmpty(orderIds)) {
return CollUtils.emptyList();
}
wrapper.in(RecycleOrderProduct::getRecycleOrderId, orderIds);
return this.list(wrapper);
}

@ -1,20 +1,21 @@
package cc.yunxi;
import cc.yunxi.common.utils.LambdaUtil;
import cc.yunxi.common.domain.function.SFunction;
import cc.yunxi.domain.dto.UserDTO;
import cc.yunxi.domain.po.Recycler;
import cc.yunxi.enums.UserTypeEnum;
import cc.yunxi.domain.vo.recycleorder.shorder.SHRecycleOrderRespVO;
import cc.yunxi.service.IRecyclerService;
import cc.yunxi.service.ITestService;
import cc.yunxi.utils.JwtTool;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.core.lang.Filter;
import cn.hutool.core.util.ReflectUtil;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
@SpringBootTest
public class NxhsApplicationTest {
@ -22,6 +23,9 @@ public class NxhsApplicationTest {
@Resource
ITestService testService;
@Resource
IRecyclerService recyclerService;
@Resource
JwtTool jwtTool;
@ -50,15 +54,18 @@ public class NxhsApplicationTest {
@Test
void test03() {
SFunction<Recycler> recyclerSFunction = Recycler::getGoodTotal;
String fieldName = LambdaUtil.getFieldName(recyclerSFunction);
System.out.println(fieldName);
// SFunction<Recycler> recyclerSFunction = Recycler::getGoodTotal;
// String fieldName = LambdaUtil.getFieldName(recyclerSFunction);
// System.out.println(fieldName);
recyclerService.totalTick("533242995646951684", 1880d, new BigDecimal("5000"));
}
public static void main(String[] args) {
// System.out.println(DigestUtil.sha256Hex("123456"));
// System.out.println(DigestUtil.sha1Hex("123456"));
// System.out.println(DigestUtil.md5Hex("123456"));
public static void main(String[] args) throws NoSuchMethodException {
// Filter<Field> fieldFilter = field -> field.getName().startsWith("name") || field.getType().equals(String.class);
// Field[] fields = ReflectUtil.getFields(SHRecycleOrderRespVO.class, fieldFilter);
// System.out.println(fields.length);
BigDecimal number = new BigDecimal("123.00");
System.out.println(number.stripTrailingZeros().scale() <= 0);
}
}

Loading…
Cancel
Save