ylb-接口2首页产品数据和接口3产品列表

news/2024/12/30 4:25:16/

总览:
在这里插入图片描述
在这里插入图片描述

1、service处理(分页查询)

在api模块下service包,创建一个产品接口ProductService:(目前方法为分页查询queryByTypeLimit(Integer pType,Integer pageNo,Integer pageSize))

package com.bjpowernode.api.service;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.MultiProduct;import java.util.List;/*** 产品接口*/
public interface ProductService {/*根据产品类型,查询产品,支持分页*/List<ProductInfo> queryByTypeLimit(Integer pType,Integer pageNo,Integer pageSize);/*某个产品类型的记录总数*/Integer queryRecordNumsByType(Integer pType);/*首页的多个产品数据*/MultiProduct queryIndexPageProducts();/** 根据产品id ,查询产品信息 */ProductInfo queryById(Integer id);}

2、serviceImpl处理(分页查询)

在dataservice模块service包,实现ProductService接口,创建ProductServiceImpl实现类:(这里实现分页查询queryByTypeLimit)
步骤:
1、暴露dubbo服务
2、使用@Resource,注入需要的Mapper对象
3、实现接口的方法(分页查询queryByTypeLimit(Integer pType, Integer pageNo, Integer pageSize))
4、对页数返回的参数做校验处理(比如:产品类型符合;页数大于0且为1开始)
5、产品类型符合if( pType == 0 || pType == 1 || pType == 2)
在这里插入图片描述
6、页数校验
在common模块util包,创建一个工具类CommonUtil类:(这里设计处理pageNo和处理pageSize,不存在或值小于1,默认等于1)

