Your Name преди 3 години
родител
ревизия
1fe1e28d65

+ 132 - 0
java110-bean/src/main/java/com/java110/dto/reserveGoods/ReserveGoodsDto.java

@@ -0,0 +1,132 @@
+package com.java110.dto.reserveGoods;
+
+import com.java110.dto.PageDto;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @ClassName FloorDto
+ * @Description 预约商品数据层封装
+ * @Author wuxw
+ * @Date 2019/4/24 8:52
+ * @Version 1.0
+ * add by wuxw 2019/4/24
+ **/
+public class ReserveGoodsDto extends PageDto implements Serializable {
+
+    private String endDate;
+private String goodsId;
+private String sort;
+private String type;
+private String imgUrl;
+private String catalogId;
+private String paramsId;
+private String price;
+private String state;
+private String communityId;
+private String goodsName;
+private String startDate;
+private String goodsDesc;
+
+
+    private Date createTime;
+
+    private String statusCd = "0";
+
+
+    public String getEndDate() {
+        return endDate;
+    }
+public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+public String getGoodsId() {
+        return goodsId;
+    }
+public void setGoodsId(String goodsId) {
+        this.goodsId = goodsId;
+    }
+public String getSort() {
+        return sort;
+    }
+public void setSort(String sort) {
+        this.sort = sort;
+    }
+public String getType() {
+        return type;
+    }
+public void setType(String type) {
+        this.type = type;
+    }
+public String getImgUrl() {
+        return imgUrl;
+    }
+public void setImgUrl(String imgUrl) {
+        this.imgUrl = imgUrl;
+    }
+public String getCatalogId() {
+        return catalogId;
+    }
+public void setCatalogId(String catalogId) {
+        this.catalogId = catalogId;
+    }
+public String getParamsId() {
+        return paramsId;
+    }
+public void setParamsId(String paramsId) {
+        this.paramsId = paramsId;
+    }
+public String getPrice() {
+        return price;
+    }
+public void setPrice(String price) {
+        this.price = price;
+    }
+public String getState() {
+        return state;
+    }
+public void setState(String state) {
+        this.state = state;
+    }
+public String getCommunityId() {
+        return communityId;
+    }
+public void setCommunityId(String communityId) {
+        this.communityId = communityId;
+    }
+public String getGoodsName() {
+        return goodsName;
+    }
+public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+public String getStartDate() {
+        return startDate;
+    }
+public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+public String getGoodsDesc() {
+        return goodsDesc;
+    }
+public void setGoodsDesc(String goodsDesc) {
+        this.goodsDesc = goodsDesc;
+    }
+
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getStatusCd() {
+        return statusCd;
+    }
+
+    public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+}

+ 131 - 0
java110-bean/src/main/java/com/java110/po/reserveGoods/ReserveGoodsPo.java

