请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

设置判断库存,但是订单出现超过十个。

老师,我设置了判断库存条件,但是发现订单不止10个,这是因为减库存之后并没有在影响行数大于1的情况下进行创建订单吗?但是我改了修改库存返回影响行数,好像也不行,能告诉我这是为啥不?老师。我理解数据库修改时加锁,然后当返回值大于0时进行创建订单是可行的。

正在回答

1回答

sql语句发一下看看

0 回复 有任何疑惑可以回复我~
  • 提问者 爱学习的plhh #1
    减库存:   
     <update id="updateByGoodsId" parameterType="com.wyp.entity.MSGoods">
            update miaosha_goods
            set
              stock_count = #{stockCount,jdbcType=INTEGER}
            where goods_id = #{goodsId,jdbcType=BIGINT} and  stock_count > 0
        </update>
    回复 有任何疑惑可以回复我~ 2020-05-04 15:49:26
  • 提问者 爱学习的plhh #2
    生成订单:
        <insert id="insert" parameterType="com.wyp.entity.OrderInfo"  >
            <selectKey resultType="long" keyProperty="id" order="AFTER">
                select last_insert_id()
            </selectKey>
            insert into order_info (id, user_id, goods_id,
            delivery_addr_id, goods_name, goods_count,
            goods_price, order_channel, status,
            create_date, pay_date)
            values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{goodsId,jdbcType=BIGINT},
            #{deliveryAddrId,jdbcType=BIGINT}, #{goodsName,jdbcType=VARCHAR}, #{goodsCount,jdbcType=INTEGER},
            #{goodsPrice,jdbcType=DECIMAL}, #{orderChannel,jdbcType=TINYINT}, #{status,jdbcType=TINYINT},
            #{createDate,jdbcType=TIMESTAMP}, #{payDate,jdbcType=TIMESTAMP})
        </insert>
    	
      <insert id="insert" parameterType="com.wyp.entity.MSOrder" >
        insert into miaosha_order (id, user_id, order_id,
          goods_id)
        values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{orderId,jdbcType=BIGINT}, 
          #{goodsId,jdbcType=BIGINT})
      </insert>
    回复 有任何疑惑可以回复我~ 2020-05-04 15:49:50
  • 代码再发下
    回复 有任何疑惑可以回复我~ 2020-05-04 15:52:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信