package com.bjpowernode.common.util;import java.math.BigDecimal;
import java.util.regex.Pattern;public class CommonUtil {/*处理pageNo*/public static int defaultPageNo(Integer pageNo) {int pNo = pageNo;if (pageNo == null || pageNo < 1) {pNo = 1;}return pNo;}/*处理pageSize*/public static int defaultPageSize(Integer pageSize) {int pSize = pageSize;if (pageSize == null || pageSize < 1) {pSize = 1;}return pSize;}/*手机号脱敏*/public static String tuoMinPhone(String phone) {String result = "***********";if (phone != null && phone.trim().length() == 11) {result = phone.substring(0,3) + "******" + phone.substring(9,11);}return result;}/*手机号格式 true:格式正确;false不正确*/public static boolean checkPhone(String phone){boolean flag = false;if( phone != null && phone.length() == 11 ){//^1[1-9]\\d{9}$flag = Pattern.matches("^1[1-9]\\d{9}$",phone);}return flag;}/*比较BigDecimal  n1 >=n2 :true ,false*/public static boolean ge(BigDecimal n1, BigDecimal n2){if( n1 == null || n2 == null){throw new RuntimeException("参数BigDecimal是null");}return  n1.compareTo(n2) >= 0;}
}

7、生成并返回三个值的集中对象:(return productInfos)

class ProductServiceImpl:

package com.bjpowernode.dataservice.service;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.MultiProduct;
import com.bjpowernode.api.service.ProductService;
import com.bjpowernode.common.constants.YLBConstant;
import com.bjpowernode.common.util.CommonUtil;
import com.bjpowernode.dataservice.mapper.ProductInfoMapper;
import org.apache.dubbo.config.annotation.DubboService;import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;@DubboService(interfaceClass = ProductService.class,version = "1.0")
public class ProductServiceImpl implements ProductService {@Resourceprivate ProductInfoMapper productInfoMapper;/*按类型分页查询产品*/@Overridepublic List<ProductInfo> queryByTypeLimit(Integer pType, Integer pageNo, Integer pageSize) {List<ProductInfo> productInfos = new ArrayList<>();if( pType == 0 || pType == 1 || pType == 2){pageNo = CommonUtil.defaultPageNo(pageNo);pageSize = CommonUtil.defaultPageSize(pageSize);int offset  = (pageNo - 1) * pageSize;productInfos = productInfoMapper.selectByTypeLimit(pType, offset, pageSize);}return productInfos;}/*某个产品类型的记录总数*/@Overridepublic Integer queryRecordNumsByType(Integer pType) {Integer counts = 0;if( pType == 0 || pType == 1 || pType == 2){counts  = productInfoMapper.selectCountByType(pType);}return counts;}/*首页的多个产品数据*/@Overridepublic MultiProduct queryIndexPageProducts() {MultiProduct result = new MultiProduct();//查询新手宝List<ProductInfo> xinShouBaoList  = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_XINSHOUBAO,0,1);//查询优选List<ProductInfo> youXuanList = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_YOUXUAN,0,3 );//散标List<ProductInfo> sanBiaoList = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_SANBIAO,0,3 );result.setXinShouBao(xinShouBaoList);result.setYouXuan(youXuanList);result.setSanBiao(sanBiaoList);return result;}/** 根据产品id ,查询产品信息 */@Overridepublic ProductInfo queryById(Integer id) {ProductInfo productInfo = null;if( id != null && id > 0 ){productInfo = productInfoMapper.selectByPrimaryKey(id);}return productInfo;}}

其中:
按产品类型分页查询:(需要在dataservice模块mapper包下的ProductInfoMapper接口添加方法,并在resources/mappers/ProductInfoMapper.xml编写SQL语句):

    /*按产品类型分页查询*/List<ProductInfo> selectByTypeLimit(@Param("ptype") Integer ptype,@Param("offset") Integer offset,@Param("rows") Integer rows);
  <!--按产品类型分页查询--><select id="selectByTypeLimit" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from b_product_infowhere product_type = #{ptype}order by release_time desclimit #{offset},#{rows}</select>

3、pojo处理(三类产品数据)

在api模块下pojo包,创建一个多个产品数据MultiProduct类:

package com.bjpowernode.api.pojo;import com.bjpowernode.api.model.ProductInfo;import java.io.Serializable;
import java.util.List;/*** 多个产品数据*/
public class MultiProduct implements Serializable {private List<ProductInfo> xinShouBao;private List<ProductInfo> youXuan;private List<ProductInfo> sanBiao;public List<ProductInfo> getXinShouBao() {return xinShouBao;}public void setXinShouBao(List<ProductInfo> xinShouBao) {this.xinShouBao = xinShouBao;}public List<ProductInfo> getYouXuan() {return youXuan;}public void setYouXuan(List<ProductInfo> youXuan) {this.youXuan = youXuan;}public List<ProductInfo> getSanBiao() {return sanBiao;}public void setSanBiao(List<ProductInfo> sanBiao) {this.sanBiao = sanBiao;}
}

4、service处理(查询三类产品数据)

在api模块下service包,产品接口ProductService添加方法:(目前方法:首页的多个产品数据queryIndexPageProducts())

package com.bjpowernode.api.service;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.MultiProduct;import java.util.List;/*** 产品接口*/
public interface ProductService {/*根据产品类型,查询产品,支持分页*/List<ProductInfo> queryByTypeLimit(Integer pType,Integer pageNo,Integer pageSize);/*某个产品类型的记录总数*/Integer queryRecordNumsByType(Integer pType);/*首页的多个产品数据*/MultiProduct queryIndexPageProducts();/** 根据产品id ,查询产品信息 */ProductInfo queryById(Integer id);}

5、serviceImpl处理(查询三类产品数据)

1、暴露dubbo服务
2、使用@Resource,注入需要的Mapper对象
3、实现接口的方法(queryIndexPageProducts())
4、生成并返回三个值的集中对象:(return result)

package com.bjpowernode.dataservice.service;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.MultiProduct;
import com.bjpowernode.api.service.ProductService;
import com.bjpowernode.common.constants.YLBConstant;
import com.bjpowernode.common.util.CommonUtil;
import com.bjpowernode.dataservice.mapper.ProductInfoMapper;
import org.apache.dubbo.config.annotation.DubboService;import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;@DubboService(interfaceClass = ProductService.class,version = "1.0")
public class ProductServiceImpl implements ProductService {@Resourceprivate ProductInfoMapper productInfoMapper;/*按类型分页查询产品*/@Overridepublic List<ProductInfo> queryByTypeLimit(Integer pType, Integer pageNo, Integer pageSize) {List<ProductInfo> productInfos = new ArrayList<>();if( pType == 0 || pType == 1 || pType == 2){pageNo = CommonUtil.defaultPageNo(pageNo);pageSize = CommonUtil.defaultPageSize(pageSize);int offset  = (pageNo - 1) * pageSize;productInfos = productInfoMapper.selectByTypeLimit(pType, offset, pageSize);}return productInfos;}/*某个产品类型的记录总数*/@Overridepublic Integer queryRecordNumsByType(Integer pType) {Integer counts = 0;if( pType == 0 || pType == 1 || pType == 2){counts  = productInfoMapper.selectCountByType(pType);}return counts;}/*首页的多个产品数据*/@Overridepublic MultiProduct queryIndexPageProducts() {MultiProduct result = new MultiProduct();//查询新手宝List<ProductInfo> xinShouBaoList  = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_XINSHOUBAO,0,1);//查询优选List<ProductInfo> youXuanList = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_YOUXUAN,0,3 );//散标List<ProductInfo> sanBiaoList = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_SANBIAO,0,3 );result.setXinShouBao(xinShouBaoList);result.setYouXuan(youXuanList);result.setSanBiao(sanBiaoList);return result;}/** 根据产品id ,查询产品信息 */@Overridepublic ProductInfo queryById(Integer id) {ProductInfo productInfo = null;if( id != null && id > 0 ){productInfo = productInfoMapper.selectByPrimaryKey(id);}return productInfo;}}

其中:
1、按产品类型分页查询:(需要在dataservice模块mapper包下的ProductInfoMapper接口添加方法,并在resources/mappers/ProductInfoMapper.xml编写SQL语句):

    /*按产品类型分页查询*/List<ProductInfo> selectByTypeLimit(@Param("ptype") Integer ptype,@Param("offset") Integer offset,@Param("rows") Integer rows);
  <!--按产品类型分页查询--><select id="selectByTypeLimit" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from b_product_infowhere product_type = #{ptype}order by release_time desclimit #{offset},#{rows}</select>

2、在common模块constants包,创建一个常量类YLBConstant:(这里:产品类型)

package com.bjpowernode.common.constants;/*** 常量类*/
public class YLBConstant {/*****产品类型*********///新手宝public static final  int PRODUCT_TYPE_XINSHOUBAO =  0;//优选public static final  int PRODUCT_TYPE_YOUXUAN = 1;//散标public static final  int PRODUCT_TYPE_SANBIAO = 2;/*****产品状态*****///未满标public static final int PRODUCT_STATUS_SELLING = 0;//满标public static final int PRODUCT_STATUS_SELLED = 1;//收益计划public static final int PRODUCT_STATUS_PLAN = 2;/*****投资状态*****///投资成功public static final int INVEST_STATUS_SUCC = 1;//投资失败public static final int INVEST_STATUS_FAIL = 2;/*****收益状态*****///生成收益计划public static final  int INCOME_STATUS_PLAN = 0;//收益返还public static final  int INCOME_STATUS_BACK = 1;/*充值状态*//*充值中*/public static final  int RECHARGE_STATUS_PROCESSING = 0;//成功public static final  int RECHARGE_STATUS_SUCCESS = 1;//失败public static final  int RECHARGE_STATUS_FAIL = 2;
}

6、service处理(某个产品类型的记录总数)

在api模块下service包,产品接口ProductService添加方法:(目前方法:某个产品类型的记录总数queryRecordNumsByType(Integer pType))

package com.bjpowernode.api.service;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.MultiProduct;import java.util.List;/*** 产品接口*/
public interface ProductService {/*根据产品类型,查询产品,支持分页*/List<ProductInfo> queryByTypeLimit(Integer pType,Integer pageNo,Integer pageSize);/*某个产品类型的记录总数*/Integer queryRecordNumsByType(Integer pType);/*首页的多个产品数据*/MultiProduct queryIndexPageProducts();/** 根据产品id ,查询产品信息 */ProductInfo queryById(Integer id);}

7、serviceImpl处理(某个产品类型的记录总数)

1、暴露dubbo服务
2、使用@Resource,注入需要的Mapper对象
3、实现接口的方法(queryRecordNumsByType(Integer pType),产品类型检验)
4、生成并返回三个值的集中对象:(return counts)

package com.bjpowernode.dataservice.service;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.MultiProduct;
import com.bjpowernode.api.service.ProductService;
import com.bjpowernode.common.constants.YLBConstant;
import com.bjpowernode.common.util.CommonUtil;
import com.bjpowernode.dataservice.mapper.ProductInfoMapper;
import org.apache.dubbo.config.annotation.DubboService;import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;@DubboService(interfaceClass = ProductService.class,version = "1.0")
public class ProductServiceImpl implements ProductService {@Resourceprivate ProductInfoMapper productInfoMapper;/*按类型分页查询产品*/@Overridepublic List<ProductInfo> queryByTypeLimit(Integer pType, Integer pageNo, Integer pageSize) {List<ProductInfo> productInfos = new ArrayList<>();if( pType == 0 || pType == 1 || pType == 2){pageNo = CommonUtil.defaultPageNo(pageNo);pageSize = CommonUtil.defaultPageSize(pageSize);int offset  = (pageNo - 1) * pageSize;productInfos = productInfoMapper.selectByTypeLimit(pType, offset, pageSize);}return productInfos;}/*某个产品类型的记录总数*/@Overridepublic Integer queryRecordNumsByType(Integer pType) {Integer counts = 0;if( pType == 0 || pType == 1 || pType == 2){counts  = productInfoMapper.selectCountByType(pType);}return counts;}/*首页的多个产品数据*/@Overridepublic MultiProduct queryIndexPageProducts() {MultiProduct result = new MultiProduct();//查询新手宝List<ProductInfo> xinShouBaoList  = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_XINSHOUBAO,0,1);//查询优选List<ProductInfo> youXuanList = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_YOUXUAN,0,3 );//散标List<ProductInfo> sanBiaoList = productInfoMapper.selectByTypeLimit(YLBConstant.PRODUCT_TYPE_SANBIAO,0,3 );result.setXinShouBao(xinShouBaoList);result.setYouXuan(youXuanList);result.setSanBiao(sanBiaoList);return result;}/** 根据产品id ,查询产品信息 */@Overridepublic ProductInfo queryById(Integer id) {ProductInfo productInfo = null;if( id != null && id > 0 ){productInfo = productInfoMapper.selectByPrimaryKey(id);}return productInfo;}}

其中:
1、某个产品类型的记录总数:(需要在dataservice模块mapper包下的ProductInfoMapper接口添加方法,并在resources/mappers/ProductInfoMapper.xml编写SQL语句):

    /*某个产品类型的记录总数*/Integer selectCountByType(@Param("ptype") Integer pType);
  <!--某个产品类型的记录总数--><select id="selectCountByType" resultType="java.lang.Integer">select count(id) as nums from b_product_info where product_type = #{ptype}</select>

8、controller处理

在web模块下controller包,公用类BaseController添加对象(产品服务):

package com.bjpowernode.front.controller;import com.bjpowernode.api.service.*;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.data.redis.core.StringRedisTemplate;import javax.annotation.Resource;/*** 公用controller类*/
public class BaseController {//声明公共的方法,属性的等@Resourceprotected StringRedisTemplate stringRedisTemplate;//平台信息服务@DubboReference(interfaceClass = PlatBaseInfoService.class,version = "1.0")protected PlatBaseInfoService platBaseInfoService;//产品服务@DubboReference(interfaceClass = ProductService.class,version = "1.0")protected ProductService productService;//投资服务@DubboReference(interfaceClass = InvestService.class,version = "1.0")protected InvestService investService;//用户服务@DubboReference(interfaceClass = UserService.class,version = "1.0")protected UserService userService;//充值服务@DubboReference(interfaceClass = RechargeService.class,version = "1.0")protected RechargeService rechargeService;
}

在web模块下controller包,创建一个ProductController类:

package com.bjpowernode.front.controller;import com.bjpowernode.api.model.ProductInfo;
import com.bjpowernode.api.pojo.BidInfoProduct;
import com.bjpowernode.api.pojo.MultiProduct;
import com.bjpowernode.common.enums.RCode;
import com.bjpowernode.common.util.CommonUtil;
import com.bjpowernode.front.view.PageInfo;
import com.bjpowernode.front.view.RespResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;import java.util.List;@Api(tags = "理财产品功能")
@RestController
@RequestMapping("/v1")
public class ProductController extends BaseController {/*首页三类产品列表*/@ApiOperation(value = "首页三类产品列表",notes = "一个新手宝,三个优选,三个散标产品")@GetMapping("/product/index")public RespResult queryProductIndex(){RespResult result = RespResult.ok();MultiProduct multiProduct = productService.queryIndexPageProducts();result.setData(multiProduct);return result;}/*按产品类型分页查询*/@ApiOperation(value = "产品分页查询",notes = "按产品类型分页查询")@GetMapping("/product/list")public RespResult queryProductByType(@RequestParam("ptype") Integer pType,@RequestParam(value = "pageNo",required = false,defaultValue = "1") Integer pageNo,@RequestParam(value = "pageSize",required = false,defaultValue = "9") Integer pageSize){RespResult result = RespResult.fail();if(pType != null && (pType == 0 || pType == 1 || pType == 2)){pageNo = CommonUtil.defaultPageNo(pageNo);pageSize = CommonUtil.defaultPageSize(pageSize);//分页处理,记录总数Integer recordNums = productService.queryRecordNumsByType(pType);if( recordNums > 0 ){//产品集合List<ProductInfo> productInfos = productService.queryByTypeLimit(pType,pageNo,pageSize);//构建PageInfoPageInfo page = new PageInfo(pageNo,pageSize,recordNums);result = RespResult.ok();result.setList(productInfos);result.setPage(page);}} else {//请求参数有误result.setRCode(RCode.REQUEST_PRODUCT_TYPE_ERR);}return result;}/*查询某个产品的详情和投资记录*/@ApiOperation(value = "产品详情",notes = "查询某个产品的详细信息和投资5条记录")@GetMapping("/product/info")public RespResult queryProductDetail(@RequestParam("productId") Integer id){RespResult result = RespResult.fail();if( id != null && id > 0 ){//调用产品查询ProductInfo productInfo = productService.queryById(id);if( productInfo != null){//查询投资记录List<BidInfoProduct> bidInfoList = investService.queryBidListByProductId(id,1,5);//查询成功result = RespResult.ok();result.setData(productInfo);result.setList(bidInfoList);} else {result.setRCode(RCode.PRODUCT_OFFLINE);}}return result;}}

结果集处理

其中:
1、在web模块下view包,应答结果类RespResult添加一些对象:(成功和失败的RespResult对象、集合list对象、分页对象pageInfo)

package com.bjpowernode.front.view;import com.bjpowernode.common.enums.RCode;
import com.sun.javaws.jnl.RContentDesc;import java.sql.ResultSet;
import java.util.List;/*** 同一的应答结果。 controller方法的返回值都是它*/
public class RespResult {//应答码,自定义的数字private int code;//code的文字说明,一般做提示给用户看private String msg;//访问tokenprivate String accessToken;//单个数据private Object data;//集合数据private List list;//分页private PageInfo page;//表示成功的RespResult对象public static RespResult ok(){RespResult result = new RespResult();result.setRCode(RCode.SUCC);return result;}//表示失败的RespResult对象public static RespResult fail(){RespResult result = new RespResult();result.setRCode(RCode.UNKOWN);return result;}public void setRCode(RCode rcode){this.code = rcode.getCode();this.msg = rcode.getText();}public String getAccessToken() {return accessToken;}public void setAccessToken(String accessToken) {this.accessToken = accessToken;}public List getList() {return list;}public void setList(List list) {this.list = list;}public PageInfo getPage() {return page;}public void setPage(PageInfo page) {this.page = page;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}
}

分页数据类PageInfo

2、在web模块view包,创建一个分页数据类PageInfo:(除了构造页号、每页大小,还能计算总页数)
// 建议使用分页插件

package com.bjpowernode.front.view;/*** 分页数据类*/
public class PageInfo {//页号private Integer pageNo;//每页大小private Integer pageSize;//总页数private Integer totalPage;//总记录数private Integer totalRecord;public PageInfo() {}public PageInfo(Integer pageNo, Integer pageSize, Integer totalRecord) {this.pageNo = pageNo;this.pageSize = pageSize;this.totalRecord = totalRecord;//计算总页数if( this.totalRecord % this.pageSize  == 0 ){this.totalPage = this.totalRecord / this.pageSize;} else {this.totalPage = this.totalRecord / this.pageSize + 1;}}public Integer getPageNo() {return pageNo;}public void setPageNo(Integer pageNo) {this.pageNo = pageNo;}public Integer getPageSize() {return pageSize;}public void setPageSize(Integer pageSize) {this.pageSize = pageSize;}public Integer getTotalPage() {return totalPage;}public void setTotalPage(Integer totalPage) {this.totalPage = totalPage;}public Integer getTotalRecord() {return totalRecord;}public void setTotalRecord(Integer totalRecord) {this.totalRecord = totalRecord;}
}

枚举应答码

3、在common模块enums包,创建一个枚举应答码RCode:

package com.bjpowernode.common.enums;/*** 枚举应答码*/
public enum RCode {UNKOWN(0,"请稍候重试"),SUCC(1000,"请求成功"),REQUEST_PARAM_ERR(1001,"请求参数有误"),REQUEST_PRODUCT_TYPE_ERR(1002,"产品类型有误"),PRODUCT_OFFLINE(1003,"产品已经下线"),PHONE_FORMAT_ERR(1004,"手机号格式不正确"),PHONE_EXISTS(1005,"手机号已经注册过"),SMS_CODE_CAN_USE(1006,"验证码可以继续使用"),SMS_CODE_INVALID(1007,"验证码无效"),PHONE_LOGIN_PASSWORD_INVALID(1008,"手机号或者密码无效"),REALNAME_FAIL(1009,"实名认证无效"),REALNAME_RETRY(1010,"已经通过实名认证"),TOKEN_INVALID(3000,"token无效"),;RCode(int c, String t){this.code = c;this.text = t;}/**应答码* 0:默认* 1000-2000是请求参数有误,逻辑的问题* 2000-3000是服务器请求错误。* 3000-4000是访问dubbo的应答结果*/private int code;private String text;public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getText() {return text;}public void setText(String text) {this.text = text;}
}

http://www.ppmy.cn/news/950638.html

相关文章

VUE实现当前页面刷新的七种方法

使用 location.reload() 方法进行页面刷新。 使用 location.reload() 方法可以简单地实现当前页面的刷新&#xff0c;这个方法会重新加载当前页面&#xff0c;类似于用户点击浏览器的刷新按钮。 在 Vue 中&#xff0c;可以将该方法绑定到 Vue 实例上&#xff0c;比如在 Vue 的 …

ChatGPT写python代码实录

ChatGPT写python代码实录 print(hello world) 众所周知&#xff0c;咱们程序员学习编程是为了世界好。 所以&#xff0c;咱们就从hello world开始。 然后是一个杨辉三角 def generate_triangle(n):triangle [] ​for i in range(n):row [1] * (i 1)for j in range(1, i):r…

15个借助AI,ChatGPT自动写代码工具

整理了15个借助AI和ChatGPT辅助我们自动写代码的工具&#xff0c;整理到 15个借助AI,ChatGPT自动写代码工具https://www.webhub123.com/#/home/detail?projectHashid19072648&ownerUserid27786724 ​每个卡片为一个工具对应的网址&#xff0c;点击图片直达。可以点击右上…

用 ChatGPT 写代码,效率杠杠的!

来源&#xff1a;https://www.cnblogs.com/scy251147/p/17242557.html ChatGPT出来好久了&#xff0c;vscode上面由于集成了相关的插件&#xff0c;所以用起来很简单&#xff0c;经过本人深度使用后&#xff0c;发觉其能力的强大之处&#xff0c;在书写单元测试&#xff0c;书…

c#怎么使用ChatGPT 写代码

ChatGPT 是一个基于 GPT-3 的自然语言生成模型&#xff0c;它可以理解自然语言描述&#xff0c;并生成对应的文本响应。虽然 ChatGPT 并不是一个专门用于编写代码的工具&#xff0c;但可以通过以下方式辅助编写 C# 代码&#xff1a; 提供语法帮助&#xff1a;可以向 ChatGPT 提…

挑战利用ChatGPT写代码,真的能成功吗?

使用姿势 1. 由于ChatGPT的注册门槛较高&#xff0c;国内很多网站都是付费的或者有各种限制&#xff01;我在【多御浏览器】中使用&#xff0c;无需注册就能免费体验ChatGPT。 2. 使用ChatGPT4 我的问题有些口水文&#xff0c;但是它依然能懂&#xff01; 设计一个表&#xff0…

零基础也能用ChatGPT写代码,简直不要太爽

最近朋友圈刷到最多的动态和话题都是围绕ChatGPT的&#xff0c;作为一个功能强大&#xff0c;用途广泛的聊天机器人&#xff0c;我们能用它做的事情太多了。比如用它写文案&#xff0c;写剧本&#xff0c;规划旅游路线&#xff0c;甚至写小说等等。在本文中&#xff0c;我们将探…

用ChatGPT写代码学物联网,10分钟模拟设备并查看数据

ChatGPT是时下火热的AI自然语言引擎&#xff0c;啥都知道啥都会&#xff0c;今天咱们就使用ChatGPT来写一段python代码&#xff0c;模拟一个温湿度传感器&#xff0c;持续的给服务器发数据&#xff0c;并在物联网管理软件ThingsPanel上显示数据。 我们的工作分为两个部分&…