无关风月
2024-12-27 8d0c63d2f96cc31dd45581ac21b8c900c200e134
验光师
9个文件已修改
1个文件已添加
190 ■■■■■ 已修改文件
applet/src/main/java/com/jilongda/applet/controller/TOptometryController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
applet/src/main/java/com/jilongda/applet/model/TOptometry.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
applet/src/main/resources/mapping/TOptometryMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/controller/TOrderController.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/model/TCouponReceive.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/model/TOrder.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optometrist/src/main/java/com/jilongda/optometrist/vo/TDetailVO.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
applet/src/main/java/com/jilongda/applet/controller/TOptometryController.java
@@ -66,7 +66,7 @@
        BeanUtils.copyProperties(optometry, tOptometryVO);
        TOptometrist optometrist = optometristService.getById(optometry.getOptometristId());
        if(Objects.nonNull(optometrist)){
            tOptometryVO.setOptometristName(optometry.getName());
            tOptometryVO.setOptometristName(optometrist.getName());
        }
        TStore store = storeService.getById(optometry.getStoreId());
        if(Objects.nonNull(store)){
applet/src/main/java/com/jilongda/applet/model/TOptometry.java
@@ -50,8 +50,8 @@
    private Integer gender;
    @ApiModelProperty(value = "姓名")
    @TableField("name")
    private String name;
    @TableField("realName")
    private String realName;
    @ApiModelProperty(value = "手机号")
    @TableField("phone")
applet/src/main/resources/mapping/TOptometryMapper.xml
@@ -27,7 +27,7 @@
        id, code, userId, age, gender, `name`, phone, optometristId, storeId, status, registerTime, createTime, updateTime, createBy, updateBy, isDelete
    </sql>
    <select id="pageList" resultType="com.jilongda.applet.vo.TOptometryVO">
        select o.id, o.code, o.userId, o.age, o.gender, o.`name`, o.phone, o.optometristId, o.storeId, o.status, o.registerTime,
        select o.id, o.code, o.userId, o.age, o.gender, o.realName, o.phone, o.optometristId, o.storeId, o.status, o.registerTime,
               o.createTime, o.updateTime, o.createBy, o.updateBy, o.isDelete,
               t.name as optometristName, s.name as storeName
        from t_optometry o
manage/src/main/java/com/jilongda/manage/controller/TOrderAccountingController.java
@@ -59,7 +59,6 @@
    public ApiResult<TOrderAccountVO> detail(Integer id) {
        TOrderAccountVO res = new TOrderAccountVO();
        TOrder byId = orderService.getById(id);
        TOrderAccounting one = orderAccountingService.lambdaQuery().eq(TOrderAccounting::getOrderId, id).one();
        if (byId.getUserId()!=null){
            TAppUser byId1 = appUserService.getById(byId.getUserId());
            if(byId1!=null){
@@ -78,9 +77,6 @@
        BigDecimal goodsMoney = new BigDecimal("0");
        BigDecimal costMoney = new BigDecimal("0");
        BigDecimal constConfirm = new BigDecimal("0");
        if (one!=null){
        }
        for (TOrderGoods orderGood : orderGoods) {
            goodsMoney =goodsMoney.add(orderGood.getGoodsMoney());
            costMoney=costMoney.add(orderGood.getCost()==null?new BigDecimal("0"):orderGood.getCost());
@@ -106,14 +102,9 @@
        return ApiResult.success(res);
    }
    @ApiOperation(value = "确认核算操作")
    @PostMapping(value = "/confirm")
    public ApiResult confirm(@RequestBody TOrderAccountingQuery query) {
        if (StringUtils.hasLength(query.getStartTime())){
            query.setStartTime(query.getStartTime()+" 00:00:00");
            query.setEndTime(query.getEndTime()+" 23:59:59");
        }
        PageInfo<TOrderVO> res = orderAccountingService.pageList(query);
        return ApiResult.success(res);
    @GetMapping(value = "/confirm")
    public ApiResult confirm() {
        return ApiResult.success();
    }
}
manage/src/main/java/com/jilongda/manage/controller/TOrderController.java
@@ -7,10 +7,7 @@
import com.jilongda.manage.authority.model.SecUser;
import com.jilongda.manage.authority.service.SecUserService;
import com.jilongda.manage.dto.TOrderDTO;
import com.jilongda.manage.model.TCoupon;
import com.jilongda.manage.model.TCouponReceive;
import com.jilongda.manage.model.TOptometryDetail;
import com.jilongda.manage.model.TOrder;
import com.jilongda.manage.model.*;
import com.jilongda.manage.query.TOptometryQuery;
import com.jilongda.manage.service.*;
import com.jilongda.manage.utils.LoginInfoUtil;
@@ -52,7 +49,12 @@
    private TOrderService orderService;
    @Autowired
    private TOptometryDetailService optometryDetailService;
    @Autowired
    private TOrderGoodsService orderGoodsService;
    @Autowired
    private TFrameGoodsService frameGoodsService;
    @Autowired
    private TLensGoodsService lensGoodsService;
    @ApiOperation(value = "查询用户信息")
    @GetMapping(value = "/getUserById")
    public ApiResult getUserById(@RequestParam Integer userId) {
@@ -70,12 +72,14 @@
    @ApiOperation(value = "查询优惠券")
    @GetMapping(value = "/getCouponListByUserId")
    public ApiResult<List<TCoupon>> getCouponListByUserId(@RequestParam Integer userId, @RequestParam Integer storeId) {
    public ApiResult<List<TCouponReceive>> getCouponListByUserId(@RequestParam Integer userId, @RequestParam Integer storeId) {
        List<TCouponReceive> list = couponReceiveService.list(Wrappers.lambdaQuery(TCouponReceive.class)
                .eq(TCouponReceive::getUserId, userId)
                .eq(TCouponReceive::getStatus, 1));
        List<TCouponReceive> tCouponReceives = new ArrayList<>();
        for (TCouponReceive tCouponReceive : list) {
            TCoupon byId = couponService.getById(tCouponReceive.getCouponId());
            tCouponReceive.setCouponName(byId.getName());
            if (StringUtils.hasLength(tCouponReceive.getStoreId())){
                if (Arrays.asList(tCouponReceive.getStoreId().split(",")).contains(storeId+"")){
                    tCouponReceives.add(tCouponReceive);
@@ -85,12 +89,8 @@
                tCouponReceives.add(tCouponReceive);
            }
        }
        List<Integer> collect = list.stream().map(TCouponReceive::getCouponId).collect(Collectors.toList());
        if (collect.isEmpty()){
            collect.add(-1);
        }
        List<TCoupon> list1 = couponService.lambdaQuery().in(TCoupon::getId, collect).list();
        return ApiResult.success(list1);
        return ApiResult.success(tCouponReceives);
    }
    @ApiOperation(value = "添加订单")
@@ -103,7 +103,6 @@
            dto.setStoreId(user.getStoreId());
        }
        orderService.save(dto);
        List<TOptometryDetail> optometryDetails = dto.getOptometryDetails();
        if (!CollectionUtils.isEmpty(optometryDetails)){
            for (TOptometryDetail optometryDetail : optometryDetails) {
@@ -111,7 +110,10 @@
            }
            optometryDetailService.saveBatch(optometryDetails);
        }
        List<TOrderGoods> orderGoods = dto.getOrderGoods();
        for (TOrderGoods orderGood : orderGoods) {
            orderGood.setOrderId(dto.getId());
        }
        // TODO 周哥 补库存
        return ApiResult.success();
manage/src/main/java/com/jilongda/manage/dto/TOrderDTO.java
@@ -2,6 +2,7 @@
import com.jilongda.manage.model.TOptometryDetail;
import com.jilongda.manage.model.TOrder;
import com.jilongda.manage.model.TOrderGoods;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -14,5 +15,7 @@
    @ApiModelProperty(value = "手动添加配镜处方使用")
    private List<TOptometryDetail> optometryDetails;
    @ApiModelProperty(value = "商品列表")
    private List<TOrderGoods> orderGoods;
}
manage/src/main/java/com/jilongda/manage/model/TCouponReceive.java
@@ -37,6 +37,9 @@
    @ApiModelProperty(value = "优惠券id")
    @TableField("couponId")
    private Integer couponId;
    @ApiModelProperty(value = "优惠券名称")
    @TableField("couponName")
    private String couponName;
    @ApiModelProperty(value = "用户id")
    @TableField("userId")
manage/src/main/java/com/jilongda/manage/model/TOrder.java
@@ -50,45 +50,45 @@
    @TableField("storeId")
    private Integer storeId;
    @ApiModelProperty(value = "镜架型号id")
    @TableField("modelId")
    private Integer modelId;
//    @ApiModelProperty(value = "镜架型号id")
//    @TableField("modelId")
//    private Integer modelId;
    @ApiModelProperty(value = "镜架色号")
    @TableField("color")
    private String color;
//    @ApiModelProperty(value = "镜架色号")
//    @TableField("color")
//    private String color;
//
//    @ApiModelProperty(value = "镜片系列id")
//    @TableField("series")
//    private Integer series;
    @ApiModelProperty(value = "镜片系列id")
    @TableField("series")
    private Integer series;
//    @ApiModelProperty(value = "镜片右 球镜+柱镜 逗号拼接 字段为空 客户自带")
//    @TableField("rLens")
//    private String rLens;
//
//    @ApiModelProperty(value = "镜片左 球镜+柱镜 逗号拼接 字段为空 客户自带")
//    @TableField("lLens")
//    private String lLens;
    @ApiModelProperty(value = "镜片右 球镜+柱镜 逗号拼接 字段为空 客户自带")
    @TableField("rLens")
    private String rLens;
    @ApiModelProperty(value = "镜片左 球镜+柱镜 逗号拼接 字段为空 客户自带")
    @TableField("lLens")
    private String lLens;
    @ApiModelProperty(value = "1球 2非球面 3双非")
    @TableField("type")
    private Integer type;
    @ApiModelProperty(value = "折射率")
    @TableField("refractiveIndex")
    private String refractiveIndex;
//    @ApiModelProperty(value = "1球 2非球面 3双非")
//    @TableField("type")
//    private Integer type;
//
//    @ApiModelProperty(value = "折射率")
//    @TableField("refractiveIndex")
//    private String refractiveIndex;
    @ApiModelProperty(value = "店铺员工id")
    @TableField("sysId")
    private Integer sysId;
    @ApiModelProperty(value = "优惠券id")
    @ApiModelProperty(value = "优惠券领取id")
    @TableField("couponId")
    private Integer couponId;
    @ApiModelProperty(value = "收费项id")
    @TableField("itemsId")
    private Integer itemsId;
//
//    @ApiModelProperty(value = "收费项id")
//    @TableField("itemsId")
//    private Integer itemsId;
    @ApiModelProperty(value = "备注")
    @TableField("remark")
optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -69,6 +69,35 @@
        PageInfo<TOptometryVO> tOptometryVOPageInfo = optometristService.pageList(query);
        return ApiResult.success(tOptometryVOPageInfo);
    }
    @ApiOperation(value = "验光记录详情")
    @GetMapping(value = "/detail")
    public ApiResult<TDetailVO> detail(Integer id) {
        TOptometry one = optometryService.getById(id);
        TAppUser byId = appUserService.getById(one.getUserId());
        TDetailVO tDetailVO = new TDetailVO();
        tDetailVO.setName(byId.getName());
        tDetailVO.setPhone(byId.getPhone());
        tDetailVO.setAvatar(byId.getAvatar());
        tDetailVO.setRealName(one.getRealName());
        tDetailVO.setAge(one.getAge());
        tDetailVO.setGender(one.getGender());
        // 查询消费次数,验光次数
        long l = optometryService.count(Wrappers.<TOptometry>lambdaQuery()
                .eq(TOptometry::getUserId, byId.getId())
                .eq(TOptometry::getStatus,3));
        tDetailVO.setOptometryCount((int) l);
        long count = orderService.count(Wrappers.<TOrder>lambdaQuery()
                .eq(TOrder::getUserId, byId.getId()));
        tDetailVO.setSaleCount((int) count);
        TOptometrist byId1 = optometristService.getById(one.getOptometristId());
        tDetailVO.setOptometristName(byId1.getName());
        TStore byId2 = storeService.getById(one.getStoreId());
        tDetailVO.setStoreName(byId2.getName());
        List<TOptometryDetail> list = optometryDetailService.lambdaQuery().eq(TOptometryDetail::getOptometryId, one.getId()).list();
        tDetailVO.setOptometryDetailVOS(list);
        tDetailVO.setCreateTime(one.getCreateTime());
        return ApiResult.success(tDetailVO);
    }
    @ApiOperation(value = "首页")
    @PostMapping(value = "/index")
    public ApiResult<TOptometristVO> index() {
@@ -201,5 +230,6 @@
        return ApiResult.success();
    }
}
optometrist/src/main/java/com/jilongda/optometrist/vo/TDetailVO.java
New file
@@ -0,0 +1,43 @@
package com.jilongda.optometrist.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jilongda.optometrist.model.TBrand;
import com.jilongda.optometrist.model.TOptometryDetail;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ApiModel(value = "验光记录详情")
public class TDetailVO   {
    @ApiModelProperty(value = "客户信息-微信名称")
    private String name;
    @ApiModelProperty(value = "客户信息-微信绑定电话")
    private String phone;
    @ApiModelProperty(value = "客户信息-微信头像")
    private String avatar;
    @ApiModelProperty(value = "验光信息-姓名")
    private String realName;
    @ApiModelProperty(value = "验光信息-年龄")
    private Integer age;
    @ApiModelProperty(value = "验光信息-性别")
    private Integer gender;
    @ApiModelProperty(value = "客户信息-消费次数")
    private Integer saleCount;
    @ApiModelProperty(value = "客户信息-验光次数")
    private Integer optometryCount;
    @ApiModelProperty(value = "验光师姓名")
    private String optometristName;
    @ApiModelProperty(value = "门店")
    private String storeName;
    @ApiModelProperty(value = "验光详情")
    private List<TOptometryDetail> optometryDetailVOS;
    @ApiModelProperty(value = "验光时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;
}