@@ -0,0 +1,131 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.po.reserveGoods;
+
+import java.io.Serializable;
+import java.util.Date;
+/**
+ * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+public class ReserveGoodsPo implements Serializable {
+
+    private String endDate;
+private String goodsId;
+private String statusCd = "0";
+private String sort;
+private String type;
+private String imgUrl;
+private String catalogId;
+private String paramsId;
+private String price;
+private String state;
+private String communityId;
+private String goodsName;
+private String startDate;
+private String goodsDesc;
+public String getEndDate() {
+        return endDate;
+    }
+public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+public String getGoodsId() {
+        return goodsId;
+    }
+public void setGoodsId(String goodsId) {
+        this.goodsId = goodsId;
+    }
+public String getStatusCd() {
+        return statusCd;
+    }
+public void setStatusCd(String statusCd) {
+        this.statusCd = statusCd;
+    }
+public String getSort() {
+        return sort;
+    }
+public void setSort(String sort) {
+        this.sort = sort;
+    }
+public String getType() {
+        return type;
+    }
+public void setType(String type) {
+        this.type = type;
+    }
+public String getImgUrl() {
+        return imgUrl;
+    }
+public void setImgUrl(String imgUrl) {
+        this.imgUrl = imgUrl;
+    }
+public String getCatalogId() {
+        return catalogId;
+    }
+public void setCatalogId(String catalogId) {
+        this.catalogId = catalogId;
+    }
+public String getParamsId() {
+        return paramsId;
+    }
+public void setParamsId(String paramsId) {
+        this.paramsId = paramsId;
+    }
+public String getPrice() {
+        return price;
+    }
+public void setPrice(String price) {
+        this.price = price;
+    }
+public String getState() {
+        return state;
+    }
+public void setState(String state) {
+        this.state = state;
+    }
+public String getCommunityId() {
+        return communityId;
+    }
+public void setCommunityId(String communityId) {
+        this.communityId = communityId;
+    }
+public String getGoodsName() {
+        return goodsName;
+    }
+public void setGoodsName(String goodsName) {
+        this.goodsName = goodsName;
+    }
+public String getStartDate() {
+        return startDate;
+    }
+public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+public String getGoodsDesc() {
+        return goodsDesc;
+    }
+public void setGoodsDesc(String goodsDesc) {
+        this.goodsDesc = goodsDesc;
+    }
+
+
+
+}

+ 178 - 0
java110-db/src/main/resources/mapper/store/ReserveGoodsV1ServiceDaoImplMapper.xml

@@ -0,0 +1,178 @@
+<?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="reserveGoodsV1ServiceDaoImpl">
+
+
+
+
+
+    <!-- 保存预约商品信息 add by wuxw 2018-07-03 -->
+    <insert id="saveReserveGoodsInfo" parameterType="Map">
+        insert into reserve_goods(
+end_date,goods_id,sort,type,img_url,catalog_id,params_id,price,state,community_id,goods_name,start_date,goods_desc
+) values (
+#{endDate},#{goodsId},#{sort},#{type},#{imgUrl},#{catalogId},#{paramsId},#{price},#{state},#{communityId},#{goodsName},#{startDate},#{goodsDesc}
+)
+    </insert>
+
+
+
+    <!-- 查询预约商品信息 add by wuxw 2018-07-03 -->
+    <select id="getReserveGoodsInfo" parameterType="Map" resultType="Map">
+        select  t.end_date,t.end_date endDate,t.goods_id,t.goods_id goodsId,t.status_cd,t.status_cd statusCd,t.sort,t.type,t.img_url,t.img_url imgUrl,t.catalog_id,t.catalog_id catalogId,t.params_id,t.params_id paramsId,t.price,t.state,t.community_id,t.community_id communityId,t.goods_name,t.goods_name goodsName,t.start_date,t.start_date startDate,t.goods_desc,t.goods_desc goodsDesc 
+from reserve_goods t 
+where 1 =1 
+<if test="endDate !=null and endDate != ''">
+   and t.end_date= #{endDate}
+</if> 
+<if test="goodsId !=null and goodsId != ''">
+   and t.goods_id= #{goodsId}
+</if> 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="sort !=null and sort != ''">
+   and t.sort= #{sort}
+</if> 
+<if test="type !=null and type != ''">
+   and t.type= #{type}
+</if> 
+<if test="imgUrl !=null and imgUrl != ''">
+   and t.img_url= #{imgUrl}
+</if> 
+<if test="catalogId !=null and catalogId != ''">
+   and t.catalog_id= #{catalogId}
+</if> 
+<if test="paramsId !=null and paramsId != ''">
+   and t.params_id= #{paramsId}
+</if> 
+<if test="price !=null and price != ''">
+   and t.price= #{price}
+</if> 
+<if test="state !=null and state != ''">
+   and t.state= #{state}
+</if> 
+<if test="communityId !=null and communityId != ''">
+   and t.community_id= #{communityId}
+</if> 
+<if test="goodsName !=null and goodsName != ''">
+   and t.goods_name= #{goodsName}
+</if> 
+<if test="startDate !=null and startDate != ''">
+   and t.start_date= #{startDate}
+</if> 
+<if test="goodsDesc !=null and goodsDesc != ''">
+   and t.goods_desc= #{goodsDesc}
+</if> 
+order by t.create_time desc
+<if test="page != -1 and page != null ">
+   limit #{page}, #{row}
+</if> 
+
+    </select>
+
+
+
+
+    <!-- 修改预约商品信息 add by wuxw 2018-07-03 -->
+    <update id="updateReserveGoodsInfo" parameterType="Map">
+        update  reserve_goods t set t.status_cd = #{statusCd}
+<if test="newBId != null and newBId != ''">
+,t.b_id = #{newBId}
+</if> 
+<if test="endDate !=null and endDate != ''">
+, t.end_date= #{endDate}
+</if> 
+<if test="sort !=null and sort != ''">
+, t.sort= #{sort}
+</if> 
+<if test="type !=null and type != ''">
+, t.type= #{type}
+</if> 
+<if test="imgUrl !=null and imgUrl != ''">
+, t.img_url= #{imgUrl}
+</if> 
+<if test="catalogId !=null and catalogId != ''">
+, t.catalog_id= #{catalogId}
+</if> 
+<if test="paramsId !=null and paramsId != ''">
+, t.params_id= #{paramsId}
+</if> 
+<if test="price !=null and price != ''">
+, t.price= #{price}
+</if> 
+<if test="state !=null and state != ''">
+, t.state= #{state}
+</if> 
+<if test="communityId !=null and communityId != ''">
+, t.community_id= #{communityId}
+</if> 
+<if test="goodsName !=null and goodsName != ''">
+, t.goods_name= #{goodsName}
+</if> 
+<if test="startDate !=null and startDate != ''">
+, t.start_date= #{startDate}
+</if> 
+<if test="goodsDesc !=null and goodsDesc != ''">
+, t.goods_desc= #{goodsDesc}
+</if> 
+ where 1=1 <if test="goodsId !=null and goodsId != ''">
+and t.goods_id= #{goodsId}
+</if> 
+
+    </update>
+
+    <!-- 查询预约商品数量 add by wuxw 2018-07-03 -->
+     <select id="queryReserveGoodssCount" parameterType="Map" resultType="Map">
+        select  count(1) count 
+from reserve_goods t 
+where 1 =1 
+<if test="endDate !=null and endDate != ''">
+   and t.end_date= #{endDate}
+</if> 
+<if test="goodsId !=null and goodsId != ''">
+   and t.goods_id= #{goodsId}
+</if> 
+<if test="statusCd !=null and statusCd != ''">
+   and t.status_cd= #{statusCd}
+</if> 
+<if test="sort !=null and sort != ''">
+   and t.sort= #{sort}
+</if> 
+<if test="type !=null and type != ''">
+   and t.type= #{type}
+</if> 
+<if test="imgUrl !=null and imgUrl != ''">
+   and t.img_url= #{imgUrl}
+</if> 
+<if test="catalogId !=null and catalogId != ''">
+   and t.catalog_id= #{catalogId}
+</if> 
+<if test="paramsId !=null and paramsId != ''">
+   and t.params_id= #{paramsId}
+</if> 
+<if test="price !=null and price != ''">
+   and t.price= #{price}
+</if> 
+<if test="state !=null and state != ''">
+   and t.state= #{state}
+</if> 
+<if test="communityId !=null and communityId != ''">
+   and t.community_id= #{communityId}
+</if> 
+<if test="goodsName !=null and goodsName != ''">
+   and t.goods_name= #{goodsName}
+</if> 
+<if test="startDate !=null and startDate != ''">
+   and t.start_date= #{startDate}
+</if> 
+<if test="goodsDesc !=null and goodsDesc != ''">
+   and t.goods_desc= #{goodsDesc}
+</if> 
+
+
+     </select>
+
+</mapper>

+ 68 - 0
java110-interface/src/main/java/com/java110/intf/store/IReserveGoodsV1InnerServiceSMO.java

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.intf.store;
+
+import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.reserveGoods.ReserveGoodsDto;
+import com.java110.po.reserveGoods.ReserveGoodsPo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.util.List;
+
+/**
+ * 类表述: 服务之前调用的接口类,不对外提供接口能力 只用于接口建调用
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@FeignClient(name = "store-service", configuration = {FeignConfiguration.class})
+@RequestMapping("/reserveGoodsV1Api")
+public interface IReserveGoodsV1InnerServiceSMO {
+
+
+    @RequestMapping(value = "/saveReserveGoods", method = RequestMethod.POST)
+    public int saveReserveGoods(@RequestBody  ReserveGoodsPo reserveGoodsPo);
+
+    @RequestMapping(value = "/updateReserveGoods", method = RequestMethod.POST)
+    public int updateReserveGoods(@RequestBody  ReserveGoodsPo reserveGoodsPo);
+
+    @RequestMapping(value = "/deleteReserveGoods", method = RequestMethod.POST)
+    public int deleteReserveGoods(@RequestBody  ReserveGoodsPo reserveGoodsPo);
+
+    /**
+     * <p>查询小区楼信息</p>
+     *
+     *
+     * @param reserveGoodsDto 数据对象分享
+     * @return ReserveGoodsDto 对象数据
+     */
+    @RequestMapping(value = "/queryReserveGoodss", method = RequestMethod.POST)
+    List<ReserveGoodsDto> queryReserveGoodss(@RequestBody ReserveGoodsDto reserveGoodsDto);
+
+    /**
+     * 查询<p>小区楼</p>总记录数
+     *
+     * @param reserveGoodsDto 数据对象分享
+     * @return 小区下的小区楼记录数
+     */
+    @RequestMapping(value = "/queryReserveGoodssCount", method = RequestMethod.POST)
+    int queryReserveGoodssCount(@RequestBody ReserveGoodsDto reserveGoodsDto);
+}

