Helius
2021-06-28 c49f58ebe531030ee406c82b569c381261c2ba11
add addJhyOrder
3 files modified
7 files added
175 ■■■■■ changed files
gc-core/src/main/java/com/xzx/gc/common/utils/IdUtils.java 2 ●●● patch | view | raw | blame | history
gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java 3 ●●●●● patch | view | raw | blame | history
gc-core/src/main/java/com/xzx/gc/entity/JhyOrderItems.java 2 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java 32 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/dto/AddJhyOrderDto.java 33 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java 7 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java 9 ●●●●● patch | view | raw | blame | history
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java 77 ●●●●● patch | view | raw | blame | history
gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml 5 ●●●●● patch | view | raw | blame | history
gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml 5 ●●●●● patch | view | raw | blame | history
gc-core/src/main/java/com/xzx/gc/common/utils/IdUtils.java
@@ -15,7 +15,7 @@
    /**
     *  生成分布式唯一全局ID
     * @param prefix ID前缀 如支付:ZF
     * @param datacenterId 数据中心ID(0~31)  0:支付 1 订单 2入库 3 用户 4账户 5特殊用户 6废品站 7结算 8请假 9积分商城
     * @param datacenterId 数据中心ID(0~31)  0:支付 1 订单 2入库 3 用户 4账户 5特殊用户 6废品站 7结算 8请假 9积分商城 10集物员
     * @return
     */
    public  String generate(String prefix,long datacenterId){
gc-core/src/main/java/com/xzx/gc/entity/JhyOrder.java
@@ -15,6 +15,8 @@
    private String orderNo;
    private String username;
    private String phone;
    private String area;
@@ -37,6 +39,7 @@
     * 订单状态 状态 1-待接单2-服务中3-已收款4-待入库5-已完成6-已取消
     */
    private Integer status;
    public static final Integer ORDER_STATUS_WAITING = 1;
    /**
     * 评论
gc-core/src/main/java/com/xzx/gc/entity/JhyOrderItems.java
@@ -23,4 +23,6 @@
    private BigDecimal weight;
    private String score;
    private Long itemType;
}
gc-order/src/main/java/com/xzx/gc/order/controller/ApiJhyOrderController.java
New file
@@ -0,0 +1,32 @@
package com.xzx.gc.order.controller;
import com.xzx.gc.common.Result;
import com.xzx.gc.common.request.BaseController;
import com.xzx.gc.order.dto.AddJhyOrderDto;
import com.xzx.gc.order.service.JhyOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@RestController
@Api(tags = {"集物员-api集物员订单"})
public class ApiJhyOrderController extends BaseController {
    @Autowired
    private JhyOrderService jhyOrderService;
    @ApiOperation("下单")
    @PostMapping(value = "/jhy/order/add")
    public Result<String> addJhyOrder(@RequestBody AddJhyOrderDto addJhyOrderDto, HttpServletRequest request) {
        addJhyOrderDto.setUserId(getUserId(request));
        jhyOrderService.addJhyOrder(addJhyOrderDto);
        return Result.success();
    }
}
gc-order/src/main/java/com/xzx/gc/order/dto/AddJhyOrderDto.java
New file
@@ -0,0 +1,33 @@
package com.xzx.gc.order.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value = "AddJhyOrderDto", description = "小程序下单参数接收类")
public class AddJhyOrderDto {
    @ApiModelProperty(value = "地址ID")
    private Long addressId;
    @ApiModelProperty(value = "预约日期")
    private Date reserveDate;
    @ApiModelProperty(value = "时间")
    private String reserveTime;
    @ApiModelProperty(value = "重量")
    private String weight;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "类型Ids")
    private String typeIds;
    @ApiModelProperty(hidden = true)
    private String userId;
}
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderItemsMapper.java
New file
@@ -0,0 +1,7 @@
package com.xzx.gc.order.mapper;
import com.xzx.gc.entity.JhyOrderItems;
import com.xzx.gc.util.GcMapper;
public interface JhyOrderItemsMapper extends GcMapper<JhyOrderItems> {
}
gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
New file
@@ -0,0 +1,9 @@
package com.xzx.gc.order.mapper;
import com.xzx.gc.entity.JhyOrder;
import com.xzx.gc.util.GcMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface JhyOrderMapper extends GcMapper<JhyOrder> {
}
gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
New file
@@ -0,0 +1,77 @@
package com.xzx.gc.order.service;
import cn.hutool.core.util.StrUtil;
import com.xzx.gc.common.utils.IdUtils;
import com.xzx.gc.entity.AddressInfo;
import com.xzx.gc.entity.JhyOrder;
import com.xzx.gc.entity.JhyOrderItems;
import com.xzx.gc.entity.SysEnvironmentalInfo;
import com.xzx.gc.order.dto.AddJhyOrderDto;
import com.xzx.gc.order.mapper.AddressMapper;
import com.xzx.gc.order.mapper.JhyOrderItemsMapper;
import com.xzx.gc.order.mapper.JhyOrderMapper;
import com.xzx.gc.order.mapper.SysEnvironmentalInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Slf4j
@Service
@Transactional
public class JhyOrderService {
    @Autowired
    private JhyOrderMapper jhyOrderMapper;
    @Autowired
    private AddressMapper addressMapper;
    @Autowired
    private SysEnvironmentalInfoMapper environmentalInfoMapper;
    @Autowired
    private JhyOrderItemsMapper jhyOrderItemsMapper;
    @Autowired
    private IdUtils idUtils;
    public void addJhyOrder(AddJhyOrderDto orderDto) {
        String orderNo = idUtils.generate("JW", 10);
        JhyOrder jhyOrder = new JhyOrder();
        AddressInfo addressInfo = addressMapper.selectByPrimaryKey(orderDto.getAddressId());
        jhyOrder.setOrderNo(orderNo);
        jhyOrder.setArea(addressInfo.getAddressArea());
        jhyOrder.setAddress(addressInfo.getAddress());
        jhyOrder.setUsername(addressInfo.getRelaName());
        jhyOrder.setPhone(addressInfo.getMobilePhone());
        jhyOrder.setLongitude(addressInfo.getLongitude());
        jhyOrder.setLatitude(addressInfo.getLatitude());
        jhyOrder.setReserveDate(orderDto.getReserveDate());
        jhyOrder.setReserveTime(orderDto.getReserveTime());
        jhyOrder.setWeight(orderDto.getWeight());
        jhyOrder.setStatus(JhyOrder.ORDER_STATUS_WAITING);
        jhyOrder.setCreatedTime(new Date());
        jhyOrderMapper.insert(jhyOrder);
        long[] typeIds = StrUtil.splitToLong(orderDto.getTypeIds(), ",");
        for (long typeId : typeIds) {
            SysEnvironmentalInfo environmentalInfo = environmentalInfoMapper.selectByPrimaryKey(typeId);
            JhyOrderItems item = new JhyOrderItems();
            item.setOrderId(jhyOrder.getId());
            item.setPicture(environmentalInfo.getPicture());
            item.setItemType(typeId);
            item.setTitle(environmentalInfo.getTitle());
            item.setPrice(new BigDecimal(environmentalInfo.getPrice()));
            jhyOrderItemsMapper.insert(item);
        }
    }
}
gc-order/src/main/resources/mapper/order/JhyOrderItemsMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xzx.gc.order.mapper.JhyOrderItemsMapper">
</mapper>
gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xzx.gc.order.mapper.JhyOrderMapper">
</mapper>