+ 70 - 0
service-store/src/main/java/com/java110/store/cmd/reserve/DeleteReserveGoodsCmd.java

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.cmd.reserve;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.intf.store.IReserveGoodsV1InnerServiceSMO;
+import com.java110.po.reserveGoods.ReserveGoodsPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ * 类表述:删除
+ * 服务编码:reserveGoods.deleteReserveGoods
+ * 请求路劲:/app/reserveGoods.DeleteReserveGoods
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "reserve.deleteReserveGoods")
+public class DeleteReserveGoodsCmd extends Cmd {
+  private static Logger logger = LoggerFactory.getLogger(DeleteReserveGoodsCmd.class);
+
+    @Autowired
+    private IReserveGoodsV1InnerServiceSMO reserveGoodsV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "goodsId", "goodsId不能为空");
+Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+       ReserveGoodsPo reserveGoodsPo = BeanConvertUtil.covertBean(reqJson, ReserveGoodsPo.class);
+        int flag = reserveGoodsV1InnerServiceSMOImpl.deleteReserveGoods(reserveGoodsPo);
+
+        if (flag < 1) {
+            throw new CmdException("删除数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 80 - 0
service-store/src/main/java/com/java110/store/cmd/reserve/ListReserveGoodsCmd.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.cmd.reserve;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.intf.store.IReserveGoodsV1InnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.java110.dto.reserveGoods.ReserveGoodsDto;
+import java.util.List;
+import java.util.ArrayList;
+import org.springframework.http.ResponseEntity;
+import org.springframework.http.HttpStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * 类表述:查询
+ * 服务编码:reserveGoods.listReserveGoods
+ * 请求路劲:/app/reserveGoods.ListReserveGoods
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "reserve.listReserveGoods")
+public class ListReserveGoodsCmd extends Cmd {
+
+  private static Logger logger = LoggerFactory.getLogger(ListReserveGoodsCmd.class);
+    @Autowired
+    private IReserveGoodsV1InnerServiceSMO reserveGoodsV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        super.validatePageInfo(reqJson);
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+           ReserveGoodsDto reserveGoodsDto = BeanConvertUtil.covertBean(reqJson, ReserveGoodsDto.class);
+
+           int count = reserveGoodsV1InnerServiceSMOImpl.queryReserveGoodssCount(reserveGoodsDto);
+
+           List<ReserveGoodsDto> reserveGoodsDtos = null;
+
+           if (count > 0) {
+               reserveGoodsDtos = reserveGoodsV1InnerServiceSMOImpl.queryReserveGoodss(reserveGoodsDto);
+           } else {
+               reserveGoodsDtos = new ArrayList<>();
+           }
+
+           ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, reserveGoodsDtos);
+
+           ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+           cmdDataFlowContext.setResponseEntity(responseEntity);
+    }
+}

+ 84 - 0
service-store/src/main/java/com/java110/store/cmd/reserve/SaveReserveGoodsCmd.java

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.cmd.reserve;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.intf.store.IReserveGoodsV1InnerServiceSMO;
+import com.java110.po.reserveGoods.ReserveGoodsPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 类表述:保存
+ * 服务编码:reserveGoods.saveReserveGoods
+ * 请求路劲:/app/reserveGoods.SaveReserveGoods
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "reserve.saveReserveGoods")
+public class SaveReserveGoodsCmd extends Cmd {
+
+    private static Logger logger = LoggerFactory.getLogger(SaveReserveGoodsCmd.class);
+
+    public static final String CODE_PREFIX_ID = "10";
+
+    @Autowired
+    private IReserveGoodsV1InnerServiceSMO reserveGoodsV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含communityId");
+Assert.hasKeyAndValue(reqJson, "catalogId", "请求报文中未包含catalogId");
+Assert.hasKeyAndValue(reqJson, "goodsName", "请求报文中未包含goodsName");
+Assert.hasKeyAndValue(reqJson, "goodsDesc", "请求报文中未包含goodsDesc");
+Assert.hasKeyAndValue(reqJson, "type", "请求报文中未包含type");
+Assert.hasKeyAndValue(reqJson, "paramsId", "请求报文中未包含paramsId");
+Assert.hasKeyAndValue(reqJson, "price", "请求报文中未包含price");
+Assert.hasKeyAndValue(reqJson, "startDate", "请求报文中未包含startDate");
+Assert.hasKeyAndValue(reqJson, "endDate", "请求报文中未包含endDate");
+Assert.hasKeyAndValue(reqJson, "imgUrl", "请求报文中未包含imgUrl");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+       ReserveGoodsPo reserveGoodsPo = BeanConvertUtil.covertBean(reqJson, ReserveGoodsPo.class);
+        reserveGoodsPo.setGoodsId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        int flag = reserveGoodsV1InnerServiceSMOImpl.saveReserveGoods(reserveGoodsPo);
+
+        if (flag < 1) {
+            throw new CmdException("保存数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 74 - 0
service-store/src/main/java/com/java110/store/cmd/reserve/UpdateReserveGoodsCmd.java

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.cmd.reserve;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.intf.store.IReserveGoodsV1InnerServiceSMO;
+import com.java110.po.reserveGoods.ReserveGoodsPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * 类表述:更新
+ * 服务编码:reserveGoods.updateReserveGoods
+ * 请求路劲:/app/reserveGoods.UpdateReserveGoods
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Java110Cmd(serviceCode = "reserve.updateReserveGoods")
+public class UpdateReserveGoodsCmd extends Cmd {
+
+    private static Logger logger = LoggerFactory.getLogger(UpdateReserveGoodsCmd.class);
+
+
+    @Autowired
+    private IReserveGoodsV1InnerServiceSMO reserveGoodsV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "goodsId", "goodsId不能为空");
+        Assert.hasKeyAndValue(reqJson, "communityId", "communityId不能为空");
+
+    }
+
+    @Override
+    @Java110Transactional
+    public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        ReserveGoodsPo reserveGoodsPo = BeanConvertUtil.covertBean(reqJson, ReserveGoodsPo.class);
+        int flag = reserveGoodsV1InnerServiceSMOImpl.updateReserveGoods(reserveGoodsPo);
+
+        if (flag < 1) {
+            throw new CmdException("更新数据失败");
+        }
+
+        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+    }
+}

+ 77 - 0
service-store/src/main/java/com/java110/store/dao/IReserveGoodsV1ServiceDao.java

@@ -0,0 +1,77 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.dao;
+
+
+import com.java110.utils.exception.DAOException;
+import com.java110.entity.merchant.BoMerchant;
+import com.java110.entity.merchant.BoMerchantAttr;
+import com.java110.entity.merchant.Merchant;
+import com.java110.entity.merchant.MerchantAttr;
+
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述:
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+public interface IReserveGoodsV1ServiceDao {
+
+
+    /**
+     * 保存 预约商品信息
+     * @param info
+     * @throws DAOException DAO异常
+     */
+    int saveReserveGoodsInfo(Map info) throws DAOException;
+
+
+
+
+    /**
+     * 查询预约商品信息(instance过程)
+     * 根据bId 查询预约商品信息
+     * @param info bId 信息
+     * @return 预约商品信息
+     * @throws DAOException DAO异常
+     */
+    List<Map> getReserveGoodsInfo(Map info) throws DAOException;
+
+
+
+    /**
+     * 修改预约商品信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    int updateReserveGoodsInfo(Map info) throws DAOException;
+
+
+    /**
+     * 查询预约商品总数
+     *
+     * @param info 预约商品信息
+     * @return 预约商品数量
+     */
+    int queryReserveGoodssCount(Map info);
+
+}

+ 112 - 0
service-store/src/main/java/com/java110/store/dao/impl/ReserveGoodsV1ServiceDaoImpl.java

@@ -0,0 +1,112 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.dao.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.DAOException;
+import com.java110.utils.util.DateUtil;
+import com.java110.core.base.dao.BaseServiceDao;
+import com.java110.store.dao.IReserveGoodsV1ServiceDao;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 类表述:
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@Service("reserveGoodsV1ServiceDaoImpl")
+public class ReserveGoodsV1ServiceDaoImpl extends BaseServiceDao implements IReserveGoodsV1ServiceDao {
+
+    private static Logger logger = LoggerFactory.getLogger(ReserveGoodsV1ServiceDaoImpl.class);
+
+
+
+
+
+    /**
+     * 保存预约商品信息 到 instance
+     * @param info   bId 信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int saveReserveGoodsInfo(Map info) throws DAOException {
+        logger.debug("保存 saveReserveGoodsInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.insert("reserveGoodsV1ServiceDaoImpl.saveReserveGoodsInfo",info);
+
+        return saveFlag;
+    }
+
+
+    /**
+     * 查询预约商品信息(instance)
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public List<Map> getReserveGoodsInfo(Map info) throws DAOException {
+        logger.debug("查询 getReserveGoodsInfo 入参 info : {}",info);
+
+        List<Map> businessReserveGoodsInfos = sqlSessionTemplate.selectList("reserveGoodsV1ServiceDaoImpl.getReserveGoodsInfo",info);
+
+        return businessReserveGoodsInfos;
+    }
+
+
+    /**
+     * 修改预约商品信息
+     * @param info 修改信息
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int updateReserveGoodsInfo(Map info) throws DAOException {
+        logger.debug("修改 updateReserveGoodsInfo 入参 info : {}",info);
+
+        int saveFlag = sqlSessionTemplate.update("reserveGoodsV1ServiceDaoImpl.updateReserveGoodsInfo",info);
+
+        return saveFlag;
+    }
+
+     /**
+     * 查询预约商品数量
+     * @param info 预约商品信息
+     * @return 预约商品数量
+     */
+    @Override
+    public int queryReserveGoodssCount(Map info) {
+        logger.debug("查询 queryReserveGoodssCount 入参 info : {}",info);
+
+        List<Map> businessReserveGoodsInfos = sqlSessionTemplate.selectList("reserveGoodsV1ServiceDaoImpl.queryReserveGoodssCount", info);
+        if (businessReserveGoodsInfos.size() < 1) {
+            return 0;
+        }
+
+        return Integer.parseInt(businessReserveGoodsInfos.get(0).get("count").toString());
+    }
+
+
+}

+ 89 - 0
service-store/src/main/java/com/java110/store/smo/impl/ReserveGoodsV1InnerServiceSMOImpl.java

@@ -0,0 +1,89 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.store.smo.impl;
+
+
+import com.java110.store.dao.IReserveGoodsV1ServiceDao;
+import com.java110.intf.store.IReserveGoodsV1InnerServiceSMO;
+import com.java110.dto.reserveGoods.ReserveGoodsDto;
+import com.java110.po.reserveGoods.ReserveGoodsPo;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.user.UserDto;
+import com.java110.dto.PageDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 类表述: 服务之前调用的接口实现类,不对外提供接口能力 只用于接口建调用
+ * add by 吴学文 at 2022-12-05 18:25:18 mail: 928255095@qq.com
+ * open source address: https://gitee.com/wuxw7/MicroCommunity
+ * 官网:http://www.homecommunity.cn
+ * 温馨提示:如果您对此文件进行修改 请不要删除原有作者及注释信息,请补充您的 修改的原因以及联系邮箱如下
+ * // modify by 张三 at 2021-09-12 第10行在某种场景下存在某种bug 需要修复,注释10至20行 加入 20行至30行
+ */
+@RestController
+public class ReserveGoodsV1InnerServiceSMOImpl extends BaseServiceSMO implements IReserveGoodsV1InnerServiceSMO {
+
+    @Autowired
+    private IReserveGoodsV1ServiceDao reserveGoodsV1ServiceDaoImpl;
+
+
+    @Override
+    public int saveReserveGoods(@RequestBody  ReserveGoodsPo reserveGoodsPo) {
+        int saveFlag = reserveGoodsV1ServiceDaoImpl.saveReserveGoodsInfo(BeanConvertUtil.beanCovertMap(reserveGoodsPo));
+        return saveFlag;
+    }
+
+     @Override
+    public int updateReserveGoods(@RequestBody  ReserveGoodsPo reserveGoodsPo) {
+        int saveFlag = reserveGoodsV1ServiceDaoImpl.updateReserveGoodsInfo(BeanConvertUtil.beanCovertMap(reserveGoodsPo));
+        return saveFlag;
+    }
+
+     @Override
+    public int deleteReserveGoods(@RequestBody  ReserveGoodsPo reserveGoodsPo) {
+       reserveGoodsPo.setStatusCd("1");
+       int saveFlag = reserveGoodsV1ServiceDaoImpl.updateReserveGoodsInfo(BeanConvertUtil.beanCovertMap(reserveGoodsPo));
+       return saveFlag;
+    }
+
+    @Override
+    public List<ReserveGoodsDto> queryReserveGoodss(@RequestBody  ReserveGoodsDto reserveGoodsDto) {
+
+        //校验是否传了 分页信息
+
+        int page = reserveGoodsDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            reserveGoodsDto.setPage((page - 1) * reserveGoodsDto.getRow());
+        }
+
+        List<ReserveGoodsDto> reserveGoodss = BeanConvertUtil.covertBeanList(reserveGoodsV1ServiceDaoImpl.getReserveGoodsInfo(BeanConvertUtil.beanCovertMap(reserveGoodsDto)), ReserveGoodsDto.class);
+
+        return reserveGoodss;
+    }
+
+
+    @Override
+    public int queryReserveGoodssCount(@RequestBody ReserveGoodsDto reserveGoodsDto) {
+        return reserveGoodsV1ServiceDaoImpl.queryReserveGoodssCount(BeanConvertUtil.beanCovertMap(reserveGoodsDto));    }
+
+}